summaryrefslogtreecommitdiffstats
path: root/storageapi/src/tests/mbusprot
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@verizonmedia.com>2020-01-16 15:26:25 +0000
committerTor Brede Vekterli <vekterli@verizonmedia.com>2020-01-16 15:26:25 +0000
commitb9b0cf87f7335fed7af9854a2f1a63617c29451a (patch)
tree4f02618e0007c1addcb902d0f711b3f3f5870391 /storageapi/src/tests/mbusprot
parentda4d428fe674978239d816e4da768e592c188dbc (diff)
Add internal read consistency enum to storage protocol Get requests
Diffstat (limited to 'storageapi/src/tests/mbusprot')
-rw-r--r--storageapi/src/tests/mbusprot/storageprotocoltest.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/storageapi/src/tests/mbusprot/storageprotocoltest.cpp b/storageapi/src/tests/mbusprot/storageprotocoltest.cpp
index dbd79e4fcca..2f959e40e2a 100644
--- a/storageapi/src/tests/mbusprot/storageprotocoltest.cpp
+++ b/storageapi/src/tests/mbusprot/storageprotocoltest.cpp
@@ -295,6 +295,28 @@ TEST_P(StorageProtocolTest, get) {
EXPECT_NO_FATAL_FAILURE(assert_bucket_info_reply_fields_propagated(*reply2));
}
+TEST_P(StorageProtocolTest, get_internal_read_consistency_is_strong_by_default) {
+ auto cmd = std::make_shared<GetCommand>(_bucket, _testDocId, "foo,bar,vekterli", 123);
+ EXPECT_EQ(cmd->internal_read_consistency(), InternalReadConsistency::Strong);
+ auto cmd2 = copyCommand(cmd);
+ EXPECT_EQ(cmd2->internal_read_consistency(), InternalReadConsistency::Strong);
+}
+
+TEST_P(StorageProtocolTest, can_set_internal_read_consistency_on_get_commands) {
+ // Only supported on protocol version 7+. Will default to Strong on older versions, which is what we want.
+ if (GetParam().getMajor() < 7) {
+ return;
+ }
+ auto cmd = std::make_shared<GetCommand>(_bucket, _testDocId, "foo,bar,vekterli", 123);
+ cmd->set_internal_read_consistency(InternalReadConsistency::Weak);
+ auto cmd2 = copyCommand(cmd);
+ EXPECT_EQ(cmd2->internal_read_consistency(), InternalReadConsistency::Weak);
+
+ cmd->set_internal_read_consistency(InternalReadConsistency::Strong);
+ cmd2 = copyCommand(cmd);
+ EXPECT_EQ(cmd2->internal_read_consistency(), InternalReadConsistency::Strong);
+}
+
TEST_P(StorageProtocolTest, remove) {
auto cmd = std::make_shared<RemoveCommand>(_bucket, _testDocId, 159);
auto cmd2 = copyCommand(cmd);