summaryrefslogtreecommitdiffstats
path: root/storage/src/tests/distributor/statoperationtest.cpp
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@verizonmedia.com>2019-06-21 14:32:05 +0000
committerTor Brede Vekterli <vekterli@verizonmedia.com>2019-06-25 11:08:43 +0000
commit0ec1dddb0e75c235edfc68d72f4471ad186c3399 (patch)
tree254cdda75b06c8453a207933a8d556c1db90b997 /storage/src/tests/distributor/statoperationtest.cpp
parenta0d854b6a3fab6fe44b1164c071fc994b331c3bc (diff)
Convert remaining CppUnit tests to GTest
Move base message sender stub out to common test module to avoid artificial dependency from persistence tests to the distributor tests.
Diffstat (limited to 'storage/src/tests/distributor/statoperationtest.cpp')
-rw-r--r--storage/src/tests/distributor/statoperationtest.cpp97
1 files changed, 36 insertions, 61 deletions
diff --git a/storage/src/tests/distributor/statoperationtest.cpp b/storage/src/tests/distributor/statoperationtest.cpp
index 19337a0d52a..53ea0ec5efa 100644
--- a/storage/src/tests/distributor/statoperationtest.cpp
+++ b/storage/src/tests/distributor/statoperationtest.cpp
@@ -2,82 +2,63 @@
#include <tests/common/dummystoragelink.h>
#include <vespa/storageapi/message/stat.h>
-#include <vespa/vdstestlib/cppunit/macros.h>
#include <tests/distributor/distributortestutil.h>
#include <vespa/document/test/make_document_bucket.h>
#include <vespa/storage/distributor/operations/external/statbucketoperation.h>
#include <vespa/storage/distributor/operations/external/statbucketlistoperation.h>
#include <vespa/storage/distributor/distributor.h>
#include <vespa/storage/distributor/distributor_bucket_space.h>
+#include <vespa/vespalib/gtest/gtest.h>
+#include <gmock/gmock.h>
using document::test::makeDocumentBucket;
+using namespace ::testing;
-namespace storage {
-namespace distributor {
+namespace storage::distributor {
-struct StatOperationTest : public CppUnit::TestFixture,
- public DistributorTestUtil
-{
- void setUp() override {
+struct StatOperationTest : Test, DistributorTestUtil {
+ void SetUp() override {
createLinks();
};
- void tearDown() override {
+ void TearDown() override {
close();
}
-
- void testBucketInfo();
- void testBucketList();
-
- CPPUNIT_TEST_SUITE(StatOperationTest);
- CPPUNIT_TEST(testBucketInfo);
- CPPUNIT_TEST(testBucketList);
- CPPUNIT_TEST_SUITE_END();
};
-CPPUNIT_TEST_SUITE_REGISTRATION(StatOperationTest);
-
-void
-StatOperationTest::testBucketInfo()
-{
+TEST_F(StatOperationTest, bucket_info) {
enableDistributorClusterState("distributor:1 storage:2");
- addNodesToBucketDB(document::BucketId(16, 5),
- "0=4/2/100,1=4/2/100");
+ addNodesToBucketDB(document::BucketId(16, 5), "0=4/2/100,1=4/2/100");
StatBucketOperation op(
getExternalOperationHandler(),
getDistributorBucketSpace(),
- std::shared_ptr<api::StatBucketCommand>(
- new api::StatBucketCommand(makeDocumentBucket(document::BucketId(16, 5)), "")));
+ std::make_shared<api::StatBucketCommand>(
+ makeDocumentBucket(document::BucketId(16, 5)), ""));
op.start(_sender, framework::MilliSecTime(0));
- CPPUNIT_ASSERT_EQUAL(std::string("Statbucket => 0,Statbucket => 1"),
- _sender.getCommands(true));
+ ASSERT_EQ("Statbucket => 0,Statbucket => 1", _sender.getCommands(true));
{
- api::StatBucketCommand* tmp(
- static_cast<api::StatBucketCommand*>(_sender.commands[0].get()));
- api::StatBucketReply* reply = new api::StatBucketReply(*tmp, "foo");
- op.receive(_sender, std::shared_ptr<api::StorageReply>(reply));
+ auto* tmp = static_cast<api::StatBucketCommand*>(_sender.command(0).get());
+ auto reply = std::make_shared<api::StatBucketReply>(*tmp, "foo");
+ op.receive(_sender, reply);
}
{
- api::StatBucketCommand* tmp(
- static_cast<api::StatBucketCommand*>(_sender.commands[1].get()));
- api::StatBucketReply* reply = new api::StatBucketReply(*tmp, "bar");
- op.receive(_sender, std::shared_ptr<api::StorageReply>(reply));
+ auto* tmp = static_cast<api::StatBucketCommand*>(_sender.command(1).get());
+ auto reply = std::make_shared<api::StatBucketReply>(*tmp, "bar");
+ op.receive(_sender, reply);
}
- api::StatBucketReply* replyback(
- static_cast<api::StatBucketReply*>(_sender.replies.back().get()));
- CPPUNIT_ASSERT_CONTAIN("foo", replyback->getResults());
- CPPUNIT_ASSERT_CONTAIN("bar", replyback->getResults());
+ auto* replyback = static_cast<api::StatBucketReply*>(_sender.replies().back().get());
+ EXPECT_THAT(replyback->getResults(), HasSubstr("foo"));
+ EXPECT_THAT(replyback->getResults(), HasSubstr("bar"));
}
-void
-StatOperationTest::testBucketList() {
+TEST_F(StatOperationTest, bucket_list) {
setupDistributor(2, 2, "distributor:1 storage:2");
getConfig().setSplitCount(10);
@@ -88,8 +69,7 @@ StatOperationTest::testBucketList() {
0xff, 100, 200, true, (i == 1));
}
- std::shared_ptr<api::GetBucketListCommand> msg(
- new api::GetBucketListCommand(makeDocumentBucket(document::BucketId(16, 5))));
+ auto msg = std::make_shared<api::GetBucketListCommand>(makeDocumentBucket(document::BucketId(16, 5)));
StatBucketListOperation op(
getDistributorBucketSpace().getBucketDatabase(),
@@ -98,23 +78,18 @@ StatOperationTest::testBucketList() {
msg);
op.start(_sender, framework::MilliSecTime(0));
- CPPUNIT_ASSERT_EQUAL(1, (int)_sender.replies.size());
-
- api::GetBucketListReply* repl(
- dynamic_cast<api::GetBucketListReply*>(_sender.replies[0].get()));
-
- CPPUNIT_ASSERT_EQUAL(1, (int)repl->getBuckets().size());
- CPPUNIT_ASSERT_EQUAL(document::BucketId(16, 5),
- repl->getBuckets()[0]._bucket);
- CPPUNIT_ASSERT_EQUAL(
- vespalib::string(
- "[distributor:0] split: "
- "[Splitting bucket because its maximum size (200 b, 100 docs, 100 meta, 200 b total) "
- "is higher than the configured limit of (100, 10)] "
- "[node(idx=0,crc=0xff,docs=100/100,bytes=200/200,trusted=true,active=false,ready=false), "
- "node(idx=1,crc=0xff,docs=100/100,bytes=200/200,trusted=true,active=true,ready=false)]"),
- repl->getBuckets()[0]._bucketInformation);
+ ASSERT_EQ(1, _sender.replies().size());
+
+ auto& repl = dynamic_cast<api::GetBucketListReply&>(*_sender.reply(0));
+
+ ASSERT_EQ(1, repl.getBuckets().size());
+ EXPECT_EQ(repl.getBuckets()[0]._bucket, document::BucketId(16, 5));
+ EXPECT_EQ("[distributor:0] split: "
+ "[Splitting bucket because its maximum size (200 b, 100 docs, 100 meta, 200 b total) "
+ "is higher than the configured limit of (100, 10)] "
+ "[node(idx=0,crc=0xff,docs=100/100,bytes=200/200,trusted=true,active=false,ready=false), "
+ "node(idx=1,crc=0xff,docs=100/100,bytes=200/200,trusted=true,active=true,ready=false)]",
+ repl.getBuckets()[0]._bucketInformation);
}
-} // distributor
-} // storage
+} // storage::distributor