Skip to content

Commit 1ad2efe

Browse files
salaboylove12yadav
authored andcommitted
Update pom.xml to have testcontainers 1.21.3 (dapr#1436)
Signed-off-by: salaboy <[email protected]> Signed-off-by: love12yadav <[email protected]>
1 parent 8c2c2ee commit 1ad2efe

File tree

2 files changed

+29
-9
lines changed

2 files changed

+29
-9
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
<surefire.version>3.2.2</surefire.version>
4848
<junit-bom.version>5.11.4</junit-bom.version>
4949
<snakeyaml.version>2.0</snakeyaml.version>
50-
<testcontainers.version>1.20.5</testcontainers.version>
50+
<testcontainers.version>1.21.3</testcontainers.version>
5151
<!-- Do NOT UPGRADE spring.version without checking springboot.version alignment -->
5252
<springboot.version>3.4.6</springboot.version>
5353
<springframework.version>6.2.7</springframework.version>

sdk/src/test/java/io/dapr/client/DaprClientGrpcTest.java

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1384,44 +1384,64 @@ public void getStateThenDelete() throws Exception {
13841384
String expectedValue1 = "Expected state 1";
13851385
String key2 = "key2";
13861386
String expectedValue2 = "Expected state 2";
1387+
13871388
State<String> expectedState1 = buildStateKey(expectedValue1, key1, etag, new HashMap<>(), null);
13881389
State<String> expectedState2 = buildStateKey(expectedValue2, key2, etag, new HashMap<>(), null);
1390+
13891391
Map<String, DaprProtos.GetStateResponse> futuresMap = new HashMap<>();
13901392
futuresMap.put(key1, buildFutureGetStateEnvelop(expectedValue1, etag));
1391-
futuresMap.put(key2, buildFutureGetStateEnvelop(expectedValue2, etag));
1393+
futuresMap.put(key2, buildFutureGetStateEnvelop(expectedValue2, etag)); // Will be removed on delete
13921394

1395+
// Mock getState for key1 (unchanged)
13931396
doAnswer((Answer<Void>) invocation -> {
1394-
StreamObserver<DaprProtos.GetStateResponse> observer = (StreamObserver<DaprProtos.GetStateResponse>) invocation.getArguments()[1];
1397+
StreamObserver<DaprProtos.GetStateResponse> observer =
1398+
(StreamObserver<DaprProtos.GetStateResponse>) invocation.getArguments()[1];
13951399
observer.onNext(futuresMap.get(key1));
13961400
observer.onCompleted();
13971401
return null;
13981402
}).when(daprStub).getState(argThat(new GetStateRequestKeyMatcher(key1)), any());
1403+
1404+
// Mock getState for key2 — updated after delete
13991405
doAnswer((Answer<Void>) invocation -> {
1400-
StreamObserver<DaprProtos.GetStateResponse> observer = (StreamObserver<DaprProtos.GetStateResponse>) invocation.getArguments()[1];
1401-
observer.onNext(futuresMap.get(key2));
1406+
StreamObserver<DaprProtos.GetStateResponse> observer =
1407+
(StreamObserver<DaprProtos.GetStateResponse>) invocation.getArguments()[1];
1408+
DaprProtos.GetStateResponse response = futuresMap.get(key2);
1409+
if (response != null) {
1410+
observer.onNext(response);
1411+
}
14021412
observer.onCompleted();
14031413
return null;
14041414
}).when(daprStub).getState(argThat(new GetStateRequestKeyMatcher(key2)), any());
14051415

1416+
// getState for key1 and assert
14061417
State<String> keyRequest1 = buildStateKey(null, key1, etag, null);
14071418
Mono<State<String>> resultGet1 = client.getState(STATE_STORE_NAME, keyRequest1, String.class);
14081419
assertEquals(expectedState1, resultGet1.block());
1420+
1421+
// Prepare getState for key2 (lazy)
14091422
State<String> keyRequest2 = buildStateKey(null, key2, etag, null);
14101423
Mono<State<String>> resultGet2 = client.getState(STATE_STORE_NAME, keyRequest2, String.class);
1411-
assertEquals(expectedState2, resultGet2.block());
14121424

1425+
// Mock deleteState for key2 (simulate deletion)
14131426
doAnswer((Answer<Void>) invocation -> {
1427+
futuresMap.remove(key2);
14141428
StreamObserver<Empty> observer = (StreamObserver<Empty>) invocation.getArguments()[1];
14151429
observer.onNext(Empty.getDefaultInstance());
14161430
observer.onCompleted();
14171431
return null;
1418-
}).when(daprStub).deleteState(any(io.dapr.v1.DaprProtos.DeleteStateRequest.class), any());
1432+
}).when(daprStub).deleteState(any(DaprProtos.DeleteStateRequest.class), any());
14191433

1420-
Mono<Void> resultDelete = client.deleteState(STATE_STORE_NAME, keyRequest2.getKey(), keyRequest2.getEtag(),
1421-
keyRequest2.getOptions());
1434+
// Perform delete
1435+
Mono<Void> resultDelete = client.deleteState(
1436+
STATE_STORE_NAME, keyRequest2.getKey(), keyRequest2.getEtag(), keyRequest2.getOptions());
14221437
resultDelete.block();
1438+
1439+
// Now block the original getState call (should be null)
1440+
State<String> stateAfterDelete = resultGet2.block();
1441+
assertNull(stateAfterDelete.getValue());
14231442
}
14241443

1444+
14251445
@Test
14261446
public void deleteStateNullEtag() {
14271447
String key = "key1";

0 commit comments

Comments
 (0)