diff --git a/docs/modules/ROOT/pages/index.adoc b/docs/modules/ROOT/pages/index.adoc index b1178a3..c4ff1e1 100644 --- a/docs/modules/ROOT/pages/index.adoc +++ b/docs/modules/ROOT/pages/index.adoc @@ -48,17 +48,16 @@ In addition, you might want to configure `WireMock` programmatically. To do so, ---- -After that, you are able to inject a `WireMock` reference along with your test execution lifecycle has shown below: +After that, a `WireMock` reference can be injected along with your test execution lifecycle has shown below: [source,java] ---- @QuarkusTest -@QuarkusTestResource(WireMockServerTestResource.class) +@ConnectWireMock class WireMockDevServiceResourceTest { private static final String MOCK_MSG = "Hello from WireMock!"; - @InjectWireMock - WireMock wiremock; + WireMock wiremock; // will be injected automatically when the class has been annotated with @ConnectWireMock @Test void testHelloEndpoint() { diff --git a/integration-tests/src/test/java/io/quarkiverse/wiremock/devservices/WireMockDevServiceResourceIT.java b/integration-tests/src/test/java/io/quarkiverse/wiremock/devservice/WireMockDevServiceResourceIT.java similarity index 82% rename from integration-tests/src/test/java/io/quarkiverse/wiremock/devservices/WireMockDevServiceResourceIT.java rename to integration-tests/src/test/java/io/quarkiverse/wiremock/devservice/WireMockDevServiceResourceIT.java index 44ffc2a..3230cfe 100644 --- a/integration-tests/src/test/java/io/quarkiverse/wiremock/devservices/WireMockDevServiceResourceIT.java +++ b/integration-tests/src/test/java/io/quarkiverse/wiremock/devservice/WireMockDevServiceResourceIT.java @@ -1,4 +1,4 @@ -package io.quarkiverse.wiremock.devservices; +package io.quarkiverse.wiremock.devservice; import io.quarkus.test.junit.QuarkusIntegrationTest; diff --git a/integration-tests/src/test/java/io/quarkiverse/wiremock/devservices/WireMockDevServiceResourceTest.java b/integration-tests/src/test/java/io/quarkiverse/wiremock/devservice/WireMockDevServiceResourceTest.java similarity index 73% rename from integration-tests/src/test/java/io/quarkiverse/wiremock/devservices/WireMockDevServiceResourceTest.java rename to integration-tests/src/test/java/io/quarkiverse/wiremock/devservice/WireMockDevServiceResourceTest.java index 22591be..d58194d 100644 --- a/integration-tests/src/test/java/io/quarkiverse/wiremock/devservices/WireMockDevServiceResourceTest.java +++ b/integration-tests/src/test/java/io/quarkiverse/wiremock/devservice/WireMockDevServiceResourceTest.java @@ -1,4 +1,4 @@ -package io.quarkiverse.wiremock.devservices; +package io.quarkiverse.wiremock.devservice; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.get; @@ -11,19 +11,14 @@ import com.github.tomakehurst.wiremock.client.WireMock; -import io.quarkiverse.wiremock.devservice.InjectWireMock; -import io.quarkiverse.wiremock.devservice.WireMockServerTestResource; -import io.quarkus.test.common.QuarkusTestResource; import io.quarkus.test.junit.QuarkusTest; @QuarkusTest -@QuarkusTestResource(WireMockServerTestResource.class) +@ConnectWireMock class WireMockDevServiceResourceTest { private static final String MOCK_MSG = "Hello from WireMock!"; - - @InjectWireMock - WireMock wiremock; + WireMock wiremock; // will be injected automatically when the class has been annotated with @ConnectWireMock @Test void testHelloEndpoint() { diff --git a/test/src/main/java/io/quarkiverse/wiremock/devservice/ConnectWireMock.java b/test/src/main/java/io/quarkiverse/wiremock/devservice/ConnectWireMock.java new file mode 100644 index 0000000..f3308e0 --- /dev/null +++ b/test/src/main/java/io/quarkiverse/wiremock/devservice/ConnectWireMock.java @@ -0,0 +1,16 @@ +package io.quarkiverse.wiremock.devservice; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import io.quarkus.test.common.QuarkusTestResource; + +@QuarkusTestResource(value = WireMockServerConnector.class, restrictToAnnotatedClass = true) +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +@Documented +public @interface ConnectWireMock { +} diff --git a/test/src/main/java/io/quarkiverse/wiremock/devservice/InjectWireMock.java b/test/src/main/java/io/quarkiverse/wiremock/devservice/InjectWireMock.java deleted file mode 100644 index a3ad215..0000000 --- a/test/src/main/java/io/quarkiverse/wiremock/devservice/InjectWireMock.java +++ /dev/null @@ -1,11 +0,0 @@ -package io.quarkiverse.wiremock.devservice; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.FIELD) -public @interface InjectWireMock { -} diff --git a/test/src/main/java/io/quarkiverse/wiremock/devservice/WireMockServerTestResource.java b/test/src/main/java/io/quarkiverse/wiremock/devservice/WireMockServerConnector.java similarity index 81% rename from test/src/main/java/io/quarkiverse/wiremock/devservice/WireMockServerTestResource.java rename to test/src/main/java/io/quarkiverse/wiremock/devservice/WireMockServerConnector.java index 0fa8095..87db867 100644 --- a/test/src/main/java/io/quarkiverse/wiremock/devservice/WireMockServerTestResource.java +++ b/test/src/main/java/io/quarkiverse/wiremock/devservice/WireMockServerConnector.java @@ -11,12 +11,12 @@ import com.github.tomakehurst.wiremock.client.WireMock; import io.quarkus.test.common.DevServicesContext; -import io.quarkus.test.common.QuarkusTestResourceLifecycleManager; +import io.quarkus.test.common.QuarkusTestResourceConfigurableLifecycleManager; -public class WireMockServerTestResource - implements QuarkusTestResourceLifecycleManager, DevServicesContext.ContextAware { +public class WireMockServerConnector + implements QuarkusTestResourceConfigurableLifecycleManager, DevServicesContext.ContextAware { - private static final Logger LOGGER = Logger.getLogger(WireMockServerTestResource.class); + private static final Logger LOGGER = Logger.getLogger(WireMockServerConnector.class); private static final String CONFIG_TEMPLATE = "%%dev,test.%s.%s"; WireMock wiremock; @@ -33,8 +33,7 @@ public void stop() { @Override public void inject(TestInjector testInjector) { - testInjector.injectIntoFields(wiremock, - new TestInjector.AnnotatedAndMatchesType(InjectWireMock.class, WireMock.class)); + testInjector.injectIntoFields(wiremock, new TestInjector.MatchesType(WireMock.class)); } @Override