mirror of https://github.com/dapr/java-sdk.git
Increasing test coverage for DaprClientGrpcAdapter (#94)
This commit is contained in:
parent
80ed8bf0c1
commit
59762ab819
|
|
@ -506,6 +506,376 @@ public class DaprClientGrpcAdapterTest {
|
||||||
assertEquals(expectedState, result.block());
|
assertEquals(expectedState, result.block());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getStateObjectValueWithOptionsTest() throws IOException {
|
||||||
|
String etag = "ETag1";
|
||||||
|
String key = "key1";
|
||||||
|
MyObject expectedValue = new MyObject(1, "The Value");
|
||||||
|
StateKeyValue<MyObject> expectedState = buildStateKey(expectedValue, key, etag);
|
||||||
|
DaprProtos.GetStateResponseEnvelope responseEnvelope = DaprProtos.GetStateResponseEnvelope.newBuilder()
|
||||||
|
.setData(getAny(expectedValue))
|
||||||
|
.setEtag(etag)
|
||||||
|
.build();
|
||||||
|
StateKeyValue<MyObject> keyRequest = buildStateKey(null, key, etag);
|
||||||
|
StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE,
|
||||||
|
Duration.ofDays(100), 1, StateOptions.RetryPolicy.Pattern.LINEAR);
|
||||||
|
SettableFuture<DaprProtos.GetStateResponseEnvelope> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<DaprProtos.GetStateResponseEnvelope> callback = new MockCallback<>(responseEnvelope);
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.getState(any(io.dapr.DaprProtos.GetStateEnvelope.class)))
|
||||||
|
.thenReturn(settableFuture);
|
||||||
|
Mono<StateKeyValue<MyObject>> result = adater.getState(keyRequest, options, MyObject.class);
|
||||||
|
settableFuture.set(responseEnvelope);
|
||||||
|
assertEquals(expectedState, result.block());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getStateObjectValueWithOptionsNoConcurrencyTest() throws IOException {
|
||||||
|
String etag = "ETag1";
|
||||||
|
String key = "key1";
|
||||||
|
MyObject expectedValue = new MyObject(1, "The Value");
|
||||||
|
StateKeyValue<MyObject> expectedState = buildStateKey(expectedValue, key, etag);
|
||||||
|
DaprProtos.GetStateResponseEnvelope responseEnvelope = DaprProtos.GetStateResponseEnvelope.newBuilder()
|
||||||
|
.setData(getAny(expectedValue))
|
||||||
|
.setEtag(etag)
|
||||||
|
.build();
|
||||||
|
StateKeyValue<MyObject> keyRequest = buildStateKey(null, key, etag);
|
||||||
|
StateOptions options = new StateOptions(null, StateOptions.Concurrency.FIRST_WRITE,
|
||||||
|
new StateOptions.RetryPolicy(Duration.ofDays(100), 1, StateOptions.RetryPolicy.Pattern.LINEAR));
|
||||||
|
SettableFuture<DaprProtos.GetStateResponseEnvelope> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<DaprProtos.GetStateResponseEnvelope> callback = new MockCallback<>(responseEnvelope);
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.getState(any(io.dapr.DaprProtos.GetStateEnvelope.class)))
|
||||||
|
.thenReturn(settableFuture);
|
||||||
|
Mono<StateKeyValue<MyObject>> result = adater.getState(keyRequest, options, MyObject.class);
|
||||||
|
settableFuture.set(responseEnvelope);
|
||||||
|
assertEquals(expectedState, result.block());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expected = RuntimeException.class)
|
||||||
|
public void deleteStateExceptionThrowTest() {
|
||||||
|
when(client.deleteState(any(io.dapr.DaprProtos.DeleteStateEnvelope.class))).thenThrow(RuntimeException.class);
|
||||||
|
StateKeyValue<String> key = buildStateKey(null, "Key1", "ETag1");
|
||||||
|
Mono<Void> result = adater.deleteState(key, null);
|
||||||
|
result.block();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expected = RuntimeException.class)
|
||||||
|
public void deleteStateCallbackExcpetionThrownTest() {
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
RuntimeException ex = new RuntimeException("An Exception");
|
||||||
|
MockCallback<Empty> callback =
|
||||||
|
new MockCallback<Empty>(ex);
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.deleteState(any(io.dapr.DaprProtos.DeleteStateEnvelope.class)))
|
||||||
|
.thenReturn(settableFuture);
|
||||||
|
StateKeyValue<String> key = buildStateKey(null, "Key1", "ETag1");
|
||||||
|
Mono<Void> result = adater.deleteState(key, null);
|
||||||
|
settableFuture.setException(ex);
|
||||||
|
result.block();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void deleteStateNoOptionsTest() {
|
||||||
|
String etag = "ETag1";
|
||||||
|
String key = "key1";
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<Empty> callback = new MockCallback<>(Empty.newBuilder().build());
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.deleteState(any(io.dapr.DaprProtos.DeleteStateEnvelope.class)))
|
||||||
|
.thenReturn(settableFuture);
|
||||||
|
StateKeyValue<String> stateKey = buildStateKey(null, key, etag);
|
||||||
|
Mono<Void> result = adater.deleteState(stateKey, null);
|
||||||
|
settableFuture.set(Empty.newBuilder().build());
|
||||||
|
result.block();
|
||||||
|
assertTrue(callback.wasCalled);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void deleteStateTest() {
|
||||||
|
String etag = "ETag1";
|
||||||
|
String key = "key1";
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<Empty> callback = new MockCallback<>(Empty.newBuilder().build());
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.deleteState(any(io.dapr.DaprProtos.DeleteStateEnvelope.class)))
|
||||||
|
.thenReturn(settableFuture);
|
||||||
|
StateKeyValue<String> stateKey = buildStateKey(null, key, etag);
|
||||||
|
StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE,
|
||||||
|
Duration.ofDays(100), 1, StateOptions.RetryPolicy.Pattern.LINEAR);
|
||||||
|
Mono<Void> result = adater.deleteState(stateKey, options);
|
||||||
|
settableFuture.set(Empty.newBuilder().build());
|
||||||
|
result.block();
|
||||||
|
assertTrue(callback.wasCalled);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void deleteStateNoConsistencyTest() {
|
||||||
|
String etag = "ETag1";
|
||||||
|
String key = "key1";
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<Empty> callback = new MockCallback<>(Empty.newBuilder().build());
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.deleteState(any(io.dapr.DaprProtos.DeleteStateEnvelope.class)))
|
||||||
|
.thenReturn(settableFuture);
|
||||||
|
StateKeyValue<String> stateKey = buildStateKey(null, key, etag);
|
||||||
|
StateOptions options = buildStateOptions(null, StateOptions.Concurrency.FIRST_WRITE,
|
||||||
|
Duration.ofDays(100), 1, StateOptions.RetryPolicy.Pattern.LINEAR);
|
||||||
|
Mono<Void> result = adater.deleteState(stateKey, options);
|
||||||
|
settableFuture.set(Empty.newBuilder().build());
|
||||||
|
result.block();
|
||||||
|
assertTrue(callback.wasCalled);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void deleteStateNoConcurrencyTest() {
|
||||||
|
String etag = "ETag1";
|
||||||
|
String key = "key1";
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<Empty> callback = new MockCallback<>(Empty.newBuilder().build());
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.deleteState(any(io.dapr.DaprProtos.DeleteStateEnvelope.class)))
|
||||||
|
.thenReturn(settableFuture);
|
||||||
|
StateKeyValue<String> stateKey = buildStateKey(null, key, etag);
|
||||||
|
StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, null,
|
||||||
|
Duration.ofDays(100), 1, StateOptions.RetryPolicy.Pattern.LINEAR);
|
||||||
|
Mono<Void> result = adater.deleteState(stateKey, options);
|
||||||
|
settableFuture.set(Empty.newBuilder().build());
|
||||||
|
result.block();
|
||||||
|
assertTrue(callback.wasCalled);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void deleteStateNoRetryPolicyTest() {
|
||||||
|
String etag = "ETag1";
|
||||||
|
String key = "key1";
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<Empty> callback = new MockCallback<>(Empty.newBuilder().build());
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.deleteState(any(io.dapr.DaprProtos.DeleteStateEnvelope.class)))
|
||||||
|
.thenReturn(settableFuture);
|
||||||
|
StateKeyValue<String> stateKey = buildStateKey(null, key, etag);
|
||||||
|
StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE,
|
||||||
|
null, null, null);
|
||||||
|
Mono<Void> result = adater.deleteState(stateKey, options);
|
||||||
|
settableFuture.set(Empty.newBuilder().build());
|
||||||
|
result.block();
|
||||||
|
assertTrue(callback.wasCalled);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void deleteStateRetryPolicyNoDurationTest() {
|
||||||
|
String etag = "ETag1";
|
||||||
|
String key = "key1";
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<Empty> callback = new MockCallback<>(Empty.newBuilder().build());
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.deleteState(any(io.dapr.DaprProtos.DeleteStateEnvelope.class)))
|
||||||
|
.thenReturn(settableFuture);
|
||||||
|
StateKeyValue<String> stateKey = buildStateKey(null, key, etag);
|
||||||
|
StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE,
|
||||||
|
null, 1, StateOptions.RetryPolicy.Pattern.LINEAR);
|
||||||
|
Mono<Void> result = adater.deleteState(stateKey, options);
|
||||||
|
settableFuture.set(Empty.newBuilder().build());
|
||||||
|
result.block();
|
||||||
|
assertTrue(callback.wasCalled);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void deleteStateRetryPolicyNoThresholdTest() {
|
||||||
|
String etag = "ETag1";
|
||||||
|
String key = "key1";
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<Empty> callback = new MockCallback<>(Empty.newBuilder().build());
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.deleteState(any(io.dapr.DaprProtos.DeleteStateEnvelope.class)))
|
||||||
|
.thenReturn(settableFuture);
|
||||||
|
StateKeyValue<String> stateKey = buildStateKey(null, key, etag);
|
||||||
|
StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE,
|
||||||
|
Duration.ofDays(100), null, StateOptions.RetryPolicy.Pattern.LINEAR);
|
||||||
|
Mono<Void> result = adater.deleteState(stateKey, options);
|
||||||
|
settableFuture.set(Empty.newBuilder().build());
|
||||||
|
result.block();
|
||||||
|
assertTrue(callback.wasCalled);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void deleteStateRetryPolicyNoPatternTest() {
|
||||||
|
String etag = "ETag1";
|
||||||
|
String key = "key1";
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<Empty> callback = new MockCallback<>(Empty.newBuilder().build());
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.deleteState(any(io.dapr.DaprProtos.DeleteStateEnvelope.class)))
|
||||||
|
.thenReturn(settableFuture);
|
||||||
|
StateKeyValue<String> stateKey = buildStateKey(null, key, etag);
|
||||||
|
StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE,
|
||||||
|
Duration.ofDays(100), 1, null);
|
||||||
|
Mono<Void> result = adater.deleteState(stateKey, options);
|
||||||
|
settableFuture.set(Empty.newBuilder().build());
|
||||||
|
result.block();
|
||||||
|
assertTrue(callback.wasCalled);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expected = RuntimeException.class)
|
||||||
|
public void saveStateExceptionThrownTest() {
|
||||||
|
String key = "key1";
|
||||||
|
String etag = "ETag1";
|
||||||
|
String value = "State value";
|
||||||
|
when(client.saveState(any(io.dapr.DaprProtos.SaveStateEnvelope.class))).thenThrow(RuntimeException.class);
|
||||||
|
Mono<Void> result = adater.saveState(key, etag, value, null);
|
||||||
|
result.block();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expected = RuntimeException.class)
|
||||||
|
public void saveStateCallbackExceptionThrownTest() {
|
||||||
|
String key = "key1";
|
||||||
|
String etag = "ETag1";
|
||||||
|
String value = "State value";
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
RuntimeException ex = new RuntimeException("An Exception");
|
||||||
|
MockCallback<Empty> callback = new MockCallback<>(ex);
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.saveState(any(io.dapr.DaprProtos.SaveStateEnvelope.class))).thenReturn(settableFuture);
|
||||||
|
Mono<Void> result = adater.saveState(key, etag, value, null);
|
||||||
|
settableFuture.setException(ex);
|
||||||
|
result.block();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void saveStateNoOptionsTest() {
|
||||||
|
String key = "key1";
|
||||||
|
String etag = "ETag1";
|
||||||
|
String value = "State value";
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<Empty> callback = new MockCallback<>(Empty.newBuilder().build());
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.saveState(any(io.dapr.DaprProtos.SaveStateEnvelope.class))).thenReturn(settableFuture);
|
||||||
|
Mono<Void> result = adater.saveState(key, etag, value, null);
|
||||||
|
settableFuture.set(Empty.newBuilder().build());
|
||||||
|
result.block();
|
||||||
|
assertTrue(callback.wasCalled);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void saveStateTest() {
|
||||||
|
String key = "key1";
|
||||||
|
String etag = "ETag1";
|
||||||
|
String value = "State value";
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<Empty> callback = new MockCallback<>(Empty.newBuilder().build());
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.saveState(any(io.dapr.DaprProtos.SaveStateEnvelope.class))).thenReturn(settableFuture);
|
||||||
|
StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE,
|
||||||
|
Duration.ofDays(100), 1, StateOptions.RetryPolicy.Pattern.LINEAR);
|
||||||
|
Mono<Void> result = adater.saveState(key, etag, value, options);
|
||||||
|
settableFuture.set(Empty.newBuilder().build());
|
||||||
|
result.block();
|
||||||
|
assertTrue(callback.wasCalled);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void saveStateNoConsistencyTest() {
|
||||||
|
String key = "key1";
|
||||||
|
String etag = "ETag1";
|
||||||
|
String value = "State value";
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<Empty> callback = new MockCallback<>(Empty.newBuilder().build());
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.saveState(any(io.dapr.DaprProtos.SaveStateEnvelope.class))).thenReturn(settableFuture);
|
||||||
|
StateOptions options = buildStateOptions(null, StateOptions.Concurrency.FIRST_WRITE,
|
||||||
|
Duration.ofDays(100), 1, StateOptions.RetryPolicy.Pattern.LINEAR);
|
||||||
|
Mono<Void> result = adater.saveState(key, etag, value, options);
|
||||||
|
settableFuture.set(Empty.newBuilder().build());
|
||||||
|
result.block();
|
||||||
|
assertTrue(callback.wasCalled);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void saveStateNoConcurrencyTest() {
|
||||||
|
String key = "key1";
|
||||||
|
String etag = "ETag1";
|
||||||
|
String value = "State value";
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<Empty> callback = new MockCallback<>(Empty.newBuilder().build());
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.saveState(any(io.dapr.DaprProtos.SaveStateEnvelope.class))).thenReturn(settableFuture);
|
||||||
|
StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, null,
|
||||||
|
Duration.ofDays(100), 1, StateOptions.RetryPolicy.Pattern.LINEAR);
|
||||||
|
Mono<Void> result = adater.saveState(key, etag, value, options);
|
||||||
|
settableFuture.set(Empty.newBuilder().build());
|
||||||
|
result.block();
|
||||||
|
assertTrue(callback.wasCalled);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void saveStateNoRetryPolicyTest() {
|
||||||
|
String key = "key1";
|
||||||
|
String etag = "ETag1";
|
||||||
|
String value = "State value";
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<Empty> callback = new MockCallback<>(Empty.newBuilder().build());
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.saveState(any(io.dapr.DaprProtos.SaveStateEnvelope.class))).thenReturn(settableFuture);
|
||||||
|
StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE,
|
||||||
|
null, null, null);
|
||||||
|
Mono<Void> result = adater.saveState(key, etag, value, options);
|
||||||
|
settableFuture.set(Empty.newBuilder().build());
|
||||||
|
result.block();
|
||||||
|
assertTrue(callback.wasCalled);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void saveStateRetryPolicyNoDurationTest() {
|
||||||
|
String key = "key1";
|
||||||
|
String etag = "ETag1";
|
||||||
|
String value = "State value";
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<Empty> callback = new MockCallback<>(Empty.newBuilder().build());
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.saveState(any(io.dapr.DaprProtos.SaveStateEnvelope.class))).thenReturn(settableFuture);
|
||||||
|
StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE,
|
||||||
|
null, 1, StateOptions.RetryPolicy.Pattern.LINEAR);
|
||||||
|
Mono<Void> result = adater.saveState(key, etag, value, options);
|
||||||
|
settableFuture.set(Empty.newBuilder().build());
|
||||||
|
result.block();
|
||||||
|
assertTrue(callback.wasCalled);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void saveStateRetryPolicyNoThresholdTest() {
|
||||||
|
String key = "key1";
|
||||||
|
String etag = "ETag1";
|
||||||
|
String value = "State value";
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<Empty> callback = new MockCallback<>(Empty.newBuilder().build());
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.saveState(any(io.dapr.DaprProtos.SaveStateEnvelope.class))).thenReturn(settableFuture);
|
||||||
|
StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE,
|
||||||
|
Duration.ofDays(100), null, StateOptions.RetryPolicy.Pattern.LINEAR);
|
||||||
|
Mono<Void> result = adater.saveState(key, etag, value, options);
|
||||||
|
settableFuture.set(Empty.newBuilder().build());
|
||||||
|
result.block();
|
||||||
|
assertTrue(callback.wasCalled);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void saveStateRetryPolicyNoPatternTest() {
|
||||||
|
String key = "key1";
|
||||||
|
String etag = "ETag1";
|
||||||
|
String value = "State value";
|
||||||
|
SettableFuture<Empty> settableFuture = SettableFuture.create();
|
||||||
|
MockCallback<Empty> callback = new MockCallback<>(Empty.newBuilder().build());
|
||||||
|
addCallback(settableFuture, callback, directExecutor());
|
||||||
|
when(client.saveState(any(io.dapr.DaprProtos.SaveStateEnvelope.class))).thenReturn(settableFuture);
|
||||||
|
StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE,
|
||||||
|
Duration.ofDays(100), 1, null);
|
||||||
|
Mono<Void> result = adater.saveState(key, etag, value, options);
|
||||||
|
settableFuture.set(Empty.newBuilder().build());
|
||||||
|
result.block();
|
||||||
|
assertTrue(callback.wasCalled);
|
||||||
|
}
|
||||||
|
|
||||||
private <T> StateKeyValue<T> buildStateKey(T value, String key, String etag) {
|
private <T> StateKeyValue<T> buildStateKey(T value, String key, String etag) {
|
||||||
return new StateKeyValue(value, key, etag);
|
return new StateKeyValue(value, key, etag);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue