aboutsummaryrefslogtreecommitdiffstats
path: root/messagebus/src/tests/routingcontext/routingcontext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'messagebus/src/tests/routingcontext/routingcontext.cpp')
-rw-r--r--messagebus/src/tests/routingcontext/routingcontext.cpp80
1 files changed, 35 insertions, 45 deletions
diff --git a/messagebus/src/tests/routingcontext/routingcontext.cpp b/messagebus/src/tests/routingcontext/routingcontext.cpp
index aba50156412..c21725a482e 100644
--- a/messagebus/src/tests/routingcontext/routingcontext.cpp
+++ b/messagebus/src/tests/routingcontext/routingcontext.cpp
@@ -59,7 +59,7 @@ private:
CustomPolicyFactory &_factory;
public:
- CustomPolicy(CustomPolicyFactory &factory);
+ explicit CustomPolicy(CustomPolicyFactory &factory);
void select(RoutingContext &ctx) override;
void merge(RoutingContext &ctx) override;
};
@@ -73,21 +73,19 @@ CustomPolicy::CustomPolicy(CustomPolicyFactory &factory) :
void
CustomPolicy::select(RoutingContext &ctx)
{
- Reply::UP reply(new EmptyReply());
+ auto reply = std::make_unique<EmptyReply>();
reply->getTrace().setLevel(9);
const std::vector<Route> &all = ctx.getAllRecipients();
if (_factory._expectedAll.size() == all.size()) {
ctx.trace(1, make_string("Got %d expected recipients.", (uint32_t)all.size()));
- for (std::vector<Route>::const_iterator it = all.begin();
- it != all.end(); ++it)
- {
- if (find(_factory._expectedAll.begin(), _factory._expectedAll.end(), it->toString()) != _factory._expectedAll.end()) {
- ctx.trace(1, make_string("Got expected recipient '%s'.", it->toString().c_str()));
+ for (const auto & it : all) {
+ if (find(_factory._expectedAll.begin(), _factory._expectedAll.end(), it.toString()) != _factory._expectedAll.end()) {
+ ctx.trace(1, make_string("Got expected recipient '%s'.", it.toString().c_str()));
} else {
reply->addError(Error(ErrorCode::APP_FATAL_ERROR,
make_string("Matched recipient '%s' not expected.",
- it->toString().c_str())));
+ it.toString().c_str())));
}
}
} else {
@@ -115,15 +113,12 @@ CustomPolicy::select(RoutingContext &ctx)
ctx.getMatchedRecipients(matched);
if (_factory._expectedMatched.size() == matched.size()) {
ctx.trace(1, make_string("Got %d expected recipients.", (uint32_t)matched.size()));
- for (std::vector<Route>::iterator it = matched.begin();
- it != matched.end(); ++it)
- {
- if (find(_factory._expectedMatched.begin(), _factory._expectedMatched.end(), it->toString()) != _factory._expectedMatched.end()) {
- ctx.trace(1, make_string("Got matched recipient '%s'.", it->toString().c_str()));
+ for (auto & it : matched) {
+ if (find(_factory._expectedMatched.begin(), _factory._expectedMatched.end(), it.toString()) != _factory._expectedMatched.end()) {
+ ctx.trace(1, make_string("Got matched recipient '%s'.", it.toString().c_str()));
} else {
reply->addError(Error(ErrorCode::APP_FATAL_ERROR,
- make_string("Matched recipient '%s' not expected.",
- it->toString().c_str())));
+ make_string("Matched recipient '%s' not expected.", it.toString().c_str())));
}
}
} else {
@@ -134,10 +129,8 @@ CustomPolicy::select(RoutingContext &ctx)
}
if (!reply->hasErrors() && _factory._forward) {
- for (std::vector<Route>::iterator it = matched.begin();
- it != matched.end(); ++it)
- {
- ctx.addChild(*it);
+ for (auto & it : matched) {
+ ctx.addChild(it);
}
} else {
ctx.setReply(std::move(reply));
@@ -258,7 +251,7 @@ TestData::start()
Message::UP
Test::createMessage(const string &msg)
{
- Message::UP ret(new SimpleMessage(msg));
+ auto ret = std::make_unique<SimpleMessage>(msg);
ret->getTrace().setLevel(9);
return ret;
}
@@ -289,22 +282,22 @@ void
Test::testSingleDirective(TestData &data)
{
IProtocol::SP protocol(new SimpleProtocol());
- SimpleProtocol &simple = static_cast<SimpleProtocol&>(*protocol);
+ auto &simple = dynamic_cast<SimpleProtocol&>(*protocol);
simple.addPolicyFactory("Custom", SimpleProtocol::IPolicyFactory::SP(new CustomPolicyFactory(
false,
StringList().add("foo").add("bar").add("baz/cox"),
StringList().add("foo").add("bar"))));
data._srcServer.mb.putProtocol(protocol);
data._srcServer.mb.setupRouting(RoutingSpec().addTable(RoutingTableSpec(SimpleProtocol::NAME)
- .addRoute(RouteSpec("myroute").addHop("myhop"))
- .addHop(HopSpec("myhop", "[Custom]")
+ .addRoute(std::move(RouteSpec("myroute").addHop("myhop")))
+ .addHop(std::move(HopSpec("myhop", "[Custom]")
.addRecipient("foo")
.addRecipient("bar")
- .addRecipient("baz/cox"))));
+ .addRecipient("baz/cox")))));
for (uint32_t i = 0; i < 2; ++i) {
EXPECT_TRUE(data._srcSession->send(createMessage("msg"), "myroute").isAccepted());
Reply::UP reply = data._srcHandler.getReply();
- ASSERT_TRUE(reply.get() != NULL);
+ ASSERT_TRUE(reply);
printf("%s", reply->getTrace().toString().c_str());
EXPECT_TRUE(!reply->hasErrors());
}
@@ -314,24 +307,24 @@ void
Test::testMoreDirectives(TestData &data)
{
IProtocol::SP protocol(new SimpleProtocol());
- SimpleProtocol &simple = static_cast<SimpleProtocol&>(*protocol);
+ auto &simple = dynamic_cast<SimpleProtocol&>(*protocol);
simple.addPolicyFactory("Custom", SimpleProtocol::IPolicyFactory::SP(new CustomPolicyFactory(
false,
StringList().add("foo").add("foo/bar").add("foo/bar0/baz").add("foo/bar1/baz").add("foo/bar/baz/cox"),
StringList().add("foo/bar0/baz").add("foo/bar1/baz"))));
data._srcServer.mb.putProtocol(protocol);
data._srcServer.mb.setupRouting(RoutingSpec().addTable(RoutingTableSpec(SimpleProtocol::NAME)
- .addRoute(RouteSpec("myroute").addHop("myhop"))
- .addHop(HopSpec("myhop", "foo/[Custom]/baz")
+ .addRoute(std::move(RouteSpec("myroute").addHop("myhop")))
+ .addHop(std::move(HopSpec("myhop", "foo/[Custom]/baz")
.addRecipient("foo")
.addRecipient("foo/bar")
.addRecipient("foo/bar0/baz")
.addRecipient("foo/bar1/baz")
- .addRecipient("foo/bar/baz/cox"))));
+ .addRecipient("foo/bar/baz/cox")))));
for (uint32_t i = 0; i < 2; ++i) {
EXPECT_TRUE(data._srcSession->send(createMessage("msg"), "myroute").isAccepted());
Reply::UP reply = data._srcHandler.getReply();
- ASSERT_TRUE(reply.get() != NULL);
+ ASSERT_TRUE(reply);
printf("%s", reply->getTrace().toString().c_str());
EXPECT_TRUE(!reply->hasErrors());
}
@@ -341,7 +334,7 @@ void
Test::testRecipientsRemain(TestData &data)
{
IProtocol::SP protocol(new SimpleProtocol());
- SimpleProtocol &simple = static_cast<SimpleProtocol&>(*protocol);
+ auto &simple = dynamic_cast<SimpleProtocol&>(*protocol);
simple.addPolicyFactory("First", SimpleProtocol::IPolicyFactory::SP(new CustomPolicyFactory(
true,
StringList().add("foo/bar"),
@@ -352,13 +345,13 @@ Test::testRecipientsRemain(TestData &data)
StringList().add("foo/bar"))));
data._srcServer.mb.putProtocol(protocol);
data._srcServer.mb.setupRouting(RoutingSpec().addTable(RoutingTableSpec(SimpleProtocol::NAME)
- .addRoute(RouteSpec("myroute").addHop("myhop"))
- .addHop(HopSpec("myhop", "[First]/[Second]")
- .addRecipient("foo/bar"))));
+ .addRoute(std::move(RouteSpec("myroute").addHop("myhop")))
+ .addHop(std::move(HopSpec("myhop", "[First]/[Second]")
+ .addRecipient("foo/bar")))));
for (uint32_t i = 0; i < 2; ++i) {
EXPECT_TRUE(data._srcSession->send(createMessage("msg"), "myroute").isAccepted());
Reply::UP reply = data._srcHandler.getReply();
- ASSERT_TRUE(reply.get() != NULL);
+ ASSERT_TRUE(reply);
printf("%s", reply->getTrace().toString().c_str());
EXPECT_TRUE(!reply->hasErrors());
}
@@ -367,25 +360,22 @@ Test::testRecipientsRemain(TestData &data)
void
Test::testConstRoute(TestData &data)
{
- IProtocol::SP protocol(new SimpleProtocol());
- SimpleProtocol &simple = static_cast<SimpleProtocol&>(*protocol);
+ auto protocol = std::make_shared<SimpleProtocol>();
+ auto &simple = dynamic_cast<SimpleProtocol&>(*protocol);
simple.addPolicyFactory("DocumentRouteSelector",
- SimpleProtocol::IPolicyFactory::SP(new CustomPolicyFactory(
- true,
- StringList().add("dst"),
- StringList().add("dst"))));
+ std::make_unique<CustomPolicyFactory>(true, StringList().add("dst"), StringList().add("dst")));
data._srcServer.mb.putProtocol(protocol);
data._srcServer.mb.setupRouting(RoutingSpec().addTable(RoutingTableSpec(SimpleProtocol::NAME)
- .addRoute(RouteSpec("default").addHop("indexing"))
- .addHop(HopSpec("indexing", "[DocumentRouteSelector]").addRecipient("dst"))
+ .addRoute(std::move(RouteSpec("default").addHop("indexing")))
+ .addHop(std::move(HopSpec("indexing", "[DocumentRouteSelector]").addRecipient("dst")))
.addHop(HopSpec("dst", "dst/session"))));
for (uint32_t i = 0; i < 2; ++i) {
EXPECT_TRUE(data._srcSession->send(createMessage("msg"), Route::parse("route:default")).isAccepted());
Message::UP msg = data._dstHandler.getMessage(TIMEOUT);
- ASSERT_TRUE(msg.get() != NULL);
+ ASSERT_TRUE(msg);
data._dstSession->acknowledge(std::move(msg));
Reply::UP reply = data._srcHandler.getReply();
- ASSERT_TRUE(reply.get() != NULL);
+ ASSERT_TRUE(reply);
printf("%s", reply->getTrace().toString().c_str());
EXPECT_TRUE(!reply->hasErrors());
}