diff options
author | Geir Storli <geirst@verizonmedia.com> | 2019-05-09 15:13:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-09 15:13:25 +0200 |
commit | b15422b415f6bb29c55d217d631a421d3c3c862f (patch) | |
tree | 006af8076e9c7f46d6adfacfdc09e10bbb1dc31a /logd/src/tests/empty_forwarder/empty_forwarder_test.cpp | |
parent | 54e9c858d1aa62dbcb97dcb2743e79d03d784334 (diff) | |
parent | 46885b2f72030a887c2787858929c8ed088fdaaf (diff) |
Merge pull request #9342 from vespa-engine/geirst/remove-legacy-protocol-between-logd-and-logserver
Remove the legacy protocol between logd and logserver.
Diffstat (limited to 'logd/src/tests/empty_forwarder/empty_forwarder_test.cpp')
-rw-r--r-- | logd/src/tests/empty_forwarder/empty_forwarder_test.cpp | 59 |
1 files changed, 59 insertions, 0 deletions
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() |