Compare commits

..

27 Commits

Author SHA1 Message Date
Tom Hombergs
ed45066496 updated pact-feign example to Spring Boot 2 and JUnit 5 2018-08-10 00:09:11 +02:00
Tom Hombergs
fb148fcd14 added article link 2018-06-11 22:33:27 +02:00
Tom Hombergs
a07407dc9f changed CI config to skip build on docs-only-changes 2018-06-11 22:15:15 +02:00
Tom Hombergs
5e4c962b21 Merge pull request #6 from thombergs/spring-boot-testing
Spring boot testing
2018-05-27 22:31:06 +02:00
Tom Hombergs
500ee0a04f ignored test because it cannot run on CI 2018-05-27 21:55:26 +02:00
Tom Hombergs
4d67dd44d0 fix 2018-05-27 21:10:15 +02:00
Tom Hombergs
a4d70d5835 Example application for structuring a Spring Boot app 2018-05-27 20:55:24 +02:00
Tom Hombergs
f2b83425ac inital checking for spring-boot-test example project 2018-05-20 20:38:28 +02:00
Tom Hombergs
fe9e15b813 Update README.md 2018-03-20 21:48:25 +01:00
Tom Hombergs
9e66b87b18 Update README.md 2018-03-20 21:47:40 +01:00
Tom Hombergs
9bae6d560a Update README.md 2018-03-20 21:36:10 +01:00
Tom Hombergs
9d58b1323e Update README.md 2018-03-20 21:32:59 +01:00
Tom Hombergs
612863cb2a Update README.md 2018-03-20 21:32:10 +01:00
Tom Hombergs
f854262f80 changed package name 2018-03-18 22:44:54 +01:00
Tom Hombergs
11d70c0c12 pact feign consumer example 2018-03-17 12:58:11 +01:00
Tom Hombergs
4e26aa589e moved deprecated modules 2018-03-17 12:04:05 +01:00
Tom Hombergs
5d76ba1375 added example for modularizing a Spring Boot application 2018-02-01 23:32:01 +01:00
Tom Hombergs
1d50d8f513 ignoring offline cdc test 2018-01-18 22:48:20 +01:00
Tom Hombergs
0e4b84b72e polishing spring-cloud-contract consumer example 2018-01-18 22:19:42 +01:00
Tom Hombergs
60de5fafac Merge remote-tracking branch 'origin/master' 2018-01-17 21:45:54 +01:00
Tom Hombergs
21b2bccbad added spring cloud contract consumer example 2018-01-17 21:45:43 +01:00
Tom Hombergs
f4a0addd24 Update README.md 2018-01-15 16:40:22 +01:00
Tom Hombergs
a5e7696775 added pact contract 2018-01-13 12:53:21 +01:00
Tom Hombergs
d68a99e92b polishing and readme 2018-01-10 00:09:05 +01:00
Tom Hombergs
3a6149b190 added links to blog posts 2018-01-08 22:51:48 +01:00
Tom Hombergs
2c775cdaa2 refactored gradle project structure 2018-01-08 22:32:55 +01:00
Tom Hombergs
387d9a5711 Merge pull request #5 from thombergs/spring-cloud-contract
added example with spring cloud contract
2018-01-08 22:05:48 +01:00
311 changed files with 2711 additions and 36 deletions

View File

@@ -0,0 +1,11 @@
<component name="libraryTable">
<library name="Gradle: org.projectlombok:lombok:1.16.20">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.projectlombok/lombok/1.16.20/ac76d9b956045631d1561a09289cbf472e077c01/lombok-1.16.20.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.projectlombok/lombok/1.16.20/69ebf81bb97bdb3c9581c171762bb4929cb5289c/lombok-1.16.20-sources.jar!/" />
</SOURCES>
</library>
</component>

13
.idea/modules/spring-boot-testing.iml generated Normal file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id="spring-boot-testing" external.linked.project.path="$MODULE_DIR$/../../spring-boot/spring-boot-testing" external.root.project.path="$MODULE_DIR$/../../spring-boot/spring-boot-testing" external.system.id="GRADLE" external.system.module.group="reflectoring.io" external.system.module.version="0.0.1-SNAPSHOT" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$/../../spring-boot/spring-boot-testing">
<excludeFolder url="file://$MODULE_DIR$/../../spring-boot/spring-boot-testing/.gradle" />
<excludeFolder url="file://$MODULE_DIR$/../../spring-boot/spring-boot-testing/build" />
<excludeFolder url="file://$MODULE_DIR$/../../spring-boot/spring-boot-testing/out" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -1,5 +1,11 @@
before_install:
- chmod +x gradlew
- |
if ! git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '(.md)|^(LICENSE)'
then
echo "Not running CI since only docs were changed."
exit
fi
language: java

View File

@@ -1,7 +0,0 @@
spring.datasource.url=jdbc:h2:mem:AZ;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.h2.console.enabled=true
logging.level.org.hibernate.SQL=OFF

View File

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -0,0 +1,11 @@
# Testing a Spring Boot REST API Consumer against a Contract with Pact
## Companion Blog Article
Read the [companion blog article](http://localhost:4000/consumer-driven-contract-feign-pact/) to this repository.
## Getting Started
* have a look at the [feign client](src/main/java/io/reflectoring/UserClient.java)
* have a look at the [consumer test](src/test/java/io/reflectoring/UserServiceConsumerTest.java)
* run `./gradlew build` in this project to create a pact and run the consumer test
* afterwards, find the pact contract file in the folder `target/pacts`

View File

@@ -0,0 +1,5 @@
userservice:
ribbon:
eureka:
enabled: false
listOfServers: localhost:8080

View File

@@ -0,0 +1,50 @@
buildscript {
repositories {
mavenLocal()
jcenter()
}
dependencies {
classpath "org.springframework.boot:spring-boot-gradle-plugin:${springboot_version}"
}
}
plugins {
id "au.com.dius.pact" version "3.5.20"
}
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
version '1.0.0.SNAPSHOT'
repositories {
mavenLocal()
jcenter()
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springcloud_version}"
}
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.springframework.cloud:spring-cloud-starter-openfeign')
compile('org.springframework.cloud:spring-cloud-starter-netflix-ribbon')
compile('com.h2database:h2:1.4.196')
testCompile('org.codehaus.groovy:groovy-all:2.4.6')
testCompile("au.com.dius:pact-jvm-consumer-junit5_2.12:${pact_version}")
testCompile('org.springframework.boot:spring-boot-starter-test')
}
pact {
publish {
pactDirectory = 'target/pacts'
pactBrokerUrl = 'URL'
pactBrokerUsername = 'USERNAME'
pactBrokerPassword = 'PASSWORD'
}
}

View File

@@ -0,0 +1,3 @@
springboot_version=2.0.4.RELEASE
springcloud_version=Finchley.SR1
pact_version=3.5.20

Some files were not shown because too many files have changed in this diff Show More