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

@@ -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'