@@ -1020,6 +1020,60 @@ Y_UNIT_TEST_SUITE(Etcd_KV) {
1020
1020
}
1021
1021
});
1022
1022
}
1023
+
1024
+ Y_UNIT_TEST (Compact) {
1025
+ MakeSimpleTest ([](const std::unique_ptr<etcdserverpb::KV::Stub> &etcd) {
1026
+ Put (" key0" , " value0" , etcd);
1027
+ Put (" key3" , " value1" , etcd);
1028
+ Put (" key2" , " value2" , etcd);
1029
+ Put (" key0" , " value3" , etcd);
1030
+ Put (" key1" , " value4" , etcd);
1031
+ Delete (" key2" , etcd);
1032
+ const auto revForCompact = Put (" key3" , " value5" , etcd);
1033
+ Delete (" key1" , etcd);
1034
+ const auto revForRequest = Put (" key3" , " value6" , etcd);
1035
+ Delete (" key0" , etcd);
1036
+ Delete (" key3" , etcd);
1037
+
1038
+ {
1039
+ grpc::ClientContext readRangeCtx;
1040
+ etcdserverpb::RangeRequest rangeRequest;
1041
+ rangeRequest.set_key (" key" );
1042
+ rangeRequest.set_range_end (" kez" );
1043
+ rangeRequest.set_keys_only (true );
1044
+ etcdserverpb::RangeResponse rangeResponse;
1045
+ UNIT_ASSERT (etcd->Range (&readRangeCtx, rangeRequest, &rangeResponse).ok ());
1046
+ UNIT_ASSERT_VALUES_EQUAL (rangeResponse.count (), 0LL );
1047
+ }
1048
+
1049
+ {
1050
+ grpc::ClientContext compactCtx;
1051
+ etcdserverpb::CompactionRequest compactionRequest;
1052
+ compactionRequest.set_revision (revForCompact);
1053
+ etcdserverpb::CompactionResponse compactionResponse;
1054
+ UNIT_ASSERT (etcd->Compact (&compactCtx, compactionRequest, &compactionResponse).ok ());
1055
+ }
1056
+
1057
+ {
1058
+ grpc::ClientContext readRangeCtx;
1059
+ etcdserverpb::RangeRequest rangeRequest;
1060
+ rangeRequest.set_key (" key" );
1061
+ rangeRequest.set_range_end (" kez" );
1062
+ rangeRequest.set_revision (revForRequest);
1063
+ rangeRequest.set_sort_target (etcdserverpb::RangeRequest_SortTarget_VALUE);
1064
+ rangeRequest.set_sort_order (etcdserverpb::RangeRequest_SortOrder_ASCEND);
1065
+ etcdserverpb::RangeResponse rangeResponse;
1066
+ UNIT_ASSERT (etcd->Range (&readRangeCtx, rangeRequest, &rangeResponse).ok ());
1067
+ UNIT_ASSERT_VALUES_EQUAL (rangeResponse.count (), 2LL );
1068
+ UNIT_ASSERT_VALUES_EQUAL (rangeResponse.kvs ().size (), 2U );
1069
+ UNIT_ASSERT_VALUES_EQUAL (rangeResponse.kvs (0 ).key (), " key0" );
1070
+ UNIT_ASSERT_VALUES_EQUAL (rangeResponse.kvs (1 ).key (), " key3" );
1071
+ UNIT_ASSERT_VALUES_EQUAL (rangeResponse.kvs (0 ).value (), " value3" );
1072
+ UNIT_ASSERT_VALUES_EQUAL (rangeResponse.kvs (1 ).value (), " value6" );
1073
+ }
1074
+
1075
+ });
1076
+ }
1023
1077
} // Y_UNIT_TEST_SUITE(Etcd_KV)
1024
1078
1025
1079
Y_UNIT_TEST_SUITE (Etcd_Lease) {
0 commit comments