diff --git a/src/test/java/org/wiremock/extensions/state/AbstractTestBase.java b/src/test/java/org/wiremock/extensions/state/AbstractTestBase.java index 05bc3d5..0d73165 100644 --- a/src/test/java/org/wiremock/extensions/state/AbstractTestBase.java +++ b/src/test/java/org/wiremock/extensions/state/AbstractTestBase.java @@ -12,7 +12,11 @@ import org.junit.jupiter.api.parallel.Execution; import org.wiremock.extensions.state.internal.ContextManager; +import java.time.Duration; + import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig; +import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; import static org.junit.jupiter.api.parallel.ExecutionMode.SAME_THREAD; @TestInstance(TestInstance.Lifecycle.PER_CLASS) @@ -40,4 +44,11 @@ void setupAll() { void setupBase() { wm.resetAll(); } + + protected void assertContextNumUpdates(String context, int expected) { + await() + .pollInterval(Duration.ofMillis(10)) + .atMost(Duration.ofSeconds(5)).untilAsserted(() -> assertThat(contextManager.numUpdates(context)).isEqualTo(expected)); + } + } diff --git a/src/test/java/org/wiremock/extensions/state/DeleteStateEventListenerTest.java b/src/test/java/org/wiremock/extensions/state/DeleteStateEventListenerTest.java index 8628465..124e815 100644 --- a/src/test/java/org/wiremock/extensions/state/DeleteStateEventListenerTest.java +++ b/src/test/java/org/wiremock/extensions/state/DeleteStateEventListenerTest.java @@ -340,8 +340,11 @@ void test_deleteIndex_middle_ok() throws URISyntaxException { var contextName = RandomStringUtils.randomAlphabetic(5); postRequest("list", contextName, "one"); + assertContextNumUpdates(contextName, 1); postRequest("list", contextName, "two"); + assertContextNumUpdates(contextName, 2); postRequest("list", contextName, "three"); + assertContextNumUpdates(contextName, 3); assertList(contextName, list -> assertThat(list).hasSize(3)); getRequest("list/deleteIndex/1", contextName); @@ -360,8 +363,11 @@ void test_deleteIndex_last_ok() throws URISyntaxException { var contextName = RandomStringUtils.randomAlphabetic(5); postRequest("list", contextName, "one"); + assertContextNumUpdates(contextName, 1); postRequest("list", contextName, "two"); + assertContextNumUpdates(contextName, 2); postRequest("list", contextName, "three"); + assertContextNumUpdates(contextName, 3); assertList(contextName, list -> assertThat(list).hasSize(3)); getRequest("list/deleteIndex/2", contextName); @@ -380,8 +386,11 @@ void test_deleteWhere_middle_ok() throws URISyntaxException { var contextName = RandomStringUtils.randomAlphabetic(5); postRequest("list", contextName, "one"); + assertContextNumUpdates(contextName, 1); postRequest("list", contextName, "two"); + assertContextNumUpdates(contextName, 2); postRequest("list", contextName, "three"); + assertContextNumUpdates(contextName, 3); assertList(contextName, list -> assertThat(list).hasSize(3)); getRequest("list/deleteWhere/two", contextName); @@ -400,8 +409,11 @@ void test_deleteWhere_last_ok() throws URISyntaxException { var contextName = RandomStringUtils.randomAlphabetic(5); postRequest("list", contextName, "one"); + assertContextNumUpdates(contextName, 1); postRequest("list", contextName, "two"); + assertContextNumUpdates(contextName, 2); postRequest("list", contextName, "three"); + assertContextNumUpdates(contextName, 3); assertList(contextName, list -> assertThat(list).hasSize(3)); getRequest("list/deleteWhere/three", contextName); diff --git a/src/test/java/org/wiremock/extensions/state/RecordStateEventListenerTest.java b/src/test/java/org/wiremock/extensions/state/RecordStateEventListenerTest.java index 09b231f..94cee6b 100644 --- a/src/test/java/org/wiremock/extensions/state/RecordStateEventListenerTest.java +++ b/src/test/java/org/wiremock/extensions/state/RecordStateEventListenerTest.java @@ -253,9 +253,7 @@ void test_initialUpdateCount_1_ok() { postRequest("state", context, "one"); - await() - .pollInterval(Duration.ofMillis(10)) - .atMost(Duration.ofSeconds(2)).untilAsserted(() -> assertThat(contextManager.numUpdates(context)).isEqualTo(1)); + assertContextNumUpdates(context, 1); } @Test @@ -266,9 +264,7 @@ void test_multipleUpdateCount_increase_ok() { postRequest("state", context, "one"); postRequest("state", context, "one"); - await() - .pollInterval(Duration.ofMillis(10)) - .atMost(Duration.ofSeconds(2)).untilAsserted(() -> assertThat(contextManager.numUpdates(context)).isEqualTo(3)); + assertContextNumUpdates(context, 3); } @Test @@ -280,12 +276,8 @@ void test_differentContext_ok() { postRequest("state", contextTwo, "one"); postRequest("state", contextOne, "one"); - await() - .pollInterval(Duration.ofMillis(10)) - .atMost(Duration.ofSeconds(2)).untilAsserted(() -> assertThat(contextManager.numUpdates(contextOne)).isEqualTo(2)); - await() - .pollInterval(Duration.ofMillis(10)) - .atMost(Duration.ofSeconds(2)).untilAsserted(() -> assertThat(contextManager.numUpdates(contextTwo)).isEqualTo(1)); + assertContextNumUpdates(contextOne, 2); + assertContextNumUpdates(contextTwo, 1); } }