aboutsummaryrefslogtreecommitdiffstats
path: root/documentapi/src/tests/messages/messages60test.cpp
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@oath.com>2018-01-26 15:35:25 +0000
committerGeir Storli <geirst@oath.com>2018-01-29 15:32:15 +0000
commitadaddade013ceaa3a93f180a6b6e7fc6c1194178 (patch)
tree04c572bf1076f45d55670c2e8b6b33a1ff545404 /documentapi/src/tests/messages/messages60test.cpp
parent807fc0fbc1134aa4ab9433b193824e0291fd9ff1 (diff)
More work on StatBucket and GetBucketList codecs and tests
Diffstat (limited to 'documentapi/src/tests/messages/messages60test.cpp')
-rw-r--r--documentapi/src/tests/messages/messages60test.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/documentapi/src/tests/messages/messages60test.cpp b/documentapi/src/tests/messages/messages60test.cpp
index d26f1ef319f..e553744452b 100644
--- a/documentapi/src/tests/messages/messages60test.cpp
+++ b/documentapi/src/tests/messages/messages60test.cpp
@@ -9,6 +9,8 @@ Messages60Test::Messages60Test() {
// This list MUST mirror the list of routable factories from the DocumentProtocol constructor that support
// version 6.x. When adding tests to this list, please KEEP THEM ORDERED alphabetically like they are now.
putTest(DocumentProtocol::MESSAGE_CREATEVISITOR, TEST_METHOD(Messages60Test::testCreateVisitorMessage));
+ putTest(DocumentProtocol::MESSAGE_STATBUCKET, TEST_METHOD(Messages60Test::testStatBucketMessage));
+ putTest(DocumentProtocol::MESSAGE_GETBUCKETLIST, TEST_METHOD(Messages60Test::testGetBucketListMessage));
}
// TODO code dupe with parent classes
@@ -51,4 +53,41 @@ bool Messages60Test::testCreateVisitorMessage() {
}
}
return true;
+}
+
+bool Messages60Test::testStatBucketMessage() {
+ StatBucketMessage msg(document::BucketId(16, 123), "id.user=123");
+ msg.setBucketSpace("andrei");
+
+ EXPECT_EQUAL(MESSAGE_BASE_LENGTH + 27u + serializedLength("andrei"), serialize("StatBucketMessage", msg));
+
+ for (uint32_t lang = 0; lang < NUM_LANGUAGES; ++lang) {
+ mbus::Routable::UP obj = deserialize("StatBucketMessage", DocumentProtocol::MESSAGE_STATBUCKET, lang);
+ if (EXPECT_TRUE(obj.get() != NULL)) {
+ StatBucketMessage &ref = static_cast<StatBucketMessage&>(*obj);
+ EXPECT_EQUAL(document::BucketId(16, 123), ref.getBucketId());
+ EXPECT_EQUAL("id.user=123", ref.getDocumentSelection());
+ EXPECT_EQUAL("andrei", ref.getBucketSpace());
+ }
+ }
+ return true;
+}
+
+bool Messages60Test::testGetBucketListMessage() {
+ GetBucketListMessage msg(document::BucketId(16, 123));
+ msg.setLoadType(_loadTypes["foo"]);
+ msg.setBucketSpace("beartato");
+ EXPECT_EQUAL(string("foo"), msg.getLoadType().getName());
+ EXPECT_EQUAL(MESSAGE_BASE_LENGTH + 12u + serializedLength("beartato"), serialize("GetBucketListMessage", msg));
+
+ for (uint32_t lang = 0; lang < NUM_LANGUAGES; ++lang) {
+ mbus::Routable::UP obj = deserialize("GetBucketListMessage", DocumentProtocol::MESSAGE_GETBUCKETLIST, lang);
+ if (EXPECT_TRUE(obj.get() != NULL)) {
+ GetBucketListMessage &ref = static_cast<GetBucketListMessage&>(*obj);
+ EXPECT_EQUAL(string("foo"), ref.getLoadType().getName());
+ EXPECT_EQUAL(document::BucketId(16, 123), ref.getBucketId());
+ EXPECT_EQUAL("beartato", ref.getBucketSpace());
+ }
+ }
+ return true;
} \ No newline at end of file