Skip to content

Commit 64a8304

Browse files
authored
stabilize deleteRecord tests (#22)
- adding assertions to tests to ensure insertion order <!-- Please describe your pull request here. --> ## References none. <!-- References to relevant GitHub issues and pull requests, esp. upstream and downstream changes --> ## Submitter checklist - [ ] The PR request is well described and justified, including the body and the references - [ ] The PR title represents the desired changelog entry - [ ] The repository's code style is followed (see the contributing guide) - [ ] Test coverage that demonstrates that the change works as expected - [ ] For new features, there's necessary documentation in this pull request or in a subsequent PR to [wiremock.org](https://github.com/wiremock/wiremock.org) <!-- Put an `x` into the [ ] to show you have filled the information. The template comes from https://github.com/wiremock/.github/blob/main/.github/pull_request_template.md You can override it by creating .github/pull_request_template.md in your own repository -->
1 parent c442f31 commit 64a8304

File tree

3 files changed

+27
-12
lines changed

3 files changed

+27
-12
lines changed

src/test/java/org/wiremock/extensions/state/AbstractTestBase.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,11 @@
1212
import org.junit.jupiter.api.parallel.Execution;
1313
import org.wiremock.extensions.state.internal.ContextManager;
1414

15+
import java.time.Duration;
16+
1517
import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;
18+
import static org.assertj.core.api.Assertions.assertThat;
19+
import static org.awaitility.Awaitility.await;
1620
import static org.junit.jupiter.api.parallel.ExecutionMode.SAME_THREAD;
1721

1822
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@@ -40,4 +44,11 @@ void setupAll() {
4044
void setupBase() {
4145
wm.resetAll();
4246
}
47+
48+
protected void assertContextNumUpdates(String context, int expected) {
49+
await()
50+
.pollInterval(Duration.ofMillis(10))
51+
.atMost(Duration.ofSeconds(5)).untilAsserted(() -> assertThat(contextManager.numUpdates(context)).isEqualTo(expected));
52+
}
53+
4354
}

src/test/java/org/wiremock/extensions/state/DeleteStateEventListenerTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -340,8 +340,11 @@ void test_deleteIndex_middle_ok() throws URISyntaxException {
340340
var contextName = RandomStringUtils.randomAlphabetic(5);
341341

342342
postRequest("list", contextName, "one");
343+
assertContextNumUpdates(contextName, 1);
343344
postRequest("list", contextName, "two");
345+
assertContextNumUpdates(contextName, 2);
344346
postRequest("list", contextName, "three");
347+
assertContextNumUpdates(contextName, 3);
345348
assertList(contextName, list -> assertThat(list).hasSize(3));
346349

347350
getRequest("list/deleteIndex/1", contextName);
@@ -360,8 +363,11 @@ void test_deleteIndex_last_ok() throws URISyntaxException {
360363
var contextName = RandomStringUtils.randomAlphabetic(5);
361364

362365
postRequest("list", contextName, "one");
366+
assertContextNumUpdates(contextName, 1);
363367
postRequest("list", contextName, "two");
368+
assertContextNumUpdates(contextName, 2);
364369
postRequest("list", contextName, "three");
370+
assertContextNumUpdates(contextName, 3);
365371
assertList(contextName, list -> assertThat(list).hasSize(3));
366372

367373
getRequest("list/deleteIndex/2", contextName);
@@ -380,8 +386,11 @@ void test_deleteWhere_middle_ok() throws URISyntaxException {
380386
var contextName = RandomStringUtils.randomAlphabetic(5);
381387

382388
postRequest("list", contextName, "one");
389+
assertContextNumUpdates(contextName, 1);
383390
postRequest("list", contextName, "two");
391+
assertContextNumUpdates(contextName, 2);
384392
postRequest("list", contextName, "three");
393+
assertContextNumUpdates(contextName, 3);
385394
assertList(contextName, list -> assertThat(list).hasSize(3));
386395

387396
getRequest("list/deleteWhere/two", contextName);
@@ -400,8 +409,11 @@ void test_deleteWhere_last_ok() throws URISyntaxException {
400409
var contextName = RandomStringUtils.randomAlphabetic(5);
401410

402411
postRequest("list", contextName, "one");
412+
assertContextNumUpdates(contextName, 1);
403413
postRequest("list", contextName, "two");
414+
assertContextNumUpdates(contextName, 2);
404415
postRequest("list", contextName, "three");
416+
assertContextNumUpdates(contextName, 3);
405417
assertList(contextName, list -> assertThat(list).hasSize(3));
406418

407419
getRequest("list/deleteWhere/three", contextName);

src/test/java/org/wiremock/extensions/state/RecordStateEventListenerTest.java

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -253,9 +253,7 @@ void test_initialUpdateCount_1_ok() {
253253

254254
postRequest("state", context, "one");
255255

256-
await()
257-
.pollInterval(Duration.ofMillis(10))
258-
.atMost(Duration.ofSeconds(2)).untilAsserted(() -> assertThat(contextManager.numUpdates(context)).isEqualTo(1));
256+
assertContextNumUpdates(context, 1);
259257
}
260258

261259
@Test
@@ -266,9 +264,7 @@ void test_multipleUpdateCount_increase_ok() {
266264
postRequest("state", context, "one");
267265
postRequest("state", context, "one");
268266

269-
await()
270-
.pollInterval(Duration.ofMillis(10))
271-
.atMost(Duration.ofSeconds(2)).untilAsserted(() -> assertThat(contextManager.numUpdates(context)).isEqualTo(3));
267+
assertContextNumUpdates(context, 3);
272268
}
273269

274270
@Test
@@ -280,12 +276,8 @@ void test_differentContext_ok() {
280276
postRequest("state", contextTwo, "one");
281277
postRequest("state", contextOne, "one");
282278

283-
await()
284-
.pollInterval(Duration.ofMillis(10))
285-
.atMost(Duration.ofSeconds(2)).untilAsserted(() -> assertThat(contextManager.numUpdates(contextOne)).isEqualTo(2));
286-
await()
287-
.pollInterval(Duration.ofMillis(10))
288-
.atMost(Duration.ofSeconds(2)).untilAsserted(() -> assertThat(contextManager.numUpdates(contextTwo)).isEqualTo(1));
279+
assertContextNumUpdates(contextOne, 2);
280+
assertContextNumUpdates(contextTwo, 1);
289281
}
290282

291283
}

0 commit comments

Comments
 (0)