Fix spring cloud contract example

When `workOffline` is `false` a Maven repository must be provided to let
it download the stubs.

Closes gh-426
This commit is contained in:
Stephane Nicoll
2017-05-08 14:35:20 +02:00
parent b18770871c
commit aa828b388f
3 changed files with 36 additions and 27 deletions

View File

@@ -8,6 +8,7 @@ Stéphane Nicoll; Dave Syer
:icons: font
:hide-uri-scheme:
:test-examples: ../../test/java/io/spring/initializr
:initializr-repo: snapshot
:github-tag: master
:github-repo: spring-io/initializr
:github-raw: https://raw.github.com/{github-repo}/{github-tag}

View File

@@ -33,20 +33,20 @@ and then pull the stubs from the classpath. In a Spring Boot application, using
Spring Cloud Contract, you can start a WireMock server and register all the stubs
with it like this:
[source,java,subs="attributes"]
[source,java,indent=0,subs="attributes"]
----
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.NONE)
@AutoConfigureWireMock(port = 0,
stubs="classpath:META-INF/io.spring.initializr/initializr-web/{spring-initializr-version}")
public class ClientApplicationTests {
@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureWireMock(port = 0,
stubs="classpath:META-INF/io.spring.initializr/initializr-web/{spring-initializr-version}")
public class ClientApplicationTests {
@Value("${wiremock.server.port}")
private int port;
@Value("${wiremock.server.port}")
private int port;
...
...
}
}
----
The Wiremock features come with Spring Cloud Contract Wiremock:
@@ -73,31 +73,31 @@ stubs declared as a dependency):
[source,xml,indent=0,subs="attributes,specialchars"]
----
<dependencies>
...
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-contract-stubrunner</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-contract-stubrunner</artifactId>
<scope>test</scope>
</dependency>
----
The test should use `@AutoConfigureStubRunner` instead:
[source,java,subs="attributes,specialchars"]
[source,java,indent=0,,subs="attributes,specialchars"]
----
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.NONE)
@AutoConfigureStubRunner(ids = "io.spring.initializr:initializr-web:{spring-initializr-version}")
public class ClientApplicationTests {
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.NONE)
@AutoConfigureStubRunner(
ids = "io.spring.initializr:initializr-web:{spring-initializr-version}",
repositoryRoot = "https://repo.spring.io/{initializr-repo}")
public class ClientApplicationTests {
@Value("${wiremock.server.port}")
private int port;
@Autowired
private StubFinder stubFinder;
...
}
...
}
----
Here is an example of a test that retrieves the metadata of the service. The assertions