diff options
author | Tor Brede Vekterli <vekterli@oath.com> | 2018-01-26 15:35:25 +0000 |
---|---|---|
committer | Geir Storli <geirst@oath.com> | 2018-01-29 15:32:15 +0000 |
commit | adaddade013ceaa3a93f180a6b6e7fc6c1194178 (patch) | |
tree | 04c572bf1076f45d55670c2e8b6b33a1ff545404 /documentapi/src/tests | |
parent | 807fc0fbc1134aa4ab9433b193824e0291fd9ff1 (diff) |
More work on StatBucket and GetBucketList codecs and tests
Diffstat (limited to 'documentapi/src/tests')
-rw-r--r-- | documentapi/src/tests/messages/messages60test.cpp | 39 | ||||
-rw-r--r-- | documentapi/src/tests/messages/messages60test.h | 2 |
2 files changed, 41 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 diff --git a/documentapi/src/tests/messages/messages60test.h b/documentapi/src/tests/messages/messages60test.h index 5f36b9d3ace..c5ed2cc746c 100644 --- a/documentapi/src/tests/messages/messages60test.h +++ b/documentapi/src/tests/messages/messages60test.h @@ -10,4 +10,6 @@ protected: public: Messages60Test(); bool testCreateVisitorMessage(); + bool testStatBucketMessage(); + bool testGetBucketListMessage(); }; |