diff options
Diffstat (limited to 'storage/src/tests/distributor/garbagecollectiontest.cpp')
-rw-r--r-- | storage/src/tests/distributor/garbagecollectiontest.cpp | 59 |
1 files changed, 21 insertions, 38 deletions
diff --git a/storage/src/tests/distributor/garbagecollectiontest.cpp b/storage/src/tests/distributor/garbagecollectiontest.cpp index e2a6bb84065..122a1452632 100644 --- a/storage/src/tests/distributor/garbagecollectiontest.cpp +++ b/storage/src/tests/distributor/garbagecollectiontest.cpp @@ -1,42 +1,29 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <cppunit/extensions/HelperMacros.h> #include <vespa/storageapi/message/removelocation.h> #include <vespa/storage/distributor/operations/idealstate/garbagecollectionoperation.h> #include <vespa/storage/distributor/idealstatemanager.h> #include <tests/distributor/distributortestutil.h> #include <vespa/storage/distributor/distributor.h> #include <vespa/document/test/make_document_bucket.h> +#include <vespa/vespalib/gtest/gtest.h> using document::test::makeDocumentBucket; +using namespace ::testing; -namespace storage { -namespace distributor { +namespace storage::distributor { -class GarbageCollectionOperationTest : public CppUnit::TestFixture, public DistributorTestUtil -{ - CPPUNIT_TEST_SUITE(GarbageCollectionOperationTest); - CPPUNIT_TEST(testSimple); - CPPUNIT_TEST_SUITE_END(); - -protected: - void testSimple(); - -public: - void setUp() override { +struct GarbageCollectionOperationTest : Test, DistributorTestUtil { + void SetUp() override { createLinks(); }; - void tearDown() override { + void TearDown() override { close(); } }; -CPPUNIT_TEST_SUITE_REGISTRATION(GarbageCollectionOperationTest); - -void -GarbageCollectionOperationTest::testSimple() -{ +TEST_F(GarbageCollectionOperationTest, simple) { enableDistributorClusterState("distributor:1 storage:2"); addNodesToBucketDB(document::BucketId(16, 1), "0=250/50/300,1=250/50/300"); getConfig().setGarbageCollection("music.date < 34", 3600); @@ -48,34 +35,30 @@ GarbageCollectionOperationTest::testSimple() op.setIdealStateManager(&getIdealStateManager()); op.start(_sender, framework::MilliSecTime(0)); - CPPUNIT_ASSERT_EQUAL((size_t)2, _sender.commands.size()); + ASSERT_EQ(2, _sender.commands().size()); getClock().setAbsoluteTimeInSeconds(34); for (uint32_t i = 0; i < 2; ++i) { - std::shared_ptr<api::StorageCommand> msg = _sender.commands[i]; - CPPUNIT_ASSERT(msg->getType() == api::MessageType::REMOVELOCATION); + std::shared_ptr<api::StorageCommand> msg = _sender.command(i); + ASSERT_EQ(msg->getType(), api::MessageType::REMOVELOCATION); - api::RemoveLocationCommand* tmp = (api::RemoveLocationCommand*)msg.get(); - CPPUNIT_ASSERT_EQUAL(vespalib::string("music.date < 34"), - tmp->getDocumentSelection()); + auto& tmp = dynamic_cast<api::RemoveLocationCommand&>(*msg); + EXPECT_EQ("music.date < 34", tmp.getDocumentSelection()); - std::shared_ptr<api::StorageReply> reply(tmp->makeReply().release()); - api::RemoveLocationReply* sreply = (api::RemoveLocationReply*)reply.get(); - sreply->setBucketInfo(api::BucketInfo(666, 90, 500)); + std::shared_ptr<api::StorageReply> reply(tmp.makeReply()); + auto& sreply = dynamic_cast<api::RemoveLocationReply&>(*reply); + sreply.setBucketInfo(api::BucketInfo(666, 90, 500)); op.receive(_sender, reply); } BucketDatabase::Entry entry = getBucket(document::BucketId(16, 1)); - CPPUNIT_ASSERT(entry.valid()); - CPPUNIT_ASSERT_EQUAL(2, (int)entry->getNodeCount()); - CPPUNIT_ASSERT_EQUAL(34, (int)entry->getLastGarbageCollectionTime()); - CPPUNIT_ASSERT_EQUAL(api::BucketInfo(666, 90, 500), - entry->getNodeRef(0).getBucketInfo()); - CPPUNIT_ASSERT_EQUAL(api::BucketInfo(666, 90, 500), - entry->getNodeRef(1).getBucketInfo()); + ASSERT_TRUE(entry.valid()); + ASSERT_EQ(2, entry->getNodeCount()); + EXPECT_EQ(34, entry->getLastGarbageCollectionTime()); + EXPECT_EQ(api::BucketInfo(666, 90, 500), entry->getNodeRef(0).getBucketInfo()); + EXPECT_EQ(api::BucketInfo(666, 90, 500), entry->getNodeRef(1).getBucketInfo()); } -} // distributor -} // storage +} // storage::distributor |