diff options
author | Tor Brede Vekterli <vekterli@verizonmedia.com> | 2020-01-16 15:26:25 +0000 |
---|---|---|
committer | Tor Brede Vekterli <vekterli@verizonmedia.com> | 2020-01-16 15:26:25 +0000 |
commit | b9b0cf87f7335fed7af9854a2f1a63617c29451a (patch) | |
tree | 4f02618e0007c1addcb902d0f711b3f3f5870391 /storageapi/src/tests/mbusprot | |
parent | da4d428fe674978239d816e4da768e592c188dbc (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.cpp | 22 |
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); |