Removed dirties context on any tests
This commit is contained in:
@@ -234,7 +234,6 @@ run the collaborators' stubs for you, as shown in the following example:
|
|||||||
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
||||||
@AutoConfigureStubRunner(ids = {"com.example:http-server-dsl:+:stubs:6565"},
|
@AutoConfigureStubRunner(ids = {"com.example:http-server-dsl:+:stubs:6565"},
|
||||||
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
||||||
@DirtiesContext
|
|
||||||
public class LoanApplicationServiceTests {
|
public class LoanApplicationServiceTests {
|
||||||
----
|
----
|
||||||
|
|
||||||
@@ -519,7 +518,6 @@ the collaborators' stubs for you, as shown in the following example:
|
|||||||
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
||||||
@AutoConfigureStubRunner(ids = {"com.example:http-server-dsl:+:stubs:6565"},
|
@AutoConfigureStubRunner(ids = {"com.example:http-server-dsl:+:stubs:6565"},
|
||||||
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
||||||
@DirtiesContext
|
|
||||||
public class LoanApplicationServiceTests {
|
public class LoanApplicationServiceTests {
|
||||||
----
|
----
|
||||||
|
|
||||||
@@ -693,7 +691,6 @@ Annotate your test class with `@AutoConfigureStubRunner`. In the annotation prov
|
|||||||
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
||||||
@AutoConfigureStubRunner(ids = {"com.example:http-server-dsl:+:stubs:6565"},
|
@AutoConfigureStubRunner(ids = {"com.example:http-server-dsl:+:stubs:6565"},
|
||||||
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
||||||
@DirtiesContext
|
|
||||||
public class LoanApplicationServiceTests {
|
public class LoanApplicationServiceTests {
|
||||||
----
|
----
|
||||||
|
|
||||||
@@ -1179,7 +1176,6 @@ can also provide the offline work switch (`StubRunnerProperties.StubsMode.LOCAL`
|
|||||||
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
||||||
@AutoConfigureStubRunner(ids = {"com.example:http-server-dsl:+:stubs:6565"},
|
@AutoConfigureStubRunner(ids = {"com.example:http-server-dsl:+:stubs:6565"},
|
||||||
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
||||||
@DirtiesContext
|
|
||||||
public class LoanApplicationServiceTests {
|
public class LoanApplicationServiceTests {
|
||||||
----
|
----
|
||||||
|
|
||||||
|
|||||||
@@ -200,7 +200,6 @@ run the collaborators' stubs for you, as shown in the following example:
|
|||||||
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
||||||
@AutoConfigureStubRunner(ids = {"com.example:http-server-dsl:+:stubs:6565"},
|
@AutoConfigureStubRunner(ids = {"com.example:http-server-dsl:+:stubs:6565"},
|
||||||
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
||||||
@DirtiesContext
|
|
||||||
public class LoanApplicationServiceTests {
|
public class LoanApplicationServiceTests {
|
||||||
----
|
----
|
||||||
|
|
||||||
@@ -475,7 +474,6 @@ the collaborators' stubs for you, as shown in the following example:
|
|||||||
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
||||||
@AutoConfigureStubRunner(ids = {"com.example:http-server-dsl:+:stubs:6565"},
|
@AutoConfigureStubRunner(ids = {"com.example:http-server-dsl:+:stubs:6565"},
|
||||||
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
||||||
@DirtiesContext
|
|
||||||
public class LoanApplicationServiceTests {
|
public class LoanApplicationServiceTests {
|
||||||
----
|
----
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ import com.example.loan.model.LoanApplicationStatus;
|
|||||||
@SpringBootTest(webEnvironment=WebEnvironment.NONE, properties="server.context-path=/app")
|
@SpringBootTest(webEnvironment=WebEnvironment.NONE, properties="server.context-path=/app")
|
||||||
@AutoConfigureStubRunner(ids = {"com.example:http-server-dsl:+:stubs:6565"},
|
@AutoConfigureStubRunner(ids = {"com.example:http-server-dsl:+:stubs:6565"},
|
||||||
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
||||||
@DirtiesContext
|
|
||||||
public class LoanApplicationServiceContextPathTests {
|
public class LoanApplicationServiceContextPathTests {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||||||
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
||||||
@AutoConfigureStubRunner(ids = {"com.example:http-server-dsl:+:stubs:6565"},
|
@AutoConfigureStubRunner(ids = {"com.example:http-server-dsl:+:stubs:6565"},
|
||||||
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
||||||
@DirtiesContext
|
|
||||||
public class LoanApplicationServiceTests {
|
public class LoanApplicationServiceTests {
|
||||||
// end::autoconfigure_stubrunner[]
|
// end::autoconfigure_stubrunner[]
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
server:
|
server:
|
||||||
port: 6565
|
port: 6565
|
||||||
logging.level.org.springframework.cloud.contract: DEBUG
|
logging:
|
||||||
|
level:
|
||||||
|
org.springframework.cloud.contract: debug
|
||||||
@@ -11,7 +11,6 @@ import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
|
|||||||
import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner;
|
import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner;
|
||||||
import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties;
|
import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties;
|
||||||
import org.springframework.core.env.Environment;
|
import org.springframework.core.env.Environment;
|
||||||
import org.springframework.test.annotation.DirtiesContext;
|
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
import com.example.loan.model.Client;
|
import com.example.loan.model.Client;
|
||||||
@@ -23,7 +22,6 @@ import com.example.loan.model.LoanApplicationStatus;
|
|||||||
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
||||||
@AutoConfigureStubRunner(ids = {"com.example:pact-http-server:+:stubs"},
|
@AutoConfigureStubRunner(ids = {"com.example:pact-http-server:+:stubs"},
|
||||||
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
||||||
@DirtiesContext
|
|
||||||
public class LoanApplicationServiceTests {
|
public class LoanApplicationServiceTests {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.example.loan;
|
||||||
|
|
||||||
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
|
|
||||||
|
@ConfigurationProperties("service")
|
||||||
|
public class ServiceProperties {
|
||||||
|
|
||||||
|
private int port = 8080;
|
||||||
|
|
||||||
|
public void setPort(int port) {
|
||||||
|
this.port = port;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getPort() {
|
||||||
|
return this.port;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -28,7 +28,6 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
|||||||
@AutoConfigureRestDocs(outputDir = "target/snippets")
|
@AutoConfigureRestDocs(outputDir = "target/snippets")
|
||||||
@AutoConfigureMockMvc
|
@AutoConfigureMockMvc
|
||||||
@AutoConfigureJsonTesters
|
@AutoConfigureJsonTesters
|
||||||
@DirtiesContext
|
|
||||||
public class StubGeneratorTests {
|
public class StubGeneratorTests {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
|||||||
@SpringBootTest(classes = Application.class)
|
@SpringBootTest(classes = Application.class)
|
||||||
@AutoConfigureRestDocs(outputDir = "target/snippets")
|
@AutoConfigureRestDocs(outputDir = "target/snippets")
|
||||||
@AutoConfigureMockMvc
|
@AutoConfigureMockMvc
|
||||||
@DirtiesContext
|
|
||||||
public class XmlStubGeneratorTests {
|
public class XmlStubGeneratorTests {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ import static org.springframework.cloud.contract.wiremock.restdocs.WireMockWebTe
|
|||||||
@AutoConfigureRestDocs(outputDir = "target/snippets")
|
@AutoConfigureRestDocs(outputDir = "target/snippets")
|
||||||
@AutoConfigureWebTestClient
|
@AutoConfigureWebTestClient
|
||||||
@AutoConfigureJsonTesters
|
@AutoConfigureJsonTesters
|
||||||
@DirtiesContext
|
|
||||||
public class StubGeneratorTests {
|
public class StubGeneratorTests {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ import org.springframework.boot.test.context.SpringBootTest;
|
|||||||
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
|
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
|
||||||
import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner;
|
import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner;
|
||||||
import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties;
|
import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties;
|
||||||
import org.springframework.test.annotation.DirtiesContext;
|
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
import com.example.loan.model.Client;
|
import com.example.loan.model.Client;
|
||||||
@@ -21,7 +20,6 @@ import com.example.loan.model.LoanApplicationStatus;
|
|||||||
@SpringBootTest(webEnvironment=WebEnvironment.NONE, properties="server.context-path=/app")
|
@SpringBootTest(webEnvironment=WebEnvironment.NONE, properties="server.context-path=/app")
|
||||||
@AutoConfigureStubRunner(ids = {"com.example:http-server-yml:+:stubs:6569"},
|
@AutoConfigureStubRunner(ids = {"com.example:http-server-yml:+:stubs:6569"},
|
||||||
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
||||||
@DirtiesContext
|
|
||||||
public class LoanApplicationServiceContextPathTests {
|
public class LoanApplicationServiceContextPathTests {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import org.springframework.boot.test.context.SpringBootTest;
|
|||||||
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
|
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
|
||||||
import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner;
|
import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner;
|
||||||
import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties;
|
import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties;
|
||||||
import org.springframework.test.annotation.DirtiesContext;
|
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
import com.example.loan.model.Client;
|
import com.example.loan.model.Client;
|
||||||
@@ -22,7 +21,6 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||||||
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
||||||
@AutoConfigureStubRunner(ids = {"com.example:http-server-yml:+:stubs:6569"},
|
@AutoConfigureStubRunner(ids = {"com.example:http-server-yml:+:stubs:6569"},
|
||||||
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
|
||||||
@DirtiesContext
|
|
||||||
public class LoanApplicationServiceTests {
|
public class LoanApplicationServiceTests {
|
||||||
// end::autoconfigure_stubrunner[]
|
// end::autoconfigure_stubrunner[]
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||||||
import com.github.tomakehurst.wiremock.junit.WireMockClassRule;
|
import com.github.tomakehurst.wiremock.junit.WireMockClassRule;
|
||||||
|
|
||||||
@ActiveProfiles("classrule")
|
@ActiveProfiles("classrule")
|
||||||
@DirtiesContext
|
|
||||||
//tag::wiremock_test1[]
|
//tag::wiremock_test1[]
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
|
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||||||
import org.springframework.test.web.client.MockRestServiceServer;
|
import org.springframework.test.web.client.MockRestServiceServer;
|
||||||
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
@DirtiesContext
|
|
||||||
// tag::wiremock_test[]
|
// tag::wiremock_test[]
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(webEnvironment = WebEnvironment.NONE)
|
@SpringBootTest(webEnvironment = WebEnvironment.NONE)
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
|
|||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
@ActiveProfiles("docs")
|
@ActiveProfiles("docs")
|
||||||
@DirtiesContext
|
|
||||||
//tag::wiremock_test1[]
|
//tag::wiremock_test1[]
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
|
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest("app.baseUrl=https://localhost:8443")
|
@SpringBootTest("app.baseUrl=https://localhost:8443")
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureHttpClient
|
@AutoConfigureHttpClient
|
||||||
public class WiremockHttpsServerApplicationTests {
|
public class WiremockHttpsServerApplicationTests {
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(properties="app.baseUrl=http://localhost:6060", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(properties="app.baseUrl=http://localhost:6060", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureWireMock(port = 6060)
|
@AutoConfigureWireMock(port = 6060)
|
||||||
public class WiremockImportApplicationTests {
|
public class WiremockImportApplicationTests {
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ import org.springframework.web.client.RestTemplate;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
public class WiremockMockServerApplicationTests {
|
public class WiremockMockServerApplicationTests {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ import static org.hamcrest.CoreMatchers.instanceOf;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(properties="app.baseUrl=http://localhost:6061", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(properties="app.baseUrl=http://localhost:6061", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
public class WiremockServerApplicationTests {
|
public class WiremockServerApplicationTests {
|
||||||
|
|
||||||
@ClassRule
|
@ClassRule
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ import com.github.tomakehurst.wiremock.junit.WireMockClassRule;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(properties="app.baseUrl=http://localhost:6063", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(properties="app.baseUrl=http://localhost:6063", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
public class WiremockServerApplicationTests {
|
public class WiremockServerApplicationTests {
|
||||||
|
|
||||||
@ClassRule
|
@ClassRule
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ import com.github.tomakehurst.wiremock.junit.WireMockClassRule;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest("app.baseUrl=https://localhost:6443")
|
@SpringBootTest("app.baseUrl=https://localhost:6443")
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureHttpClient
|
@AutoConfigureHttpClient
|
||||||
public class WiremockHttpsServerApplicationTests {
|
public class WiremockHttpsServerApplicationTests {
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(properties="app.baseUrl=http://localhost:6065", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(properties="app.baseUrl=http://localhost:6065", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureWireMock(port = 6065)
|
@AutoConfigureWireMock(port = 6065)
|
||||||
public class WiremockImportApplicationTests {
|
public class WiremockImportApplicationTests {
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(properties = { "app.baseUrl=http://localhost:6066",
|
@SpringBootTest(properties = { "app.baseUrl=http://localhost:6066",
|
||||||
"server.context-path=/app" }, webEnvironment = WebEnvironment.NONE)
|
"server.context-path=/app" }, webEnvironment = WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureWireMock(port = 6066)
|
@AutoConfigureWireMock(port = 6066)
|
||||||
public class WiremockImportContextPathApplicationTests {
|
public class WiremockImportContextPathApplicationTests {
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ import org.springframework.web.client.RestTemplate;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
public class WiremockMockServerApplicationTests {
|
public class WiremockMockServerApplicationTests {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ import static org.hamcrest.CoreMatchers.instanceOf;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(properties="app.baseUrl=http://localhost:6067", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(properties="app.baseUrl=http://localhost:6067", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
public class WiremockServerApplicationTests {
|
public class WiremockServerApplicationTests {
|
||||||
|
|
||||||
@ClassRule
|
@ClassRule
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ import com.github.tomakehurst.wiremock.junit.WireMockClassRule;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest("app.baseUrl=https://localhost:7443")
|
@SpringBootTest("app.baseUrl=https://localhost:7443")
|
||||||
@DirtiesContext
|
|
||||||
@ActiveProfiles("ssl")
|
@ActiveProfiles("ssl")
|
||||||
public class WiremockHttpsServerApplicationTests {
|
public class WiremockHttpsServerApplicationTests {
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(properties="app.baseUrl=http://localhost:7070", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(properties="app.baseUrl=http://localhost:7070", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureWireMock(port = 7070)
|
@AutoConfigureWireMock(port = 7070)
|
||||||
public class WiremockImportApplicationTests {
|
public class WiremockImportApplicationTests {
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ import org.springframework.web.client.RestTemplate;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
public class WiremockMockServerApplicationTests {
|
public class WiremockMockServerApplicationTests {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import com.github.tomakehurst.wiremock.junit.WireMockClassRule;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(properties="app.baseUrl=http://localhost:7071", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(properties="app.baseUrl=http://localhost:7071", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
public class WiremockServerApplicationTests {
|
public class WiremockServerApplicationTests {
|
||||||
|
|
||||||
@ClassRule
|
@ClassRule
|
||||||
|
|||||||
@@ -148,14 +148,6 @@ HTTP stubs without the need to download artifacts.
|
|||||||
|
|
||||||
==== Running stubs
|
==== Running stubs
|
||||||
|
|
||||||
===== Limitations
|
|
||||||
|
|
||||||
IMPORTANT: There might be a problem with StubRunner shutting down ports between tests. You might
|
|
||||||
have a situation in which you get port conflicts. As long as you use the same context across tests
|
|
||||||
everything works fine. But when the context are different (e.g. different stubs or different profiles)
|
|
||||||
then you have to either use `@DirtiesContext` to shut down the stub servers, or else run them on
|
|
||||||
different ports per test.
|
|
||||||
|
|
||||||
===== Running using main app
|
===== Running using main app
|
||||||
|
|
||||||
You can set the following options to the main class:
|
You can set the following options to the main class:
|
||||||
|
|||||||
@@ -82,6 +82,11 @@
|
|||||||
<groupId>com.jcraft</groupId>
|
<groupId>com.jcraft</groupId>
|
||||||
<artifactId>jsch.agentproxy.usocket-jna</artifactId>
|
<artifactId>jsch.agentproxy.usocket-jna</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework</groupId>
|
||||||
|
<artifactId>spring-test</artifactId>
|
||||||
|
<optional>true</optional>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-autoconfigure-processor</artifactId>
|
<artifactId>spring-boot-autoconfigure-processor</artifactId>
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import java.util.LinkedHashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import groovy.json.JsonOutput;
|
import groovy.json.JsonOutput;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@@ -38,12 +39,15 @@ import org.springframework.cloud.contract.stubrunner.provider.wiremock.WireMockH
|
|||||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifier;
|
import org.springframework.cloud.contract.verifier.messaging.MessageVerifier;
|
||||||
import org.springframework.cloud.contract.verifier.messaging.noop.NoOpStubMessages;
|
import org.springframework.cloud.contract.verifier.messaging.noop.NoOpStubMessages;
|
||||||
import org.springframework.cloud.contract.verifier.util.BodyExtractor;
|
import org.springframework.cloud.contract.verifier.util.BodyExtractor;
|
||||||
|
import wiremock.org.eclipse.jetty.util.ConcurrentHashSet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Runs stubs for a particular {@link StubServer}
|
* Runs stubs for a particular {@link StubServer}
|
||||||
*/
|
*/
|
||||||
class StubRunnerExecutor implements StubFinder {
|
class StubRunnerExecutor implements StubFinder {
|
||||||
|
|
||||||
|
static final Set<StubServer> STUB_SERVERS = new ConcurrentHashSet<>();
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(StubRunnerExecutor.class);
|
private static final Logger log = LoggerFactory.getLogger(StubRunnerExecutor.class);
|
||||||
private final AvailablePortScanner portScanner;
|
private final AvailablePortScanner portScanner;
|
||||||
private final MessageVerifier<?> contractVerifierMessaging;
|
private final MessageVerifier<?> contractVerifierMessaging;
|
||||||
@@ -261,6 +265,7 @@ class StubRunnerExecutor implements StubFinder {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
STUB_SERVERS.add(this.stubServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean hasRequest(Collection<Contract> contracts) {
|
private boolean hasRequest(Collection<Contract> contracts) {
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import java.io.File;
|
|||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@@ -59,7 +60,14 @@ class StubServer {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isRunning() {
|
||||||
|
return this.httpServerStub.isRunning();
|
||||||
|
}
|
||||||
|
|
||||||
public void stop() {
|
public void stop() {
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Stopping the server at port [" + this.getPort() + "]");
|
||||||
|
}
|
||||||
this.httpServerStub.stop();
|
this.httpServerStub.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,4 +103,22 @@ class StubServer {
|
|||||||
return this.httpServerStub.registeredMappings();
|
return this.httpServerStub.registeredMappings();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override public boolean equals(Object o) {
|
||||||
|
if (this == o)
|
||||||
|
return true;
|
||||||
|
if (o == null || getClass() != o.getClass())
|
||||||
|
return false;
|
||||||
|
StubServer that = (StubServer) o;
|
||||||
|
return Objects.equals(this.stubConfiguration, that.stubConfiguration) && Objects
|
||||||
|
.equals(this.contracts, that.contracts);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override public int hashCode() {
|
||||||
|
return Objects.hash(this.stubConfiguration, this.contracts);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override public String toString() {
|
||||||
|
return "StubServer{" + "stubConfiguration=" + this.stubConfiguration + ", mappingsSize="
|
||||||
|
+ this.mappings.size() + '}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,63 @@
|
|||||||
|
package org.springframework.cloud.contract.stubrunner.provider.wiremock;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
|
import com.github.tomakehurst.wiremock.stubbing.StubMapping;
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
import org.springframework.cloud.contract.stubrunner.HttpServerStub;
|
||||||
|
import org.springframework.context.ApplicationContext;
|
||||||
|
import org.springframework.test.context.TestContext;
|
||||||
|
import org.springframework.test.context.support.AbstractTestExecutionListener;
|
||||||
|
import org.springframework.util.Assert;
|
||||||
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stops the {@link HttpServerStub} after each test class
|
||||||
|
*
|
||||||
|
* @author Marcin Grzejszczak
|
||||||
|
* @since 1.2.6
|
||||||
|
*/
|
||||||
|
public final class StubRunnerWireMockTestExecutionListener extends AbstractTestExecutionListener {
|
||||||
|
|
||||||
|
private static final Log log = LogFactory.getLog(StubRunnerWireMockTestExecutionListener.class);
|
||||||
|
|
||||||
|
private static Map<ApplicationContext, Map<WireMockHttpServerStub, PortAndMappings>> STUBS = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
|
@Override public void beforeTestClass(TestContext testContext) {
|
||||||
|
Map<WireMockHttpServerStub, PortAndMappings> stubs = STUBS
|
||||||
|
.get(testContext.getApplicationContext());
|
||||||
|
if (stubs != null) {
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Found a matching application context from [" + testContext.getTestClass().getName() + "]");
|
||||||
|
}
|
||||||
|
for (Map.Entry<WireMockHttpServerStub, PortAndMappings> entry : stubs.entrySet()) {
|
||||||
|
while (entry.getKey().isRunning()) {
|
||||||
|
entry.getKey().stop();
|
||||||
|
}
|
||||||
|
List<StubMapping> mappings = entry.getValue().mappings;
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Stopped a running WireMock instance at "
|
||||||
|
+ "port [" + entry.getValue().port + "] with stub mappings "
|
||||||
|
+ "size [" + mappings.size() + "]. Restarting the stub.");
|
||||||
|
}
|
||||||
|
entry.getKey().start(entry.getValue().port);
|
||||||
|
entry.getKey().registerDescriptors(mappings);
|
||||||
|
Assert.isTrue(new RestTemplate().getForEntity("http://localhost:" + entry.getValue().port + "/__admin/mappings", String.class)
|
||||||
|
.getStatusCode().is2xxSuccessful(), "__admin/mappings endpoint wasn't accessible");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override public void afterTestClass(TestContext testContext) {
|
||||||
|
STUBS.put(testContext.getApplicationContext(), WireMockHttpServerStub.SERVERS);
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Stopping servers " + WireMockHttpServerStub.SERVERS);
|
||||||
|
}
|
||||||
|
for (HttpServerStub serverStub : WireMockHttpServerStub.SERVERS.keySet()) {
|
||||||
|
serverStub.stop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -10,6 +10,7 @@ import java.util.Collection;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
import com.github.tomakehurst.wiremock.WireMockServer;
|
import com.github.tomakehurst.wiremock.WireMockServer;
|
||||||
import com.github.tomakehurst.wiremock.client.WireMock;
|
import com.github.tomakehurst.wiremock.client.WireMock;
|
||||||
@@ -43,6 +44,8 @@ public class WireMockHttpServerStub implements HttpServerStub {
|
|||||||
private static final Logger log = LoggerFactory.getLogger(WireMockHttpServerStub.class);
|
private static final Logger log = LoggerFactory.getLogger(WireMockHttpServerStub.class);
|
||||||
private static final int INVALID_PORT = -1;
|
private static final int INVALID_PORT = -1;
|
||||||
|
|
||||||
|
static final Map<WireMockHttpServerStub, PortAndMappings> SERVERS = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
private WireMockServer wireMockServer;
|
private WireMockServer wireMockServer;
|
||||||
|
|
||||||
private WireMockConfiguration config() {
|
private WireMockConfiguration config() {
|
||||||
@@ -107,6 +110,12 @@ public class WireMockHttpServerStub implements HttpServerStub {
|
|||||||
this.wireMockServer = new WireMockServer(config().port(port)
|
this.wireMockServer = new WireMockServer(config().port(port)
|
||||||
.notifier(new Slf4jNotifier(true)));
|
.notifier(new Slf4jNotifier(true)));
|
||||||
this.wireMockServer.start();
|
this.wireMockServer.start();
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Started WireMock at port [" + port + "]");
|
||||||
|
}
|
||||||
|
if (!SERVERS.containsKey(this)) {
|
||||||
|
SERVERS.put(this, new PortAndMappings(port, new ArrayList<StubMapping>()));
|
||||||
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -159,20 +168,25 @@ public class WireMockHttpServerStub implements HttpServerStub {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void registerStubMappings(Collection<File> stubFiles) {
|
private void registerStubMappings(Collection<File> stubFiles) {
|
||||||
WireMock wireMock = new WireMock("localhost", port(), "");
|
WireMock wireMock = wireMock();
|
||||||
registerDefaultHealthChecks(wireMock);
|
registerDefaultHealthChecks(wireMock);
|
||||||
registerStubs(stubFiles, wireMock);
|
registerStubs(stubFiles, wireMock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private WireMock wireMock() {
|
||||||
|
return new WireMock("localhost", port(), "");
|
||||||
|
}
|
||||||
|
|
||||||
private void registerDefaultHealthChecks(WireMock wireMock) {
|
private void registerDefaultHealthChecks(WireMock wireMock) {
|
||||||
registerHealthCheck(wireMock, "/ping");
|
registerHealthCheck(wireMock, "/ping");
|
||||||
registerHealthCheck(wireMock, "/health");
|
registerHealthCheck(wireMock, "/health");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void registerStubs(Collection<File> sortedMappings, WireMock wireMock) {
|
private void registerStubs(Collection<File> sortedMappings, WireMock wireMock) {
|
||||||
|
List<StubMapping> stubMappings = new ArrayList<>();
|
||||||
for (File mappingDescriptor : sortedMappings) {
|
for (File mappingDescriptor : sortedMappings) {
|
||||||
try {
|
try {
|
||||||
wireMock.register(getMapping(mappingDescriptor));
|
stubMappings.add(registerDescriptor(wireMock, mappingDescriptor));
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Registered stub mappings from [" + mappingDescriptor + "]");
|
log.debug("Registered stub mappings from [" + mappingDescriptor + "]");
|
||||||
}
|
}
|
||||||
@@ -183,6 +197,23 @@ public class WireMockHttpServerStub implements HttpServerStub {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
PortAndMappings portAndMappings = SERVERS.get(this);
|
||||||
|
SERVERS.put(this, new PortAndMappings(portAndMappings.port, stubMappings));
|
||||||
|
}
|
||||||
|
|
||||||
|
private StubMapping registerDescriptor(WireMock wireMock, File mappingDescriptor) {
|
||||||
|
StubMapping mapping = getMapping(mappingDescriptor);
|
||||||
|
wireMock.register(mapping);
|
||||||
|
return mapping;
|
||||||
|
}
|
||||||
|
|
||||||
|
void registerDescriptors(List<StubMapping> stubMappings) {
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Registering stub mappings size [" + stubMappings.size() + "] at port [" + port() + "]");
|
||||||
|
}
|
||||||
|
for (StubMapping mapping : stubMappings) {
|
||||||
|
wireMock().register(mapping);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void registerHealthCheck(WireMock wireMock, String url) {
|
private void registerHealthCheck(WireMock wireMock, String url) {
|
||||||
@@ -194,3 +225,17 @@ public class WireMockHttpServerStub implements HttpServerStub {
|
|||||||
WireMock.get(WireMock.urlEqualTo(url)).willReturn(WireMock.aResponse().withBody(body).withStatus(200)));
|
WireMock.get(WireMock.urlEqualTo(url)).willReturn(WireMock.aResponse().withBody(body).withStatus(200)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class PortAndMappings {
|
||||||
|
final Integer port;
|
||||||
|
final List<StubMapping> mappings;
|
||||||
|
|
||||||
|
PortAndMappings(Integer port, List<StubMapping> mappings) {
|
||||||
|
this.port = port;
|
||||||
|
this.mappings = mappings;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override public String toString() {
|
||||||
|
return "PortAndMappings{" + "port=" + this.port + ", mappings=" + this.mappings.size() + '}';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -8,4 +8,8 @@ org.springframework.cloud.contract.stubrunner.messaging.integration.StubRunnerIn
|
|||||||
org.springframework.cloud.contract.stubrunner.spring.cloud.zookeeper.StubRunnerSpringCloudZookeeperAutoConfiguration,\
|
org.springframework.cloud.contract.stubrunner.spring.cloud.zookeeper.StubRunnerSpringCloudZookeeperAutoConfiguration,\
|
||||||
org.springframework.cloud.contract.stubrunner.spring.cloud.eureka.StubRunnerSpringCloudEurekaAutoConfiguration,\
|
org.springframework.cloud.contract.stubrunner.spring.cloud.eureka.StubRunnerSpringCloudEurekaAutoConfiguration,\
|
||||||
org.springframework.cloud.contract.stubrunner.spring.cloud.consul.StubRunnerSpringCloudConsulAutoConfiguration,\
|
org.springframework.cloud.contract.stubrunner.spring.cloud.consul.StubRunnerSpringCloudConsulAutoConfiguration,\
|
||||||
org.springframework.cloud.contract.stubrunner.messaging.StubRunnerStreamsIntegrationAutoConfiguration
|
org.springframework.cloud.contract.stubrunner.messaging.StubRunnerStreamsIntegrationAutoConfiguration
|
||||||
|
|
||||||
|
# Test Execution Listeners
|
||||||
|
org.springframework.test.context.TestExecutionListener=\
|
||||||
|
org.springframework.cloud.contract.stubrunner.provider.wiremock.StubRunnerWireMockTestExecutionListener
|
||||||
@@ -29,7 +29,6 @@ import org.springframework.cloud.contract.stubrunner.StubFinder
|
|||||||
import org.springframework.cloud.contract.stubrunner.StubNotFoundException
|
import org.springframework.cloud.contract.stubrunner.StubNotFoundException
|
||||||
import org.springframework.context.annotation.Configuration
|
import org.springframework.context.annotation.Configuration
|
||||||
import org.springframework.core.env.Environment
|
import org.springframework.core.env.Environment
|
||||||
import org.springframework.test.annotation.DirtiesContext
|
|
||||||
import org.springframework.test.context.ActiveProfiles
|
import org.springframework.test.context.ActiveProfiles
|
||||||
import org.springframework.test.context.ContextConfiguration
|
import org.springframework.test.context.ContextConfiguration
|
||||||
import spock.lang.Specification
|
import spock.lang.Specification
|
||||||
@@ -44,7 +43,6 @@ import spock.lang.Specification
|
|||||||
'foo=${stubrunner.runningstubs.fraudDetectionServer.port}',
|
'foo=${stubrunner.runningstubs.fraudDetectionServer.port}',
|
||||||
'fooWithGroup=${stubrunner.runningstubs.org.springframework.cloud.contract.verifier.stubs.fraudDetectionServer.port}'])
|
'fooWithGroup=${stubrunner.runningstubs.org.springframework.cloud.contract.verifier.stubs.fraudDetectionServer.port}'])
|
||||||
@AutoConfigureStubRunner(mappingsOutputFolder = "target/outputmappings/")
|
@AutoConfigureStubRunner(mappingsOutputFolder = "target/outputmappings/")
|
||||||
@DirtiesContext
|
|
||||||
@ActiveProfiles("test")
|
@ActiveProfiles("test")
|
||||||
class StubRunnerConfigurationSpec extends Specification {
|
class StubRunnerConfigurationSpec extends Specification {
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ import org.springframework.cloud.zookeeper.ZookeeperAutoConfiguration
|
|||||||
import org.springframework.cloud.zookeeper.discovery.RibbonZookeeperAutoConfiguration
|
import org.springframework.cloud.zookeeper.discovery.RibbonZookeeperAutoConfiguration
|
||||||
import org.springframework.context.annotation.Bean
|
import org.springframework.context.annotation.Bean
|
||||||
import org.springframework.context.annotation.Configuration
|
import org.springframework.context.annotation.Configuration
|
||||||
import org.springframework.test.annotation.DirtiesContext
|
|
||||||
import org.springframework.test.context.ActiveProfiles
|
import org.springframework.test.context.ActiveProfiles
|
||||||
import org.springframework.test.context.ContextConfiguration
|
import org.springframework.test.context.ContextConfiguration
|
||||||
import org.springframework.web.client.RestTemplate
|
import org.springframework.web.client.RestTemplate
|
||||||
@@ -50,7 +49,6 @@ import spock.lang.Specification
|
|||||||
stubsMode = StubRunnerProperties.StubsMode.REMOTE,
|
stubsMode = StubRunnerProperties.StubsMode.REMOTE,
|
||||||
repositoryRoot = "classpath:m2repo/repository/")
|
repositoryRoot = "classpath:m2repo/repository/")
|
||||||
// end::autoconfigure[]
|
// end::autoconfigure[]
|
||||||
@DirtiesContext
|
|
||||||
class StubRunnerSpringCloudAutoConfigurationSpec extends Specification {
|
class StubRunnerSpringCloudAutoConfigurationSpec extends Specification {
|
||||||
|
|
||||||
@Autowired StubFinder stubFinder
|
@Autowired StubFinder stubFinder
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ import org.springframework.context.annotation.Configuration
|
|||||||
import org.springframework.core.env.Environment
|
import org.springframework.core.env.Environment
|
||||||
import org.springframework.http.ResponseEntity
|
import org.springframework.http.ResponseEntity
|
||||||
import org.springframework.messaging.Message
|
import org.springframework.messaging.Message
|
||||||
import org.springframework.test.annotation.DirtiesContext
|
|
||||||
import org.springframework.test.context.ContextConfiguration
|
import org.springframework.test.context.ContextConfiguration
|
||||||
/**
|
/**
|
||||||
* @author Marcin Grzejszczak
|
* @author Marcin Grzejszczak
|
||||||
@@ -45,7 +44,6 @@ import org.springframework.test.context.ContextConfiguration
|
|||||||
repositoryRoot = "classpath:m2repo/repository/",
|
repositoryRoot = "classpath:m2repo/repository/",
|
||||||
stubsMode = StubRunnerProperties.StubsMode.REMOTE,
|
stubsMode = StubRunnerProperties.StubsMode.REMOTE,
|
||||||
stubsPerConsumer = true)
|
stubsPerConsumer = true)
|
||||||
@DirtiesContext
|
|
||||||
class StubRunnerStubsPerConsumerSpec extends Specification {
|
class StubRunnerStubsPerConsumerSpec extends Specification {
|
||||||
// end::test[]
|
// end::test[]
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ import org.springframework.context.annotation.Configuration
|
|||||||
import org.springframework.core.env.Environment
|
import org.springframework.core.env.Environment
|
||||||
import org.springframework.http.ResponseEntity
|
import org.springframework.http.ResponseEntity
|
||||||
import org.springframework.messaging.Message
|
import org.springframework.messaging.Message
|
||||||
import org.springframework.test.annotation.DirtiesContext
|
|
||||||
import org.springframework.test.context.ContextConfiguration
|
import org.springframework.test.context.ContextConfiguration
|
||||||
/**
|
/**
|
||||||
* @author Marcin Grzejszczak
|
* @author Marcin Grzejszczak
|
||||||
@@ -46,7 +45,6 @@ import org.springframework.test.context.ContextConfiguration
|
|||||||
consumerName = "foo-consumer",
|
consumerName = "foo-consumer",
|
||||||
stubsMode = StubRunnerProperties.StubsMode.REMOTE,
|
stubsMode = StubRunnerProperties.StubsMode.REMOTE,
|
||||||
stubsPerConsumer = true)
|
stubsPerConsumer = true)
|
||||||
@DirtiesContext
|
|
||||||
class StubRunnerStubsPerConsumerWithConsumerNameSpec extends Specification {
|
class StubRunnerStubsPerConsumerWithConsumerNameSpec extends Specification {
|
||||||
// end::test[]
|
// end::test[]
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRun
|
|||||||
import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties
|
import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties
|
||||||
import org.springframework.context.annotation.Bean
|
import org.springframework.context.annotation.Bean
|
||||||
import org.springframework.context.annotation.Configuration
|
import org.springframework.context.annotation.Configuration
|
||||||
import org.springframework.test.annotation.DirtiesContext
|
|
||||||
import org.springframework.test.context.ContextConfiguration
|
import org.springframework.test.context.ContextConfiguration
|
||||||
|
|
||||||
import static org.mockito.BDDMockito.then
|
import static org.mockito.BDDMockito.then
|
||||||
@@ -58,7 +57,6 @@ import static org.mockito.Mockito.mock
|
|||||||
"org.springframework.cloud.contract.verifier.stubs:bootService"],
|
"org.springframework.cloud.contract.verifier.stubs:bootService"],
|
||||||
stubsMode = StubRunnerProperties.StubsMode.REMOTE,
|
stubsMode = StubRunnerProperties.StubsMode.REMOTE,
|
||||||
repositoryRoot = "classpath:m2repo/repository/")
|
repositoryRoot = "classpath:m2repo/repository/")
|
||||||
@DirtiesContext
|
|
||||||
class StubRunnerSpringCloudConsulAutoConfigurationSpec extends Specification {
|
class StubRunnerSpringCloudConsulAutoConfigurationSpec extends Specification {
|
||||||
|
|
||||||
@Autowired ConsulClient client
|
@Autowired ConsulClient client
|
||||||
|
|||||||
@@ -47,7 +47,6 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||||||
maxPort = 10020,
|
maxPort = 10020,
|
||||||
mappingsOutputFolder = "target/outputmappings/",
|
mappingsOutputFolder = "target/outputmappings/",
|
||||||
properties = {"hello=world", "foo=bar"})
|
properties = {"hello=world", "foo=bar"})
|
||||||
@DirtiesContext
|
|
||||||
@ActiveProfiles("test")
|
@ActiveProfiles("test")
|
||||||
public class StubRunnerSliceTests {
|
public class StubRunnerSliceTests {
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,9 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
|
|
||||||
|
import com.github.tomakehurst.wiremock.common.Slf4jNotifier;
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
@@ -37,9 +40,15 @@ import org.springframework.context.annotation.Configuration;
|
|||||||
import org.springframework.core.io.Resource;
|
import org.springframework.core.io.Resource;
|
||||||
import org.springframework.core.io.ResourceLoader;
|
import org.springframework.core.io.ResourceLoader;
|
||||||
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
||||||
|
import org.springframework.util.Assert;
|
||||||
import org.springframework.util.StreamUtils;
|
import org.springframework.util.StreamUtils;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
import com.github.tomakehurst.wiremock.WireMockServer;
|
||||||
|
import com.github.tomakehurst.wiremock.client.WireMock;
|
||||||
|
import com.github.tomakehurst.wiremock.core.Options;
|
||||||
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configuration and lifecycle for a Spring Application context that wants to run a
|
* Configuration and lifecycle for a Spring Application context that wants to run a
|
||||||
* WireMock server. Can be used by adding
|
* WireMock server. Can be used by adding
|
||||||
@@ -55,6 +64,10 @@ import org.springframework.util.StringUtils;
|
|||||||
@EnableConfigurationProperties(WireMockProperties.class)
|
@EnableConfigurationProperties(WireMockProperties.class)
|
||||||
public class WireMockConfiguration implements SmartLifecycle {
|
public class WireMockConfiguration implements SmartLifecycle {
|
||||||
|
|
||||||
|
private static final Log log = LogFactory.getLog(WireMockConfiguration.class);
|
||||||
|
|
||||||
|
static final String WIREMOCK_SERVER_BEAN_NAME = "wireMockServer";
|
||||||
|
|
||||||
private volatile boolean running;
|
private volatile boolean running;
|
||||||
|
|
||||||
private WireMockServer server;
|
private WireMockServer server;
|
||||||
@@ -91,10 +104,15 @@ public class WireMockConfiguration implements SmartLifecycle {
|
|||||||
this.customizer.customize(factory);
|
this.customizer.customize(factory);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.server = new WireMockServer(this.options);
|
if (this.server == null) {
|
||||||
|
this.server = new WireMockServer(this.options);
|
||||||
|
}
|
||||||
registerStubs();
|
registerStubs();
|
||||||
if (!this.beanFactory.containsBean("wireMockServer")) {
|
if (log.isDebugEnabled()) {
|
||||||
this.beanFactory.registerSingleton("wireMockServer", this.server);
|
log.debug("WireMock server has [" + this.server.getStubMappings().size() + "] registered");
|
||||||
|
}
|
||||||
|
if (!this.beanFactory.containsBean(WIREMOCK_SERVER_BEAN_NAME)) {
|
||||||
|
this.beanFactory.registerSingleton(WIREMOCK_SERVER_BEAN_NAME, this.server);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,6 +136,10 @@ public class WireMockConfiguration implements SmartLifecycle {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void reset() {
|
||||||
|
this.server.resetAll();
|
||||||
|
}
|
||||||
|
|
||||||
private void registerFiles(com.github.tomakehurst.wiremock.core.WireMockConfiguration factory) throws IOException {
|
private void registerFiles(com.github.tomakehurst.wiremock.core.WireMockConfiguration factory) throws IOException {
|
||||||
List<Resource> resources = new ArrayList<>();
|
List<Resource> resources = new ArrayList<>();
|
||||||
for (String files : this.wireMock.getServer().getFiles()) {
|
for (String files : this.wireMock.getServer().getFiles()) {
|
||||||
@@ -142,6 +164,11 @@ public class WireMockConfiguration implements SmartLifecycle {
|
|||||||
this.server.start();
|
this.server.start();
|
||||||
WireMock.configureFor("localhost", this.server.port());
|
WireMock.configureFor("localhost", this.server.port());
|
||||||
this.running = true;
|
this.running = true;
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Started WireMock at port [" + this.server.port() + "]. It has [" + this.server.getStubMappings().size() + "] mappings registered");
|
||||||
|
}
|
||||||
|
Assert.isTrue(new RestTemplate().getForEntity("http://localhost:" + this.server.port() + "/__admin/mappings", String.class)
|
||||||
|
.getStatusCode().is2xxSuccessful(), "__admin/mappings endpoint wasn't accessible");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -149,6 +176,9 @@ public class WireMockConfiguration implements SmartLifecycle {
|
|||||||
if (this.running) {
|
if (this.running) {
|
||||||
this.server.stop();
|
this.server.stop();
|
||||||
this.running = false;
|
this.running = false;
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Stopped WireMock instance");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,73 @@
|
|||||||
|
package org.springframework.cloud.contract.wiremock;
|
||||||
|
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
import org.springframework.test.context.TestContext;
|
||||||
|
import org.springframework.test.context.support.AbstractTestExecutionListener;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stops the WireMock server after each test class and restarts it before every class
|
||||||
|
*
|
||||||
|
* @author Marcin Grzejszczak
|
||||||
|
* @since 1.2.6
|
||||||
|
*/
|
||||||
|
public final class WireMockTestExecutionListener extends AbstractTestExecutionListener {
|
||||||
|
|
||||||
|
private static final Log log = LogFactory.getLog(WireMockTestExecutionListener.class);
|
||||||
|
|
||||||
|
@Override public void beforeTestClass(TestContext testContext) {
|
||||||
|
try {
|
||||||
|
if (wireMockConfigMissing(testContext)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
WireMockConfiguration wireMockConfiguration = wireMockConfiguration(testContext);
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("WireMock configuration is running [" + wireMockConfiguration.isRunning() + "]");
|
||||||
|
}
|
||||||
|
if (!wireMockConfiguration.isRunning()) {
|
||||||
|
wireMockConfiguration.reset();
|
||||||
|
wireMockConfiguration.init();
|
||||||
|
wireMockConfiguration.start();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Exception occurred while trying to init WireMock configuration", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean wireMockConfigMissing(TestContext testContext) {
|
||||||
|
boolean missing = !testContext.getApplicationContext().containsBean(WireMockConfiguration.class.getName());
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("WireMockConfig is missing [" + missing + "]");
|
||||||
|
}
|
||||||
|
return missing;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override public void afterTestClass(TestContext testContext) {
|
||||||
|
try {
|
||||||
|
if (wireMockConfigMissing(testContext)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
stopWireMockConfiguration(testContext);
|
||||||
|
} catch (Exception e) {
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Exception occurred while trying to init WireMock configuration", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void stopWireMockConfiguration(TestContext testContext) {
|
||||||
|
WireMockConfiguration wireMockConfiguration = wireMockConfiguration(testContext);
|
||||||
|
if (wireMockConfiguration.isRunning()) {
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("WireMock is running, will stop it");
|
||||||
|
}
|
||||||
|
wireMockConfiguration.stop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private WireMockConfiguration wireMockConfiguration(TestContext testContext) {
|
||||||
|
return testContext.getApplicationContext().getBean(WireMockConfiguration.class);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,3 +7,7 @@ org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs=\
|
|||||||
org.springframework.cloud.contract.wiremock.restdocs.WireMockRestDocsConfiguration,\
|
org.springframework.cloud.contract.wiremock.restdocs.WireMockRestDocsConfiguration,\
|
||||||
org.springframework.cloud.contract.wiremock.restdocs.WireMockWebTestClientConfiguration,\
|
org.springframework.cloud.contract.wiremock.restdocs.WireMockWebTestClientConfiguration,\
|
||||||
org.springframework.cloud.contract.wiremock.restdocs.WireMockRestAssuredConfiguration
|
org.springframework.cloud.contract.wiremock.restdocs.WireMockRestAssuredConfiguration
|
||||||
|
|
||||||
|
# Test Execution Listeners
|
||||||
|
org.springframework.test.context.TestExecutionListener=\
|
||||||
|
org.springframework.cloud.contract.wiremock.WireMockTestExecutionListener
|
||||||
@@ -1,23 +1,24 @@
|
|||||||
package org.springframework.cloud.contract.wiremock;
|
package org.springframework.cloud.contract.wiremock;
|
||||||
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
|
||||||
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
|
|
||||||
import org.springframework.test.annotation.DirtiesContext;
|
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
|
||||||
|
|
||||||
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
|
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
|
||||||
import static com.github.tomakehurst.wiremock.client.WireMock.get;
|
import static com.github.tomakehurst.wiremock.client.WireMock.get;
|
||||||
import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
|
import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
|
||||||
import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
|
import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
|
import com.github.tomakehurst.wiremock.WireMockServer;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
|
||||||
|
import org.springframework.test.annotation.DirtiesContext;
|
||||||
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
@AutoConfigureWireMock(port = 12345)
|
||||||
@AutoConfigureWireMock(port = 5432)
|
|
||||||
public class AutoConfigureWireMockApplicationTests {
|
public class AutoConfigureWireMockApplicationTests {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureWireMock(port=0)
|
@AutoConfigureWireMock(port=0)
|
||||||
// Default stubs work at classpath:/mappings
|
// Default stubs work at classpath:/mappings
|
||||||
public class AutoConfigureWireMockAutoStubsApplicationTests {
|
public class AutoConfigureWireMockAutoStubsApplicationTests {
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||||||
AutoConfigureWireMockConfigurationCustomizerTests.Config.class},
|
AutoConfigureWireMockConfigurationCustomizerTests.Config.class},
|
||||||
properties="app.baseUrl=http://localhost:${wiremock.server.port}",
|
properties="app.baseUrl=http://localhost:${wiremock.server.port}",
|
||||||
webEnvironment=WebEnvironment.NONE)
|
webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureWireMock(port=0, stubs="file:src/test/resources/io.stubs/mappings")
|
@AutoConfigureWireMock(port=0, stubs="file:src/test/resources/io.stubs/mappings")
|
||||||
public class AutoConfigureWireMockConfigurationCustomizerTests {
|
public class AutoConfigureWireMockConfigurationCustomizerTests {
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureWireMock(port=0, files="classpath:/root/")
|
@AutoConfigureWireMock(port=0, files="classpath:/root/")
|
||||||
public class AutoConfigureWireMockFilesApplicationTests {
|
public class AutoConfigureWireMockFilesApplicationTests {
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureWireMock(port=0, files="classpath:root")
|
@AutoConfigureWireMock(port=0, files="classpath:root")
|
||||||
public class AutoConfigureWireMockFilesApplicationWithoutSlashTests {
|
public class AutoConfigureWireMockFilesApplicationWithoutSlashTests {
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes = WiremockTestsApplication.class, properties = "app.baseUrl=https://localhost:${wiremock.server.https-port}", webEnvironment = WebEnvironment.NONE)
|
@SpringBootTest(classes = WiremockTestsApplication.class, properties = "app.baseUrl=https://localhost:${wiremock.server.https-port}", webEnvironment = WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureWireMock(httpsPort = 9999, port=0)
|
@AutoConfigureWireMock(httpsPort = 9999, port=0)
|
||||||
public class AutoConfigureWireMockHttpsPortApplicationTests {
|
public class AutoConfigureWireMockHttpsPortApplicationTests {
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes = WiremockTestsApplication.class, properties = "app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment = WebEnvironment.NONE)
|
@SpringBootTest(classes = WiremockTestsApplication.class, properties = "app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment = WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureWireMock(port = 9999)
|
@AutoConfigureWireMock(port = 9999)
|
||||||
public class AutoConfigureWireMockPortApplicationTests {
|
public class AutoConfigureWireMockPortApplicationTests {
|
||||||
|
|
||||||
|
|||||||
@@ -1,22 +1,20 @@
|
|||||||
package org.springframework.cloud.contract.wiremock;
|
package org.springframework.cloud.contract.wiremock;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
|
||||||
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
|
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
|
||||||
import static com.github.tomakehurst.wiremock.client.WireMock.get;
|
import static com.github.tomakehurst.wiremock.client.WireMock.get;
|
||||||
import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
|
import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
|
||||||
import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
|
import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
|
||||||
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
|
|
||||||
import org.springframework.test.annotation.DirtiesContext;
|
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureWireMock(port=0)
|
@AutoConfigureWireMock(port=0)
|
||||||
public class AutoConfigureWireMockRandomPortApplicationTests {
|
public class AutoConfigureWireMockRandomPortApplicationTests {
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=https://localhost:${wiremock.server.https-port}", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=https://localhost:${wiremock.server.https-port}", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureWireMock(port=0, httpsPort=0)
|
@AutoConfigureWireMock(port=0, httpsPort=0)
|
||||||
public class AutoConfigureWireMockRandomPortHttpsApplicationTests {
|
public class AutoConfigureWireMockRandomPortHttpsApplicationTests {
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package org.springframework.cloud.contract.wiremock;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
|
||||||
|
import org.springframework.test.annotation.DirtiesContext;
|
||||||
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
|
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
|
||||||
|
import static com.github.tomakehurst.wiremock.client.WireMock.get;
|
||||||
|
import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
|
||||||
|
import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
|
@RunWith(SpringRunner.class)
|
||||||
|
@SpringBootTest(classes = WiremockTestsApplication.class, properties = "app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment = WebEnvironment.NONE)
|
||||||
|
@AutoConfigureWireMock(port = 9999)
|
||||||
|
// Should manage to register
|
||||||
|
public class AutoConfigureWireMockSamePortApplicationTests {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private Service service;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void contextLoads() throws Exception {
|
||||||
|
stubFor(get(urlEqualTo("/test2")).willReturn(aResponse()
|
||||||
|
.withHeader("Content-Type", "text/plain").withBody("Hello World2!")));
|
||||||
|
assertThat(this.service.go2()).isEqualTo("Hello World2!");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -12,7 +12,6 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureWireMock(port=0, files="classpath:/root/", stubs="file:src/test/resources/io.stubs/mappings")
|
@AutoConfigureWireMock(port=0, files="classpath:/root/", stubs="file:src/test/resources/io.stubs/mappings")
|
||||||
public class AutoConfigureWireMockStubsAndFilesApplicationTests {
|
public class AutoConfigureWireMockStubsAndFilesApplicationTests {
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureWireMock(port=0, files={"classpath:/", "classpath:/root/", "classpath:/nonexistent/"}, stubs="file:src/test/resources/io.stubs/mappings")
|
@AutoConfigureWireMock(port=0, files={"classpath:/", "classpath:/root/", "classpath:/nonexistent/"}, stubs="file:src/test/resources/io.stubs/mappings")
|
||||||
public class AutoConfigureWireMockStubsAndMultipleFilesApplicationTests {
|
public class AutoConfigureWireMockStubsAndMultipleFilesApplicationTests {
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureWireMock(port=0, stubs="file:src/test/resources/io.stubs/mappings")
|
@AutoConfigureWireMock(port=0, stubs="file:src/test/resources/io.stubs/mappings")
|
||||||
public class AutoConfigureWireMockStubsApplicationTests {
|
public class AutoConfigureWireMockStubsApplicationTests {
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:${wiremock.server.port}", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureWireMock(port=0, stubs="file:src/test/resources/io.stubs/mappings/")
|
@AutoConfigureWireMock(port=0, stubs="file:src/test/resources/io.stubs/mappings/")
|
||||||
public class AutoConfigureWireMockStubsApplicationWithSlashTests {
|
public class AutoConfigureWireMockStubsApplicationWithSlashTests {
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ import com.github.tomakehurst.wiremock.junit.WireMockClassRule;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=https://localhost:8443")
|
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=https://localhost:8443")
|
||||||
@DirtiesContext
|
|
||||||
public class WiremockHttpsServerApplicationTests {
|
public class WiremockHttpsServerApplicationTests {
|
||||||
|
|
||||||
@ClassRule
|
@ClassRule
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:5435", webEnvironment=WebEnvironment.NONE)
|
@SpringBootTest(classes=WiremockTestsApplication.class, properties="app.baseUrl=http://localhost:5435", webEnvironment=WebEnvironment.NONE)
|
||||||
@DirtiesContext
|
|
||||||
public class WiremockServerApplicationTests {
|
public class WiremockServerApplicationTests {
|
||||||
|
|
||||||
@ClassRule
|
@ClassRule
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ import wiremock.org.eclipse.jetty.http.HttpStatus;
|
|||||||
@SpringBootTest(classes = TestConfiguration.class)
|
@SpringBootTest(classes = TestConfiguration.class)
|
||||||
@AutoConfigureRestDocs(outputDir = "target/snippets")
|
@AutoConfigureRestDocs(outputDir = "target/snippets")
|
||||||
@AutoConfigureMockMvc
|
@AutoConfigureMockMvc
|
||||||
@DirtiesContext
|
|
||||||
public class WiremockServerRestDocsApplicationTests {
|
public class WiremockServerRestDocsApplicationTests {
|
||||||
|
|
||||||
@Autowired private MockMvc mockMvc;
|
@Autowired private MockMvc mockMvc;
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ import com.github.tomakehurst.wiremock.client.WireMock;
|
|||||||
@SpringBootTest(classes = TestConfiguration.class)
|
@SpringBootTest(classes = TestConfiguration.class)
|
||||||
@AutoConfigureRestDocs(outputDir = "target/snippets")
|
@AutoConfigureRestDocs(outputDir = "target/snippets")
|
||||||
@AutoConfigureMockMvc
|
@AutoConfigureMockMvc
|
||||||
@DirtiesContext
|
|
||||||
public class WiremockServerRestDocsMatcherApplicationTests {
|
public class WiremockServerRestDocsMatcherApplicationTests {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ import wiremock.org.eclipse.jetty.http.HttpStatus;
|
|||||||
@ContextConfiguration(classes = TestConfiguration.class)
|
@ContextConfiguration(classes = TestConfiguration.class)
|
||||||
@AutoConfigureRestDocs(outputDir = "target/snippets/webtestclient")
|
@AutoConfigureRestDocs(outputDir = "target/snippets/webtestclient")
|
||||||
@AutoConfigureWebTestClient
|
@AutoConfigureWebTestClient
|
||||||
@DirtiesContext
|
|
||||||
public class WiremockServerWebTestClientApplicationTests {
|
public class WiremockServerWebTestClientApplicationTests {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ class Controller {
|
|||||||
class Service {
|
class Service {
|
||||||
|
|
||||||
@Value("${app.baseUrl:http://example.org}")
|
@Value("${app.baseUrl:http://example.org}")
|
||||||
private String base;
|
String base;
|
||||||
|
|
||||||
private RestTemplate restTemplate;
|
private RestTemplate restTemplate;
|
||||||
|
|
||||||
@@ -76,6 +76,10 @@ class Service {
|
|||||||
.map(MediaType::valueOf).toArray(MediaType[]::new);
|
.map(MediaType::valueOf).toArray(MediaType[]::new);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String go2() {
|
||||||
|
return this.restTemplate.getForEntity(this.base + "/test2", String.class).getBody();
|
||||||
|
}
|
||||||
|
|
||||||
public void setBase(String base) {
|
public void setBase(String base) {
|
||||||
this.base = base;
|
this.base = base;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
logging:
|
||||||
|
level:
|
||||||
|
org.springframework.cloud.contract: debug
|
||||||
@@ -25,7 +25,6 @@ import org.springframework.cloud.contract.verifier.messaging.MessageVerifier
|
|||||||
import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureMessageVerifier
|
import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureMessageVerifier
|
||||||
import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierObjectMapper;
|
import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierObjectMapper;
|
||||||
import org.springframework.messaging.Message
|
import org.springframework.messaging.Message
|
||||||
import org.springframework.test.annotation.DirtiesContext
|
|
||||||
import org.springframework.test.context.ContextConfiguration
|
import org.springframework.test.context.ContextConfiguration
|
||||||
|
|
||||||
import spock.lang.Specification
|
import spock.lang.Specification
|
||||||
@@ -35,9 +34,8 @@ import com.jayway.jsonpath.JsonPath
|
|||||||
import com.toomuchcoding.jsonassert.JsonAssertion
|
import com.toomuchcoding.jsonassert.JsonAssertion
|
||||||
// Context configuration would end up in base class
|
// Context configuration would end up in base class
|
||||||
@ContextConfiguration(classes = [IntegrationMessagingApplication], loader = SpringBootContextLoader)
|
@ContextConfiguration(classes = [IntegrationMessagingApplication], loader = SpringBootContextLoader)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureMessageVerifier
|
@AutoConfigureMessageVerifier
|
||||||
public class IntegrationMessagingApplicationSpec extends Specification {
|
class IntegrationMessagingApplicationSpec extends Specification {
|
||||||
|
|
||||||
// ALL CASES
|
// ALL CASES
|
||||||
@Inject MessageVerifier<Message<?>> contractVerifierMessaging
|
@Inject MessageVerifier<Message<?>> contractVerifierMessaging
|
||||||
|
|||||||
@@ -25,8 +25,7 @@ import org.springframework.cloud.contract.spec.Contract
|
|||||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifier
|
import org.springframework.cloud.contract.verifier.messaging.MessageVerifier
|
||||||
import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureMessageVerifier
|
import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureMessageVerifier
|
||||||
import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierObjectMapper;
|
import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierObjectMapper;
|
||||||
import org.springframework.messaging.Message;
|
import org.springframework.messaging.Message
|
||||||
import org.springframework.test.annotation.DirtiesContext
|
|
||||||
import org.springframework.test.context.ContextConfiguration
|
import org.springframework.test.context.ContextConfiguration
|
||||||
|
|
||||||
import spock.lang.Specification
|
import spock.lang.Specification
|
||||||
@@ -40,9 +39,8 @@ import com.toomuchcoding.jsonassert.JsonAssertion
|
|||||||
*/
|
*/
|
||||||
// Context configuration would end up in base class
|
// Context configuration would end up in base class
|
||||||
@ContextConfiguration(classes = [SpringMessagingApplication], loader = SpringBootContextLoader)
|
@ContextConfiguration(classes = [SpringMessagingApplication], loader = SpringBootContextLoader)
|
||||||
@DirtiesContext
|
|
||||||
@AutoConfigureMessageVerifier
|
@AutoConfigureMessageVerifier
|
||||||
public class SpringApplicationSpec extends Specification {
|
class SpringApplicationSpec extends Specification {
|
||||||
|
|
||||||
// ALL CASES
|
// ALL CASES
|
||||||
@Inject MessageVerifier<Message<?>> contractVerifierMessaging
|
@Inject MessageVerifier<Message<?>> contractVerifierMessaging
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ import org.springframework.cloud.contract.verifier.messaging.MessageVerifier
|
|||||||
import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureMessageVerifier
|
import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureMessageVerifier
|
||||||
import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierObjectMapper
|
import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierObjectMapper
|
||||||
import org.springframework.messaging.Message
|
import org.springframework.messaging.Message
|
||||||
import org.springframework.test.annotation.DirtiesContext
|
|
||||||
import org.springframework.test.context.ContextConfiguration
|
import org.springframework.test.context.ContextConfiguration
|
||||||
import spock.lang.Specification
|
import spock.lang.Specification
|
||||||
|
|
||||||
@@ -37,7 +36,6 @@ import javax.inject.Inject
|
|||||||
*/
|
*/
|
||||||
// Context configuration would end up in base class
|
// Context configuration would end up in base class
|
||||||
@ContextConfiguration(classes = [StreamMessagingApplication], loader = SpringBootContextLoader)
|
@ContextConfiguration(classes = [StreamMessagingApplication], loader = SpringBootContextLoader)
|
||||||
@DirtiesContext
|
|
||||||
@SpringBootTest(properties = "debug=true")
|
@SpringBootTest(properties = "debug=true")
|
||||||
@AutoConfigureMessageVerifier
|
@AutoConfigureMessageVerifier
|
||||||
class StreamMessagingApplicationSpec extends Specification {
|
class StreamMessagingApplicationSpec extends Specification {
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ import org.springframework.context.annotation.Bean
|
|||||||
import org.springframework.context.annotation.Configuration
|
import org.springframework.context.annotation.Configuration
|
||||||
import org.springframework.http.HttpMethod
|
import org.springframework.http.HttpMethod
|
||||||
import org.springframework.http.client.ClientHttpResponse
|
import org.springframework.http.client.ClientHttpResponse
|
||||||
import org.springframework.test.annotation.DirtiesContext
|
|
||||||
import org.springframework.test.context.ContextConfiguration
|
import org.springframework.test.context.ContextConfiguration
|
||||||
import org.springframework.web.client.*
|
import org.springframework.web.client.*
|
||||||
import spock.lang.AutoCleanup
|
import spock.lang.AutoCleanup
|
||||||
@@ -58,7 +57,6 @@ import spock.util.concurrent.PollingConditions
|
|||||||
"org.springframework.cloud.contract.verifier.stubs:bootService"],
|
"org.springframework.cloud.contract.verifier.stubs:bootService"],
|
||||||
repositoryRoot = "classpath:m2repo/repository/",
|
repositoryRoot = "classpath:m2repo/repository/",
|
||||||
stubsMode = StubRunnerProperties.StubsMode.REMOTE)
|
stubsMode = StubRunnerProperties.StubsMode.REMOTE)
|
||||||
@DirtiesContext
|
|
||||||
class StubRunnerSpringCloudEurekaAutoConfigurationSpec extends Specification {
|
class StubRunnerSpringCloudEurekaAutoConfigurationSpec extends Specification {
|
||||||
|
|
||||||
@Autowired StubFinder stubFinder
|
@Autowired StubFinder stubFinder
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ import org.springframework.cloud.zookeeper.ZookeeperProperties
|
|||||||
import org.springframework.cloud.zookeeper.discovery.ZookeeperDiscoveryClient
|
import org.springframework.cloud.zookeeper.discovery.ZookeeperDiscoveryClient
|
||||||
import org.springframework.context.annotation.Bean
|
import org.springframework.context.annotation.Bean
|
||||||
import org.springframework.context.annotation.Configuration
|
import org.springframework.context.annotation.Configuration
|
||||||
import org.springframework.test.annotation.DirtiesContext
|
|
||||||
import org.springframework.test.context.ContextConfiguration
|
import org.springframework.test.context.ContextConfiguration
|
||||||
import org.springframework.util.SocketUtils
|
import org.springframework.util.SocketUtils
|
||||||
import org.springframework.web.client.RestTemplate
|
import org.springframework.web.client.RestTemplate
|
||||||
@@ -51,7 +50,6 @@ import spock.lang.Specification
|
|||||||
"org.springframework.cloud.contract.verifier.stubs:bootService"],
|
"org.springframework.cloud.contract.verifier.stubs:bootService"],
|
||||||
repositoryRoot = "classpath:m2repo/repository/",
|
repositoryRoot = "classpath:m2repo/repository/",
|
||||||
stubsMode = StubRunnerProperties.StubsMode.REMOTE)
|
stubsMode = StubRunnerProperties.StubsMode.REMOTE)
|
||||||
@DirtiesContext
|
|
||||||
class StubRunnerSpringCloudZookeeperAutoConfigurationSpec extends Specification {
|
class StubRunnerSpringCloudZookeeperAutoConfigurationSpec extends Specification {
|
||||||
|
|
||||||
@Autowired StubFinder stubFinder
|
@Autowired StubFinder stubFinder
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ import org.springframework.boot.web.server.LocalServerPort;
|
|||||||
import org.springframework.cloud.contract.stubrunner.StubFinder;
|
import org.springframework.cloud.contract.stubrunner.StubFinder;
|
||||||
import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner;
|
import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner;
|
||||||
import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties;
|
import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties;
|
||||||
import org.springframework.test.annotation.DirtiesContext;
|
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
@@ -27,7 +26,6 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||||||
@AutoConfigureStubRunner(repositoryRoot = "classpath:m2repo/repository/",
|
@AutoConfigureStubRunner(repositoryRoot = "classpath:m2repo/repository/",
|
||||||
ids = { "org.springframework.cloud.contract.verifier.stubs:contextPathFraudDetectionServer" },
|
ids = { "org.springframework.cloud.contract.verifier.stubs:contextPathFraudDetectionServer" },
|
||||||
stubsMode = StubRunnerProperties.StubsMode.REMOTE)
|
stubsMode = StubRunnerProperties.StubsMode.REMOTE)
|
||||||
@DirtiesContext
|
|
||||||
public class LoanApplicationServiceTests {
|
public class LoanApplicationServiceTests {
|
||||||
// end::autoconfigure_stubrunner[]
|
// end::autoconfigure_stubrunner[]
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ import org.springframework.cloud.stream.messaging.Sink
|
|||||||
import org.springframework.context.annotation.Bean
|
import org.springframework.context.annotation.Bean
|
||||||
import org.springframework.context.annotation.Configuration
|
import org.springframework.context.annotation.Configuration
|
||||||
import org.springframework.stereotype.Component
|
import org.springframework.stereotype.Component
|
||||||
import org.springframework.test.annotation.DirtiesContext
|
|
||||||
import org.springframework.test.context.ActiveProfiles
|
import org.springframework.test.context.ActiveProfiles
|
||||||
import org.springframework.test.context.ContextConfiguration
|
import org.springframework.test.context.ContextConfiguration
|
||||||
import spock.lang.Specification
|
import spock.lang.Specification
|
||||||
@@ -43,7 +42,6 @@ import spock.lang.Specification
|
|||||||
@AutoConfigureStubRunner( ids = ["com.example:fraudDetectionServerMoco"],
|
@AutoConfigureStubRunner( ids = ["com.example:fraudDetectionServerMoco"],
|
||||||
stubsMode = StubRunnerProperties.StubsMode.CLASSPATH)
|
stubsMode = StubRunnerProperties.StubsMode.CLASSPATH)
|
||||||
// end::[classpath_stub_runner]
|
// end::[classpath_stub_runner]
|
||||||
@DirtiesContext
|
|
||||||
@ActiveProfiles("test")
|
@ActiveProfiles("test")
|
||||||
class MocoHttpServerStubSpec extends Specification {
|
class MocoHttpServerStubSpec extends Specification {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user