diff options
author | Geir Storli <geirst@verizonmedia.com> | 2019-05-09 11:54:17 +0000 |
---|---|---|
committer | Geir Storli <geirst@verizonmedia.com> | 2019-05-09 11:54:17 +0000 |
commit | 46885b2f72030a887c2787858929c8ed088fdaaf (patch) | |
tree | 0ddbd1f8466d86d750b50c0916fddab16040e269 /logd/src/tests/empty_forwarder | |
parent | 72db80647f7b9e6dab491dc6634b1bd477cf59cd (diff) |
Remove the legacy protocol between logd and logserver.
The RPC protocol has been the new default since 2019-04-12.
Diffstat (limited to 'logd/src/tests/empty_forwarder')
-rw-r--r-- | logd/src/tests/empty_forwarder/.gitignore | 3 | ||||
-rw-r--r-- | logd/src/tests/empty_forwarder/CMakeLists.txt | 9 | ||||
-rw-r--r-- | logd/src/tests/empty_forwarder/empty_forwarder_test.cpp | 59 |
3 files changed, 71 insertions, 0 deletions
diff --git a/logd/src/tests/empty_forwarder/.gitignore b/logd/src/tests/empty_forwarder/.gitignore new file mode 100644 index 00000000000..266a9726498 --- /dev/null +++ b/logd/src/tests/empty_forwarder/.gitignore @@ -0,0 +1,3 @@ +.depend +Makefile +logd_empty_forwarder_test_app diff --git a/logd/src/tests/empty_forwarder/CMakeLists.txt b/logd/src/tests/empty_forwarder/CMakeLists.txt new file mode 100644 index 00000000000..4c4ab8efa40 --- /dev/null +++ b/logd/src/tests/empty_forwarder/CMakeLists.txt @@ -0,0 +1,9 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +vespa_add_executable(logd_empty_forwarder_test_app TEST + SOURCES + empty_forwarder_test.cpp + DEPENDS + logd + gtest +) +vespa_add_test(NAME logd_empty_forwarder_test_app COMMAND logd_empty_forwarder_test_app) diff --git a/logd/src/tests/empty_forwarder/empty_forwarder_test.cpp b/logd/src/tests/empty_forwarder/empty_forwarder_test.cpp new file mode 100644 index 00000000000..d1194f30c40 --- /dev/null +++ b/logd/src/tests/empty_forwarder/empty_forwarder_test.cpp @@ -0,0 +1,59 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +#include <logd/empty_forwarder.h> +#include <logd/metrics.h> +#include <vespa/log/log.h> +#include <vespa/vespalib/metrics/dummy_metrics_manager.h> +#include <vespa/vespalib/gtest/gtest.h> + +using namespace logdemon; +using vespalib::metrics::DummyMetricsManager; + +struct MockMetricsManager : public DummyMetricsManager { + int add_count; + MockMetricsManager() : DummyMetricsManager(), add_count(0) {} + void add(Counter::Increment) override { + ++add_count; + } +}; + +std::string +make_log_line(const std::string& level, const std::string& payload) +{ + return "1234.5678\tmy_host\t10/20\tmy_service\tmy_component\t" + level + "\t" + payload; +} + +struct EmptyForwarderTest : public ::testing::Test { + std::shared_ptr<MockMetricsManager> metrics_mgr; + Metrics metrics; + EmptyForwarder forwarder; + + EmptyForwarderTest() + : metrics_mgr(std::make_shared<MockMetricsManager>()), + metrics(metrics_mgr), + forwarder(metrics) { + } + + void forward_line(const std::string &payload) { + forwarder.forwardLine(make_log_line("info", payload)); + } + void forward_bad_line() { + forwarder.forwardLine("badline"); + } +}; + +TEST_F(EmptyForwarderTest, bad_log_lines_are_counted) +{ + forward_bad_line(); + EXPECT_EQ(1, forwarder.badLines()); +} + +TEST_F(EmptyForwarderTest, metrics_are_updated_for_each_log_message) +{ + forward_line("a"); + EXPECT_EQ(1, metrics_mgr->add_count); + forward_line("b"); + EXPECT_EQ(2, metrics_mgr->add_count); +} + +GTEST_MAIN_RUN_ALL_TESTS() |