diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 12:34:54 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 12:34:54 +0000 |
commit | 0915b3ef56dfac3113cce55a59a5765dc94976be (patch) | |
tree | a8fea11d50b4f083e1bf0f90025ece7f0824784a /test/livestatus-fixture.cpp | |
parent | Initial commit. (diff) | |
download | icinga2-upstream.tar.xz icinga2-upstream.zip |
Adding upstream version 2.13.6.upstream/2.13.6upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | test/livestatus-fixture.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/test/livestatus-fixture.cpp b/test/livestatus-fixture.cpp new file mode 100644 index 0000000..aaa0e07 --- /dev/null +++ b/test/livestatus-fixture.cpp @@ -0,0 +1,53 @@ +/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */ + +#include "config/configcompiler.hpp" +#include "config/configitem.hpp" +#include "base/application.hpp" +#include "base/loader.hpp" +#include "icingaapplication-fixture.hpp" +#include <BoostTestTargetConfig.h> + +using namespace icinga; + +struct LivestatusFixture +{ + LivestatusFixture() + { + // ensure IcingaApplication is initialized before we try to add config + IcingaApplicationFixture icinga; + + BOOST_TEST_MESSAGE("Preparing config objects..."); + + ConfigItem::RunWithActivationContext(new Function("CreateTestObjects", CreateTestObjects)); + } + + static void CreateTestObjects() + { + String config = R"CONFIG( +object CheckCommand "dummy" { + command = "/bin/echo" +} + +object Host "test-01" { + address = "127.0.0.1" + check_command = "dummy" +} + +object Host "test-02" { + address = "127.0.0.2" + check_command = "dummy" +} + +apply Service "livestatus" { + check_command = "dummy" + notes = "test livestatus" + assign where match("test-*", host.name) +} +)CONFIG"; + + std::unique_ptr<Expression> expr = ConfigCompiler::CompileText("<livestatus>", config); + expr->Evaluate(*ScriptFrame::GetCurrentFrame()); + } +}; + +BOOST_GLOBAL_FIXTURE(LivestatusFixture); |