use of com.coreos.jetcd.api.RangeResponse in project jetcd by coreos.
the class KVTest method testDelete.
@Test(dependsOnMethods = "testPut")
public void testDelete() throws Exception {
ByteString keyToDelete = ByteString.copyFrom("sample_key", "UTF-8");
try {
// count keys about to delete
ListenableFuture<RangeResponse> getFeature = kvClient.get(keyToDelete);
RangeResponse resp = getFeature.get();
// delete the keys
ListenableFuture<DeleteRangeResponse> deleteFuture = kvClient.delete(keyToDelete);
DeleteRangeResponse delResp = deleteFuture.get();
test.assertEquals(resp.getKvsList().size(), delResp.getDeleted());
} catch (Exception e) {
// empty
}
}
use of com.coreos.jetcd.api.RangeResponse in project jetcd by coreos.
the class KVTest method testTxn.
@Test
public void testTxn() throws Exception {
ByteString sampleKey = ByteString.copyFrom("txn_key", "UTF-8");
ByteString sampleValue = ByteString.copyFrom("xyz", "UTF-8");
ByteString cmpValue = ByteString.copyFrom("abc", "UTF-8");
ByteString putValue = ByteString.copyFrom("XYZ", "UTF-8");
ByteString putValueNew = ByteString.copyFrom("ABC", "UTF-8");
ListenableFuture<PutResponse> feature = kvClient.put(sampleKey, sampleValue);
try {
// put the original txn key value pair
PutResponse putResp = feature.get();
// construct txn operation
Cmp cmp = new Cmp(sampleKey, Cmp.Op.GREATER, CmpTarget.value(cmpValue));
Txn txn = Txn.newBuilder().If(cmp).Then(Op.put(sampleKey, putValue, PutOption.DEFAULT)).Else(Op.put(sampleKey, putValueNew, PutOption.DEFAULT)).build();
ListenableFuture<TxnResponse> txnResp = kvClient.commit(txn);
txnResp.get();
// get the value
RangeResponse getResp = kvClient.get(sampleKey).get();
test.assertEquals(getResp.getKvsList().size(), 1);
test.assertEquals(getResp.getKvs(0).getValue().toStringUtf8(), "XYZ");
} catch (Exception e) {
// empty
}
}
use of com.coreos.jetcd.api.RangeResponse in project jetcd by coreos.
the class AuthClientTest method testKVWithAuth.
/**
* put and range with auth client
*/
@Test(groups = "testAuth", dependsOnGroups = "authEnable", priority = 1)
public void testKVWithAuth() throws ExecutionException, InterruptedException {
Throwable err = null;
try {
this.secureClient.getKVClient().put(testKey, testName).get();
RangeResponse rangeResponse = this.secureClient.getKVClient().get(testKey).get();
this.test.assertTrue(rangeResponse.getCount() != 0 && rangeResponse.getKvs(0).getValue().equals(testName));
} catch (StatusRuntimeException sre) {
err = sre;
}
this.test.assertNull(err, "KV put range test with auth");
}
use of com.coreos.jetcd.api.RangeResponse in project jetcd by coreos.
the class KVTest method testGetAndDeleteWithPrefix.
@Test
public void testGetAndDeleteWithPrefix() throws Exception {
String prefix = randomString();
ByteString key = ByteString.copyFromUtf8(prefix);
int numPrefixes = 10;
putKeysWithPrefix(prefix, numPrefixes);
// verify get withPrefix.
ListenableFuture<RangeResponse> getFuture = kvClient.get(key, GetOption.newBuilder().withPrefix(key).build());
RangeResponse getResp = getFuture.get();
test.assertEquals(getResp.getCount(), numPrefixes);
// verify del withPrefix.
DeleteOption deleteOpt = DeleteOption.newBuilder().withPrefix(key).build();
ListenableFuture<DeleteRangeResponse> delFuture = kvClient.delete(key, deleteOpt);
DeleteRangeResponse delResp = delFuture.get();
test.assertEquals(delResp.getDeleted(), numPrefixes);
}
use of com.coreos.jetcd.api.RangeResponse in project jetcd by coreos.
the class KVTest method testGet.
@Test
public void testGet() throws Exception {
ByteString sampleKey = ByteString.copyFrom("sample_key2", "UTF-8");
ByteString sampleValue = ByteString.copyFrom("sample_value2", "UTF-8");
ListenableFuture<PutResponse> feature = kvClient.put(sampleKey, sampleValue);
try {
feature.get();
ListenableFuture<RangeResponse> getFeature = kvClient.get(sampleKey);
RangeResponse response = getFeature.get();
test.assertEquals(response.getKvsCount(), 1);
test.assertEquals(response.getKvs(0).getValue().toStringUtf8(), "sample_value2");
test.assertTrue(!response.getMore());
} catch (Exception e) {
// empty
}
}
Aggregations