diff options
Diffstat (limited to 'test/icingaapplication-fixture.cpp')
-rw-r--r-- | test/icingaapplication-fixture.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/icingaapplication-fixture.cpp b/test/icingaapplication-fixture.cpp new file mode 100644 index 0000000..80fa4bf --- /dev/null +++ b/test/icingaapplication-fixture.cpp @@ -0,0 +1,32 @@ +/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */ + +#include "icingaapplication-fixture.hpp" + +using namespace icinga; + +static bool IcingaInitialized = false; + +IcingaApplicationFixture::IcingaApplicationFixture() +{ + if (!IcingaInitialized) + InitIcingaApplication(); +} + +void IcingaApplicationFixture::InitIcingaApplication() +{ + BOOST_TEST_MESSAGE("Initializing Application..."); + Application::InitializeBase(); + + BOOST_TEST_MESSAGE("Initializing IcingaApplication..."); + IcingaApplication::Ptr appInst = new IcingaApplication(); + static_pointer_cast<ConfigObject>(appInst)->OnConfigLoaded(); + + IcingaInitialized = true; +} + +IcingaApplicationFixture::~IcingaApplicationFixture() +{ + IcingaApplication::GetInstance().reset(); +} + +BOOST_GLOBAL_FIXTURE(IcingaApplicationFixture); |