aboutsummaryrefslogtreecommitdiffstats
path: root/storage/src/tests
diff options
context:
space:
mode:
authorGeir Storli <geirst@oath.com>2017-11-21 12:17:50 +0000
committerGeir Storli <geirst@oath.com>2017-11-22 12:09:09 +0000
commit914820e8fb2aa280d839fe5a76849d8a21d2d791 (patch)
tree7070cdf6ed39f8d33648f36c16194d09811123f6 /storage/src/tests
parent9f9e7e5f9b2b9b28c3bba4bdc2f185db7dc071da (diff)
Add named bucket space to CreateVisitorMessage.
Diffstat (limited to 'storage/src/tests')
-rw-r--r--storage/src/tests/storageserver/documentapiconvertertest.cpp31
1 files changed, 29 insertions, 2 deletions
diff --git a/storage/src/tests/storageserver/documentapiconvertertest.cpp b/storage/src/tests/storageserver/documentapiconvertertest.cpp
index 7467bae0c41..f43f37714bc 100644
--- a/storage/src/tests/storageserver/documentapiconvertertest.cpp
+++ b/storage/src/tests/storageserver/documentapiconvertertest.cpp
@@ -30,7 +30,8 @@ using document::test::makeDocumentBucket;
namespace storage {
DocumentId defaultDocId("id:test:text/html::0");
-const Bucket defaultBucket(BucketSpace(5), BucketId(0));
+const BucketSpace defaultBucketSpace(5);
+const Bucket defaultBucket(defaultBucketSpace, BucketId(0));
struct MockBucketResolver : public BucketResolver {
virtual Bucket bucketFromId(const DocumentId &documentId) const override {
@@ -39,6 +40,18 @@ struct MockBucketResolver : public BucketResolver {
}
return Bucket(BucketSpace(0), BucketId(0));
}
+ virtual BucketSpace bucketSpaceFromName(const vespalib::string &bucketSpace) const override {
+ if (bucketSpace == "myspace") {
+ return defaultBucketSpace;
+ }
+ return BucketSpace(0);
+ }
+ virtual vespalib::string nameFromBucketSpace(const document::BucketSpace &bucketSpace) const override {
+ if (bucketSpace == defaultBucketSpace) {
+ return "myspace";
+ }
+ return "";
+ }
};
struct DocumentApiConverterTest : public CppUnit::TestFixture
@@ -60,6 +73,15 @@ struct DocumentApiConverterTest : public CppUnit::TestFixture
_converter.reset(new DocumentApiConverter("raw:", _bucketResolver));
};
+ template <typename T>
+ std::unique_ptr<T> toDocumentAPI(api::StorageCommand &cmd) {
+ auto result = _converter->toDocumentAPI(cmd, _repo);
+ auto ptr = dynamic_cast<T*>(result.get());
+ CPPUNIT_ASSERT(ptr);
+ result.release();
+ return std::unique_ptr<T>(ptr);
+ }
+
void testPut();
void testForwardedPut();
void testUpdate();
@@ -214,9 +236,11 @@ void DocumentApiConverterTest::testGet()
void DocumentApiConverterTest::testCreateVisitor()
{
documentapi::CreateVisitorMessage cv("mylib", "myinstance", "control-dest", "data-dest");
-
+ cv.setBucketSpace("myspace");
cv.setTimeRemaining(123456);
+
std::unique_ptr<storage::api::StorageCommand> cmd = _converter->toStorageAPI(cv, _repo);
+ CPPUNIT_ASSERT_EQUAL(defaultBucketSpace, cmd->getBucket().getBucketSpace());
api::CreateVisitorCommand* pc = dynamic_cast<api::CreateVisitorCommand*>(cmd.get());
CPPUNIT_ASSERT(pc);
@@ -225,6 +249,9 @@ void DocumentApiConverterTest::testCreateVisitor()
CPPUNIT_ASSERT_EQUAL(vespalib::string("control-dest"), pc->getControlDestination());
CPPUNIT_ASSERT_EQUAL(vespalib::string("data-dest"), pc->getDataDestination());
CPPUNIT_ASSERT_EQUAL(123456u, pc->getTimeout());
+
+ auto msg = toDocumentAPI<documentapi::CreateVisitorMessage>(*cmd);
+ CPPUNIT_ASSERT_EQUAL(vespalib::string("myspace"), msg->getBucketSpace());
}
void DocumentApiConverterTest::testCreateVisitorHighTimeout()