Merge branch '1.2.x'

This commit is contained in:
Marcin Grzejszczak
2018-01-25 12:50:49 +01:00
42 changed files with 1855 additions and 56 deletions

View File

@@ -1,3 +1,3 @@
stubrunner:
work-offline: true
stubs-mode: local
stubs.ids: 'com.example:http-server-dsl-gradle:+:stubs:6565'

View File

@@ -0,0 +1,2 @@
stubrunner:
stubs.ids: 'com.example:http-server-restdocs-gradle'

View File

@@ -41,10 +41,11 @@ dependencies {
testCompile 'org.springframework.cloud:spring-cloud-contract-wiremock'
testCompile 'org.springframework.cloud:spring-cloud-starter-contract-stub-runner'
testCompile "org.springframework.boot:spring-boot-starter-test"
testCompile "com.example:http-server-webclient:0.0.1-SNAPSHOT:stubs"
testCompile "com.example:http-server-webclient-gradle:0.0.1-SNAPSHOT:stubs"
}
test {
include '**/*GradleTests*'
systemProperty 'spring.profiles.active', 'gradle'
testLogging {
exceptionFormat = 'full'

View File

@@ -90,6 +90,16 @@
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<excludes>
<exclude>**/*GradleTests.java</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>

View File

@@ -0,0 +1,58 @@
package com.example.loan;
import com.example.loan.model.Client;
import com.example.loan.model.LoanApplication;
import com.example.loan.model.LoanApplicationResult;
import com.example.loan.model.LoanApplicationStatus;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner;
import org.springframework.test.context.junit4.SpringRunner;
import static org.assertj.core.api.Assertions.assertThat;
@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureStubRunner(ids = "com.example:http-server-webclient-gradle")
public class LoanApplicationServiceusingStubRunnerGradleTests {
@Autowired LoanApplicationService service;
@Value("${stubrunner.runningstubs.http-server-webclient-gradle.port}") int port;
@Before
public void setup() {
this.service.setPort(this.port);
}
@Test
public void shouldSuccessfullyApplyForLoan() throws Exception {
// given
LoanApplication application = new LoanApplication(new Client("1234567890"),
123.123);
// when:
LoanApplicationResult loanApplication = service.loanApplication(application);
// then:
assertThat(loanApplication.getLoanApplicationStatus())
.isEqualTo(LoanApplicationStatus.LOAN_APPLIED);
assertThat(loanApplication.getRejectionReason()).isNull();
}
@Test
public void shouldBeRejectedDueToAbnormalLoanAmount() throws Exception {
// given:
LoanApplication application = new LoanApplication(new Client("1234567890"),
99999);
// when:
LoanApplicationResult loanApplication = service.loanApplication(application);
// then:
assertThat(loanApplication.getLoanApplicationStatus())
.isEqualTo(LoanApplicationStatus.LOAN_APPLICATION_REJECTED);
assertThat(loanApplication.getRejectionReason()).isEqualTo("Amount too high");
}
}

View File

@@ -0,0 +1,2 @@
stubrunner:
stubs.ids: 'com.example:http-server-webclient-gradle'

View File

@@ -8,6 +8,7 @@ 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.cloud.contract.stubrunner.spring.AutoConfigureStubRunner;
import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit4.SpringRunner;
@@ -18,7 +19,8 @@ import com.example.loan.model.LoanApplicationStatus;
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment=WebEnvironment.NONE, properties="server.context-path=/app")
@AutoConfigureStubRunner(ids = {"com.example:http-server-yml:+:stubs:6569"}, workOffline = true)
@AutoConfigureStubRunner(ids = {"com.example:http-server-yml:+:stubs:6569"},
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
@DirtiesContext
public class LoanApplicationServiceContextPathTests {

View File

@@ -6,6 +6,7 @@ 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.cloud.contract.stubrunner.spring.AutoConfigureStubRunner;
import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit4.SpringRunner;
@@ -19,7 +20,8 @@ import static org.assertj.core.api.Assertions.assertThat;
// tag::autoconfigure_stubrunner[]
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
@AutoConfigureStubRunner(ids = {"com.example:http-server-yml:+:stubs:6569"}, workOffline = true)
@AutoConfigureStubRunner(ids = {"com.example:http-server-yml:+:stubs:6569"},
stubsMode = StubRunnerProperties.StubsMode.LOCAL)
@DirtiesContext
public class LoanApplicationServiceTests {
// end::autoconfigure_stubrunner[]

View File

@@ -1,3 +1,3 @@
stubrunner:
work-offline: true
stubs.ids: 'com.example:http-server-dsl-gradle:+:stubs:6565'
stubs-mode: local
stubs.ids: 'com.example:http-server-yml-gradle:+:stubs:6569'

View File

@@ -1,3 +0,0 @@
stubrunner:
ids: 'com.example:http-server-dsl:+:stubs:8080'
repositoryRoot: http://repo.spring.io/libs-snapshot

View File

@@ -1,2 +1,2 @@
server:
port: 6565
port: 6569