summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2024-03-11 12:34:08 +0100
committerTor Egge <Tor.Egge@online.no>2024-03-11 12:34:08 +0100
commit0520e5bb63008b3a61e9685c6ac34a6d5a9096d9 (patch)
treefcc947a36e7620f583c1921dfaecb82cd0f1925d
parent8e288413b5a3b77daa6de4245d1c690a1b557fa0 (diff)
Rewrite messagebus advanced routing unit test to gtest.
-rw-r--r--messagebus/src/tests/advancedrouting/CMakeLists.txt1
-rw-r--r--messagebus/src/tests/advancedrouting/advancedrouting.cpp76
2 files changed, 31 insertions, 46 deletions
diff --git a/messagebus/src/tests/advancedrouting/CMakeLists.txt b/messagebus/src/tests/advancedrouting/CMakeLists.txt
index dc4013b833f..ca2d3e4bba0 100644
--- a/messagebus/src/tests/advancedrouting/CMakeLists.txt
+++ b/messagebus/src/tests/advancedrouting/CMakeLists.txt
@@ -5,5 +5,6 @@ vespa_add_executable(messagebus_advancedrouting_test_app TEST
DEPENDS
messagebus_messagebus-test
messagebus
+ GTest::gtest
)
vespa_add_test(NAME messagebus_advancedrouting_test_app COMMAND messagebus_advancedrouting_test_app)
diff --git a/messagebus/src/tests/advancedrouting/advancedrouting.cpp b/messagebus/src/tests/advancedrouting/advancedrouting.cpp
index ce4a13d435a..4415674986e 100644
--- a/messagebus/src/tests/advancedrouting/advancedrouting.cpp
+++ b/messagebus/src/tests/advancedrouting/advancedrouting.cpp
@@ -5,14 +5,16 @@
#include <vespa/messagebus/testlib/simplemessage.h>
#include <vespa/messagebus/testlib/slobrok.h>
#include <vespa/messagebus/testlib/testserver.h>
-#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/vespalib/util/stringfmt.h>
#include <vespa/messagebus/emptyreply.h>
#include <vespa/messagebus/errorcode.h>
#include <vespa/messagebus/routing/retrytransienterrorspolicy.h>
+#include <vespa/vespalib/gtest/gtest.h>
using namespace mbus;
+namespace {
+
class TestData {
public:
Slobrok _slobrok;
@@ -34,38 +36,27 @@ public:
bool start();
};
-class Test : public vespalib::TestApp {
-private:
- Message::UP createMessage(const string &msg);
- bool testTrace(const std::vector<string> &expected, const Trace &trace);
-
-public:
- int Main() override;
- void testAdvanced(TestData &data);
-};
-
-TEST_APPHOOK(Test);
-
-TestData::~TestData() = default;
-TestData::TestData() :
- _slobrok(),
- _retryPolicy(std::make_shared<RetryTransientErrorsPolicy>()),
- _srcServer(MessageBusParams().setRetryPolicy(_retryPolicy).addProtocol(std::make_shared<SimpleProtocol>()),
- RPCNetworkParams(_slobrok.config())),
- _srcSession(),
- _srcHandler(),
- _dstServer(MessageBusParams().addProtocol(std::make_shared<SimpleProtocol>()),
- RPCNetworkParams(_slobrok.config()).setIdentity(Identity("dst"))),
- _fooSession(),
- _fooHandler(),
- _barSession(),
- _barHandler(),
- _bazSession(),
- _bazHandler()
+TestData::TestData()
+ : _slobrok(),
+ _retryPolicy(std::make_shared<RetryTransientErrorsPolicy>()),
+ _srcServer(MessageBusParams().setRetryPolicy(_retryPolicy).addProtocol(std::make_shared<SimpleProtocol>()),
+ RPCNetworkParams(_slobrok.config())),
+ _srcSession(),
+ _srcHandler(),
+ _dstServer(MessageBusParams().addProtocol(std::make_shared<SimpleProtocol>()),
+ RPCNetworkParams(_slobrok.config()).setIdentity(Identity("dst"))),
+ _fooSession(),
+ _fooHandler(),
+ _barSession(),
+ _barHandler(),
+ _bazSession(),
+ _bazHandler()
{
_retryPolicy->setBaseDelay(0);
}
+TestData::~TestData() = default;
+
bool
TestData::start()
{
@@ -91,30 +82,21 @@ TestData::start()
return true;
}
-Message::UP
-Test::createMessage(const string &msg)
+std::unique_ptr<Message>
+createMessage(const string &msg)
{
auto ret = std::make_unique<SimpleMessage>(msg);
ret->getTrace().setLevel(9);
return ret;
}
-int
-Test::Main()
-{
- TEST_INIT("routing_test");
+}
+TEST(AdvancedRoutingTest, test_advanced)
+{
TestData data;
ASSERT_TRUE(data.start());
- testAdvanced(data); TEST_FLUSH();
-
- TEST_DONE();
-}
-
-void
-Test::testAdvanced(TestData &data)
-{
const duration TIMEOUT = 60s;
IProtocol::SP protocol(new SimpleProtocol());
auto &simple = dynamic_cast<SimpleProtocol&>(*protocol);
@@ -174,7 +156,9 @@ Test::testAdvanced(TestData &data)
reply = data._srcHandler.getReply();
ASSERT_TRUE(reply);
printf("%s", reply->getTrace().toString().c_str());
- EXPECT_EQUAL(2u, reply->getNumErrors());
- EXPECT_EQUAL((uint32_t)ErrorCode::FATAL_ERROR, reply->getError(0).getCode());
- EXPECT_EQUAL((uint32_t)ErrorCode::NO_ADDRESS_FOR_SERVICE, reply->getError(1).getCode());
+ EXPECT_EQ(2u, reply->getNumErrors());
+ EXPECT_EQ((uint32_t)ErrorCode::FATAL_ERROR, reply->getError(0).getCode());
+ EXPECT_EQ((uint32_t)ErrorCode::NO_ADDRESS_FOR_SERVICE, reply->getError(1).getCode());
}
+
+GTEST_MAIN_RUN_ALL_TESTS()