diff --git a/accurest b/accurest new file mode 160000 index 0000000000..c9c637ed95 --- /dev/null +++ b/accurest @@ -0,0 +1 @@ +Subproject commit c9c637ed95c252e76ed6876ab879cee2fec96e52 diff --git a/docs/pom.xml b/docs/pom.xml index a9b26fb613..60b38070e2 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-parent 1.0.0.BUILD-SNAPSHOT .. diff --git a/docs/src/main/asciidoc/contract.adoc b/docs/src/main/asciidoc/contract.adoc index fd39fe93d2..37d5c8e33c 100644 --- a/docs/src/main/asciidoc/contract.adoc +++ b/docs/src/main/asciidoc/contract.adoc @@ -5,8 +5,8 @@ == Contract DSL IMPORTANT: Remember that inside the contract file you have to provide the fully qualified name to -the `Contract` class and the `make` static import i.e. `org.springframework.cloud.contract.spec.Contract.make { ... }`. -You can also provide an import to the `Contract` class `import org.springframework.cloud.contract.spec.Contract` and then call +the `Contract` class and the `make` static import i.e. `org.springframework.cloud.spec.Contract.make { ... }`. +You can also provide an import to the `Contract` class `import org.springframework.cloud.spec.Contract` and then call `Contract.make { ... }` Contract DSL is written in Groovy, but don't be alarmed if you didn't use Groovy before. Knowledge of the language is not really needed as our DSL uses only @@ -24,7 +24,7 @@ include::{verifier_core_path}/src/test/groovy/org/springframework/cloud/contract Not all features of the DSL are used in example above. If you didn't find what you are looking for, please check next paragraphs on this page. -> You can easily compile Contracts to WireMock stubs mapping using standalone maven command: `mvn org.springframework.cloud.contract:spring-cloud-contract-verifier-maven-plugin:convert`. +> You can easily compile Contracts to WireMock stubs mapping using standalone maven command: `mvn org.springframework.cloud:spring-cloud-contract-verifier-maven-plugin:convert`. === Limitations diff --git a/docs/src/main/asciidoc/messaging.adoc b/docs/src/main/asciidoc/messaging.adoc index 3b3f0e0c0c..76e6c6ed40 100644 --- a/docs/src/main/asciidoc/messaging.adoc +++ b/docs/src/main/asciidoc/messaging.adoc @@ -22,11 +22,11 @@ You have to provide as a dependency one of the Spring Cloud Contract Verifier Me [source,groovy,indent=0] ---- // for Apache Camel -testCompile "org.springframework.cloud.contract:spring-cloud-contract-verifier-camel:${verifierVersion}" +testCompile "org.springframework.cloud:spring-cloud-contract-verifier-camel:${verifierVersion}" // for Spring Integration -testCompile "org.springframework.cloud.contract:spring-cloud-contract-verifier-integration:${verifierVersion}" +testCompile "org.springframework.cloud:spring-cloud-contract-verifier-integration:${verifierVersion}" // for Spring Cloud Stream -testCompile "org.springframework.cloud.contract:spring-cloud-contract-verifier-stream:${verifierVersion}" +testCompile "org.springframework.cloud:spring-cloud-contract-verifier-stream:${verifierVersion}" ---- === Manual Integration @@ -45,7 +45,7 @@ You have to provide as a dependency the `spring-cloud-contract-verifier-messagin [source,groovy,indent=0] ---- -testCompile "org.springframework.cloud.contract:spring-cloud-contract-verifier-messaging-core:${verifierVersion}" +testCompile "org.springframework.cloud:spring-cloud-contract-verifier-messaging-core:${verifierVersion}" ---- === Publisher side test generation diff --git a/docs/src/main/asciidoc/rest.adoc b/docs/src/main/asciidoc/rest.adoc index 49292e0f8f..feb9d8c3d4 100644 --- a/docs/src/main/asciidoc/rest.adoc +++ b/docs/src/main/asciidoc/rest.adoc @@ -19,7 +19,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'org.springframework.cloud.contract:spring-cloud-contract-verifier-gradle-plugin:${verifier_version}' + classpath 'org.springframework.cloud:spring-cloud-contract-verifier-gradle-plugin:${verifier_version}' } } @@ -51,7 +51,7 @@ repositories { [source,xml,indent=0] ---- - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-maven-plugin @@ -102,7 +102,7 @@ contractVerifier { testMode = 'MockMvc' generatedTestSourcesDir = project.file("${project.buildDir}/generated-test-sources/contracts") contractsDslDir = "${project.rootDir}/src/test/resources/contracts" - basePackageForTests = 'org.springframework.cloud.contract.verifier.tests' + basePackageForTests = 'org.springframework.cloud.verifier.tests' stubsOutputDir = project.file("${project.buildDir}/stubs") } @@ -151,7 +151,7 @@ contractVerifier { - **testMode** - defines mode for acceptance tests. By default MockMvc which is based on Spring's MockMvc. It can also be changed to **JaxRsClient** or to **Explicit** for real HTTP calls. - **imports** - array with imports that should be included in generated tests (for example ['org.myorg.Matchers']). By default empty array [] - **staticImports** - array with static imports that should be included in generated tests(for example ['org.myorg.Matchers.*']). By default empty array [] - - **basePackageForTests** - specifies base package for all generated tests. By default set to org.springframework.cloud.contract.verifier.tests + - **basePackageForTests** - specifies base package for all generated tests. By default set to org.springframework.cloud.verifier.tests - **baseClassForTests** - base class for generated tests. By default `spock.lang.Specification` if using Spock tests. - **ruleClassForTests** - specifies Rule which should be added to generated test classes. - **ignoredFiles** - Ant matcher allowing defining stub files for which processing should be skipped. By default empty array [] @@ -229,7 +229,7 @@ Underneath LoanApplication makes a call to FraudDetection service. This request [source,xml,indent=0] ---- - org.springframework.cloud.contract.verifier + org.springframework.cloud.verifier spring-cloud-contract-verifier-maven-plugin @@ -273,7 +273,7 @@ To change default configuration just add `configuration` section to plugin defin [source,xml,indent=0] ---- - org.springframework.cloud.contract.verifier + org.springframework.cloud.verifier spring-cloud-contract-verifier-maven-plugin @@ -285,8 +285,8 @@ To change default configuration just add `configuration` section to plugin defin - org.springframework.cloud.contract.verifier.twitter.place - org.springframework.cloud.contract.verifier.twitter.place.BaseMockMvcSpec + org.springframework.cloud.verifier.twitter.place + org.springframework.cloud.verifier.twitter.place.BaseMockMvcSpec ---- @@ -294,7 +294,7 @@ To change default configuration just add `configuration` section to plugin defin ===== Important configuration options - **testMode** - defines mode for acceptance tests. By default `MockMvc` which is based on Spring's MockMvc. It can also be changed to `JaxRsClient` or to `Explicit` for real HTTP calls. - - **basePackageForTests** - specifies base package for all generated tests. By default set to `org.springframework.cloud.contract.verifier.tests`. + - **basePackageForTests** - specifies base package for all generated tests. By default set to `org.springframework.cloud.verifier.tests`. - **ruleClassForTests** - specifies Rule which should be added to generated test classes. - **baseClassForTests** - base class for generated tests. By default `spock.lang.Specification` if using Spock tests. - **contractsDir** - directory containing contracts written using the GroovyDSL. By default `/src/test/resources/contracts`. @@ -372,7 +372,7 @@ Sample configuration: [source,xml,indent=0] ---- - org.springframework.cloud.contract.verifier + org.springframework.cloud.verifier spring-cloud-contract-verifier-maven-plugin ${verifier-plugin.version} diff --git a/pom.xml b/pom.xml index 8b8f0f15f4..2a6fb67a95 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,6 @@ - org.springframework.cloud.contract spring-cloud-contract-parent pom 1.0.0.BUILD-SNAPSHOT @@ -58,7 +57,7 @@ 3.3 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-dependencies ${project.version} pom diff --git a/samples/pom.xml b/samples/pom.xml index b8a0135455..ca311be366 100644 --- a/samples/pom.xml +++ b/samples/pom.xml @@ -4,7 +4,7 @@ 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-parent 1.0.0.BUILD-SNAPSHOT .. diff --git a/samples/samples-messaging-camel/pom.xml b/samples/samples-messaging-camel/pom.xml index 60d977991b..f0a2e9ef9a 100644 --- a/samples/samples-messaging-camel/pom.xml +++ b/samples/samples-messaging-camel/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-samples 1.0.0.BUILD-SNAPSHOT .. @@ -14,7 +14,7 @@ Spring Cloud Contract Sample Camel - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-core @@ -41,7 +41,7 @@ ${camel.version} - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-camel test diff --git a/samples/samples-messaging-integration/pom.xml b/samples/samples-messaging-integration/pom.xml index f79574f2e9..4a6a68d2ed 100644 --- a/samples/samples-messaging-integration/pom.xml +++ b/samples/samples-messaging-integration/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-samples 1.0.0.BUILD-SNAPSHOT .. @@ -14,7 +14,7 @@ Spring Cloud Contract Sample Spring Integration - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-core @@ -28,7 +28,7 @@ ${spring-boot.version} - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-integration test diff --git a/samples/samples-messaging-spring/pom.xml b/samples/samples-messaging-spring/pom.xml index 8a5ef86d4a..80aad9ca35 100644 --- a/samples/samples-messaging-spring/pom.xml +++ b/samples/samples-messaging-spring/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-samples 1.0.0.BUILD-SNAPSHOT .. @@ -14,7 +14,7 @@ Spring Cloud Contract Sample Spring - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-core @@ -33,7 +33,7 @@ 5.12.1 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-messaging-core test diff --git a/samples/samples-messaging-stream/pom.xml b/samples/samples-messaging-stream/pom.xml index 8aa22dec23..9b72b4581b 100644 --- a/samples/samples-messaging-stream/pom.xml +++ b/samples/samples-messaging-stream/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-samples 1.0.0.BUILD-SNAPSHOT .. @@ -14,7 +14,7 @@ Spring Cloud Contract Sample Spring Cloud Stream - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-core @@ -23,7 +23,7 @@ ${spring-cloud-stream.version} - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-stream test diff --git a/samples/samples-standalone/contract-verifier-sample-stream-sink/build.gradle b/samples/samples-standalone/contract-verifier-sample-stream-sink/build.gradle index c17ad16f83..b4f615bb7b 100644 --- a/samples/samples-standalone/contract-verifier-sample-stream-sink/build.gradle +++ b/samples/samples-standalone/contract-verifier-sample-stream-sink/build.gradle @@ -14,7 +14,7 @@ buildscript { } } -group = 'org.springframework.cloud.contract.testprojects' +group = 'org.springframework.cloud.testprojects' version = '0.0.1-SNAPSHOT' repositories { @@ -32,6 +32,7 @@ apply plugin: 'maven-publish' dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:$BOM_VERSION" + mavenBom "org.springframework.cloud:spring-cloud-contract-dependencies:${project.findProperty('verifierVersion') ?: verifierVersion}" } } @@ -45,7 +46,7 @@ dependencies { testCompile "org.spockframework:spock-core" testCompile "org.springframework.boot:spring-boot-starter-test" testCompile "junit:junit" - testCompile "org.springframework.cloud.contract:spring-cloud-contract-stub-runner-stream:${findProperty('verifierVersion') ?: verifierVersion}" + testCompile "org.springframework.cloud:spring-cloud-contract-stub-runner-stream:${project.findProperty('verifierVersion') ?: verifierVersion}" } test { diff --git a/samples/samples-standalone/contract-verifier-sample-stream-sink/pom.xml b/samples/samples-standalone/contract-verifier-sample-stream-sink/pom.xml index 626732706a..0896b4895c 100644 --- a/samples/samples-standalone/contract-verifier-sample-stream-sink/pom.xml +++ b/samples/samples-standalone/contract-verifier-sample-stream-sink/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract.testprojects + org.springframework.cloud.testprojects contract-verifier-sample-stream-sink 0.0.1-SNAPSHOT jar @@ -36,7 +36,7 @@ test - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner-stream test @@ -45,7 +45,7 @@ - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-dependencies ${spring-cloud-contract.version} pom diff --git a/samples/samples-standalone/contract-verifier-sample-stream-sink/src/test/resources/application.yml b/samples/samples-standalone/contract-verifier-sample-stream-sink/src/test/resources/application.yml index f80ed31b18..4c373f8a45 100644 --- a/samples/samples-standalone/contract-verifier-sample-stream-sink/src/test/resources/application.yml +++ b/samples/samples-standalone/contract-verifier-sample-stream-sink/src/test/resources/application.yml @@ -1,3 +1,3 @@ stubrunner: work-offline: true - stubs.ids: 'org.springframework.cloud.contract.testprojects:contract-verifier-sample-stream-source' \ No newline at end of file + stubs.ids: 'org.springframework.cloud.testprojects:contract-verifier-sample-stream-source' \ No newline at end of file diff --git a/samples/samples-standalone/contract-verifier-sample-stream-source/build.gradle b/samples/samples-standalone/contract-verifier-sample-stream-source/build.gradle index a11184022f..0294b7ee20 100644 --- a/samples/samples-standalone/contract-verifier-sample-stream-source/build.gradle +++ b/samples/samples-standalone/contract-verifier-sample-stream-source/build.gradle @@ -9,11 +9,11 @@ buildscript { } dependencies { classpath "org.springframework.boot:spring-boot-gradle-plugin:1.4.0.BUILD-SNAPSHOT" - classpath "org.springframework.cloud.contract:spring-cloud-contract-verifier-gradle-plugin:${findProperty('verifierVersion') ?: verifierVersion}" + classpath "org.springframework.cloud:spring-cloud-contract-verifier-gradle-plugin:${findProperty('verifierVersion') ?: verifierVersion}" } } -group = 'org.springframework.cloud.contract.testprojects' +group = 'org.springframework.cloud.testprojects' version = '0.0.1-SNAPSHOT' repositories { @@ -33,6 +33,7 @@ apply plugin: 'maven-publish' dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:$BOM_VERSION" + mavenBom "org.springframework.cloud:spring-cloud-contract-dependencies:${project.findProperty('verifierVersion') ?: verifierVersion}" } } @@ -49,7 +50,7 @@ dependencies { compile("org.springframework.boot:spring-boot-starter-web") compile("org.springframework.boot:spring-boot-starter-actuator") compile("org.springframework.cloud:spring-cloud-starter-stream-rabbit") - compile("org.springframework.cloud.contract:spring-cloud-contract-verifier-stream:${findProperty('verifierVersion') ?: verifierVersion}") + compile("org.springframework.cloud:spring-cloud-contract-verifier-stream:${findProperty('verifierVersion') ?: verifierVersion}") testRuntime "org.spockframework:spock-spring" testCompile "org.spockframework:spock-core" diff --git a/samples/samples-standalone/contract-verifier-sample-stream-source/pom.xml b/samples/samples-standalone/contract-verifier-sample-stream-source/pom.xml index 0bba647ebc..8bc99d4496 100644 --- a/samples/samples-standalone/contract-verifier-sample-stream-source/pom.xml +++ b/samples/samples-standalone/contract-verifier-sample-stream-source/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract.testprojects + org.springframework.cloud.testprojects contract-verifier-sample-stream-source 0.0.1-SNAPSHOT jar @@ -37,13 +37,13 @@ - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-core test - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-stream test @@ -58,7 +58,7 @@ - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-dependencies ${spring-cloud-contract.version} pom @@ -81,7 +81,7 @@ spring-boot-maven-plugin - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-maven-plugin ${spring-cloud-contract.version} true @@ -91,7 +91,7 @@ - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-core ${spring-cloud-contract.version} @@ -116,7 +116,7 @@ - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-maven-plugin [1.0.0.BUILD-SNAPSHOT,) diff --git a/samples/samples-standalone/http-client/build.gradle b/samples/samples-standalone/http-client/build.gradle index f1a436532d..e2719513fe 100644 --- a/samples/samples-standalone/http-client/build.gradle +++ b/samples/samples-standalone/http-client/build.gradle @@ -29,6 +29,13 @@ apply plugin: 'groovy' apply plugin: 'spring-boot' apply plugin: 'maven-publish' +dependencyManagement { + imports { + mavenBom "org.springframework.cloud:spring-cloud-dependencies:$BOM_VERSION" + mavenBom "org.springframework.cloud:spring-cloud-contract-dependencies:${project.findProperty('verifierVersion') ?: verifierVersion}" + } +} + dependencies { compile("org.springframework.boot:spring-boot-starter-web") compile("org.springframework.boot:spring-boot-starter-actuator") @@ -38,7 +45,8 @@ dependencies { testCompile "org.springframework.boot:spring-boot-starter-test" testCompile "org.spockframework:spock-core" testCompile "junit:junit" - testCompile "org.springframework.cloud.contract:spring-cloud-contract-stub-runner-spring:${findProperty('verifierVersion') ?: verifierVersion}" + testCompile 'org.springframework.cloud:spring-cloud-contract-wiremock' + testCompile "org.springframework.cloud:spring-cloud-contract-stub-runner-spring:${findProperty('verifierVersion') ?: verifierVersion}" } test { diff --git a/samples/samples-standalone/http-client/gradle.properties b/samples/samples-standalone/http-client/gradle.properties index 5183317871..004e3e550a 100644 --- a/samples/samples-standalone/http-client/gradle.properties +++ b/samples/samples-standalone/http-client/gradle.properties @@ -1 +1,2 @@ -verifierVersion=1.0.0.BUILD-SNAPSHOT \ No newline at end of file +verifierVersion=1.0.0.BUILD-SNAPSHOT +BOM_VERSION=Brixton.SR3 \ No newline at end of file diff --git a/samples/samples-standalone/http-client/pom.xml b/samples/samples-standalone/http-client/pom.xml index 3a76b94ba0..50241bafd4 100644 --- a/samples/samples-standalone/http-client/pom.xml +++ b/samples/samples-standalone/http-client/pom.xml @@ -34,7 +34,7 @@ - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-wiremock test @@ -45,7 +45,7 @@ - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner-spring test @@ -59,7 +59,7 @@ - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-dependencies ${spring-cloud-contract.version} pom diff --git a/samples/samples-standalone/http-client/src/test/resources/application.yaml b/samples/samples-standalone/http-client/src/test/resources/application.yaml index 8f1dbbd48a..b260e2bac4 100644 --- a/samples/samples-standalone/http-client/src/test/resources/application.yaml +++ b/samples/samples-standalone/http-client/src/test/resources/application.yaml @@ -1,3 +1,3 @@ stubrunner: work-offline: true - stubs.ids: 'com.example:http-server:+:stubs:8080' + stubs.ids: 'com.example:http-server:+:stubs:8080' \ No newline at end of file diff --git a/samples/samples-standalone/http-server/build.gradle b/samples/samples-standalone/http-server/build.gradle index 8261625692..c6be190542 100644 --- a/samples/samples-standalone/http-server/build.gradle +++ b/samples/samples-standalone/http-server/build.gradle @@ -11,7 +11,7 @@ buildscript { } dependencies { classpath "org.springframework.boot:spring-boot-gradle-plugin:1.4.0.BUILD-SNAPSHOT" - classpath "org.springframework.cloud.contract:spring-cloud-contract-verifier-gradle-plugin:${findProperty('verifierVersion') ?: verifierVersion}" + classpath "org.springframework.cloud:spring-cloud-contract-verifier-gradle-plugin:${findProperty('verifierVersion') ?: verifierVersion}" } } @@ -32,6 +32,12 @@ apply plugin: 'spring-boot' apply plugin: 'contract-verifier' apply plugin: 'maven-publish' +dependencyManagement { + imports { + mavenBom "org.springframework.cloud:spring-cloud-dependencies:$BOM_VERSION" + mavenBom "org.springframework.cloud:spring-cloud-contract-dependencies:${project.findProperty('verifierVersion') ?: verifierVersion}" + } +} contractVerifier { baseClassForTests = 'com.example.fraud.MvcTest' diff --git a/samples/samples-standalone/http-server/gradle.properties b/samples/samples-standalone/http-server/gradle.properties index d630c704cf..004e3e550a 100644 --- a/samples/samples-standalone/http-server/gradle.properties +++ b/samples/samples-standalone/http-server/gradle.properties @@ -1 +1,2 @@ verifierVersion=1.0.0.BUILD-SNAPSHOT +BOM_VERSION=Brixton.SR3 \ No newline at end of file diff --git a/samples/samples-standalone/http-server/pom.xml b/samples/samples-standalone/http-server/pom.xml index 2940bef78e..4b44670cb1 100644 --- a/samples/samples-standalone/http-server/pom.xml +++ b/samples/samples-standalone/http-server/pom.xml @@ -60,7 +60,7 @@ - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-dependencies ${spring-cloud-contract.version} pom @@ -76,7 +76,7 @@ spring-boot-maven-plugin - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-maven-plugin ${spring-cloud-contract.version} true @@ -86,7 +86,7 @@ - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-core ${spring-cloud-contract.version} @@ -111,7 +111,7 @@ - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-maven-plugin [1.0.0.BUILD-SNAPSHOT,) diff --git a/spring-cloud-contract-dependencies/pom.xml b/spring-cloud-contract-dependencies/pom.xml index 8413a08877..9f7c9057f1 100644 --- a/spring-cloud-contract-dependencies/pom.xml +++ b/spring-cloud-contract-dependencies/pom.xml @@ -8,7 +8,6 @@ 1.1.2.BUILD-SNAPSHOT - org.springframework.cloud.contract spring-cloud-contract-dependencies 1.0.0.BUILD-SNAPSHOT pom @@ -18,6 +17,7 @@ 2.1.7 0.4.7 2.17.0 + 5.12.1 1.1.0 1.0.2.RELEASE 1.0.3.BUILD-SNAPSHOT @@ -27,67 +27,77 @@ - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-wiremock ${project.version} - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-spec ${project.version} - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-core ${project.version} - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-testing-utils ${project.version} - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner ${project.version} - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner-jetty ${project.version} - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner-spring ${project.version} - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner-boot ${project.version} - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner-stream ${project.version} - org.springframework.cloud.contract + org.springframework.cloud + spring-cloud-contract-stub-runner-camel + ${project.version} + + + org.springframework.cloud + spring-cloud-contract-stub-runner-integration + ${project.version} + + + org.springframework.cloud spring-cloud-contract-verifier-messaging-core ${project.version} - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-camel ${project.version} - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-integration ${project.version} - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-stream ${project.version} @@ -150,6 +160,31 @@ camel-spring ${camel.version} + + org.apache.camel + camel-spring-boot-starter + ${camel.version} + + + org.apache.camel + camel-jackson + ${camel.version} + + + org.apache.camel + camel-jms + ${camel.version} + + + org.apache.activemq + activemq-camel + ${activemq.version} + + + org.apache.activemq + activemq-pool + ${activemq.version} + args4j args4j diff --git a/spring-cloud-contract-spec/pom.xml b/spring-cloud-contract-spec/pom.xml index dad4a8306c..790b66ca8d 100644 --- a/spring-cloud-contract-spec/pom.xml +++ b/spring-cloud-contract-spec/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-parent 1.0.0.BUILD-SNAPSHOT .. @@ -27,6 +27,11 @@ spring-boot-starter-test test + + info.solidsoft.spock + spock-global-unroll + test + diff --git a/spring-cloud-contract-stub-runner/pom.xml b/spring-cloud-contract-stub-runner/pom.xml index 8de4bb90ff..a241be180d 100644 --- a/spring-cloud-contract-stub-runner/pom.xml +++ b/spring-cloud-contract-stub-runner/pom.xml @@ -5,7 +5,7 @@ 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-parent 1.0.0.BUILD-SNAPSHOT .. diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/README.adoc b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/README.adoc index 99ed7baee7..2d61693159 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/README.adoc +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/README.adoc @@ -12,7 +12,7 @@ Just add the [source,groovy,indent=0] ---- -compile "org.springframework.cloud.contract:stub-runner-boot:${verifierVersion}" +compile "org.springframework.cloud:stub-runner-boot:${verifierVersion}" ---- and a messaging implementation: @@ -20,11 +20,11 @@ and a messaging implementation: [source,groovy,indent=0] ---- // for Apache Camel -compile "org.springframework.cloud.contract:spring-cloud-contract-stub-runner-camel:${verifierVersion}" +compile "org.springframework.cloud:spring-cloud-contract-stub-runner-camel:${verifierVersion}" // for Spring Integration -compile "org.springframework.cloud.contract:spring-cloud-contract-stub-runner-integration:${verifierVersion}" +compile "org.springframework.cloud:spring-cloud-contract-stub-runner-integration:${verifierVersion}" // for Spring Cloud Stream -compile "org.springframework.cloud.contract:spring-cloud-contract-stub-runner-stream:${verifierVersion}" +compile "org.springframework.cloud:spring-cloud-contract-stub-runner-stream:${verifierVersion}" ---- Build a fat-jar and you're ready to go! diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/pom.xml b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/pom.xml index 49bf802187..0f4053b816 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/pom.xml +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner-build 1.0.0.BUILD-SNAPSHOT .. @@ -23,7 +23,7 @@ true - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner-spring @@ -45,6 +45,11 @@ spring-boot-starter-test test + + info.solidsoft.spock + spock-global-unroll + test + diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/groovy/org/springframework/cloud/contract/stubrunner/boot/StubRunnerBootSpec.groovy b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/groovy/org/springframework/cloud/contract/stubrunner/boot/StubRunnerBootSpec.groovy index 5b39f6e657..762bf3a1ba 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/groovy/org/springframework/cloud/contract/stubrunner/boot/StubRunnerBootSpec.groovy +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/groovy/org/springframework/cloud/contract/stubrunner/boot/StubRunnerBootSpec.groovy @@ -50,7 +50,7 @@ class StubRunnerBootSpec extends Specification { String response = RestAssuredMockMvc.get('/stubs').body.asString() then: def root = new JsonSlurper().parseText(response) - root.'org.springframework.cloud.contract.verifier.stubs:streamService:0.0.1-SNAPSHOT:stubs' instanceof Integer + root.'org.springframework.cloud.contract.verifier.stubs:bootService:0.0.1-SNAPSHOT:stubs' instanceof Integer } def 'should return a port on which a [#stubId] stub is running'() { @@ -60,11 +60,11 @@ class StubRunnerBootSpec extends Specification { response.statusCode == 200 response.body.as(Integer) > 0 where: - stubId << ['org.springframework.cloud.contract.verifier.stubs:streamService:+:stubs', - 'org.springframework.cloud.contract.verifier.stubs:streamService:0.0.1-SNAPSHOT:stubs', - 'org.springframework.cloud.contract.verifier.stubs:streamService:+', - 'org.springframework.cloud.contract.verifier.stubs:streamService', - 'streamService'] + stubId << ['org.springframework.cloud.contract.verifier.stubs:bootService:+:stubs', + 'org.springframework.cloud.contract.verifier.stubs:bootService:0.0.1-SNAPSHOT:stubs', + 'org.springframework.cloud.contract.verifier.stubs:bootService:+', + 'org.springframework.cloud.contract.verifier.stubs:bootService', + 'bootService'] } def 'should return 404 when missing stub was called'() { @@ -79,7 +79,7 @@ class StubRunnerBootSpec extends Specification { String response = RestAssuredMockMvc.get('/triggers').body.asString() then: def root = new JsonSlurper().parseText(response) - root.'org.springframework.cloud.contract.verifier.stubs:streamService:0.0.1-SNAPSHOT:stubs'?.containsAll(["delete_book","return_book_1","return_book_2"]) + root.'org.springframework.cloud.contract.verifier.stubs:bootService:0.0.1-SNAPSHOT:stubs'?.containsAll(["delete_book","return_book_1","return_book_2"]) } def 'should trigger a messaging label'() { @@ -105,7 +105,7 @@ class StubRunnerBootSpec extends Specification { and: 1 * stubRunning.trigger(stubId, 'delete_book') where: - stubId << ['org.springframework.cloud.contract.verifier.stubs:streamService:stubs', 'org.springframework.cloud.contract.verifier.stubs:streamService', 'streamService'] + stubId << ['org.springframework.cloud.contract.verifier.stubs:bootService:stubs', 'org.springframework.cloud.contract.verifier.stubs:bootService', 'bootService'] } def 'should return when trigger is missing'() { @@ -114,7 +114,7 @@ class StubRunnerBootSpec extends Specification { then: response.statusCode == 404 def root = new JsonSlurper().parseText(response.body.asString()) - root.'org.springframework.cloud.contract.verifier.stubs:streamService:0.0.1-SNAPSHOT:stubs'?.containsAll(["delete_book","return_book_1","return_book_2"]) + root.'org.springframework.cloud.contract.verifier.stubs:bootService:0.0.1-SNAPSHOT:stubs'?.containsAll(["delete_book","return_book_1","return_book_2"]) } } diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/application.yml b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/application.yml index 9b34d9d617..b3b56d9188 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/application.yml +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/application.yml @@ -1,2 +1,2 @@ stubrunner.stubs.repository.root: classpath:m2repo/repository/ -stubrunner.stubs.ids: org.springframework.cloud.contract.verifier.stubs:streamService \ No newline at end of file +stubrunner.stubs.ids: org.springframework.cloud.contract.verifier.stubs:bootService \ No newline at end of file diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/streamService/0.0.1-SNAPSHOT/streamService-0.0.1-SNAPSHOT-stubs.jar b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/bootService/0.0.1-SNAPSHOT/bootService-0.0.1-SNAPSHOT-stubs.jar similarity index 69% rename from spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/streamService/0.0.1-SNAPSHOT/streamService-0.0.1-SNAPSHOT-stubs.jar rename to spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/bootService/0.0.1-SNAPSHOT/bootService-0.0.1-SNAPSHOT-stubs.jar index a84e468496..c57c836db4 100644 Binary files a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/streamService/0.0.1-SNAPSHOT/streamService-0.0.1-SNAPSHOT-stubs.jar and b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/bootService/0.0.1-SNAPSHOT/bootService-0.0.1-SNAPSHOT-stubs.jar differ diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/streamService/0.0.1-SNAPSHOT/streamService-0.0.1-SNAPSHOT.pom b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/bootService/0.0.1-SNAPSHOT/bootService-0.0.1-SNAPSHOT.pom similarity index 96% rename from spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/streamService/0.0.1-SNAPSHOT/streamService-0.0.1-SNAPSHOT.pom rename to spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/bootService/0.0.1-SNAPSHOT/bootService-0.0.1-SNAPSHOT.pom index 8613d57be0..73d2c00a31 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/streamService/0.0.1-SNAPSHOT/streamService-0.0.1-SNAPSHOT.pom +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/bootService/0.0.1-SNAPSHOT/bootService-0.0.1-SNAPSHOT.pom @@ -19,7 +19,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 org.springframework.cloud.contract.verifier.stubs - streamService + bootService 0.0.1-SNAPSHOT pom diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/streamService/maven-metadata.xml b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/bootService/maven-metadata.xml similarity index 95% rename from spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/streamService/maven-metadata.xml rename to spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/bootService/maven-metadata.xml index 001cf26899..13a1e7975f 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/streamService/maven-metadata.xml +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-boot/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/bootService/maven-metadata.xml @@ -17,7 +17,7 @@ org.springframework.cloud.contract.verifier.stubs - streamService + bootService 0.0.1-SNAPSHOT diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-jetty/pom.xml b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-jetty/pom.xml index b72b48685b..6e57967745 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-jetty/pom.xml +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-jetty/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner-build 1.0.0.BUILD-SNAPSHOT .. @@ -14,7 +14,7 @@ Spring Cloud Contract Stub Runner - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-junit/pom.xml b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-junit/pom.xml index a868438808..35dcbd1e58 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-junit/pom.xml +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-junit/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner-build 1.0.0.BUILD-SNAPSHOT .. @@ -14,7 +14,7 @@ Spring Cloud Contract Stub Runner JUnit - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner-jetty @@ -35,6 +35,16 @@ spring-boot-starter-test test + + org.slf4j + slf4j-simple + test + + + info.solidsoft.spock + spock-global-unroll + test + diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/pom.xml b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/pom.xml index 1a447f949a..73d26c08fb 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/pom.xml +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/pom.xml @@ -3,13 +3,19 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner-build 1.0.0.BUILD-SNAPSHOT .. - spring-cloud-contract-stub-runner-messaging - jar + spring-cloud-contract-stub-runner-messaging-build + pom Spring Cloud Contract Stub Runner Messaging Spring Cloud Contract Stub Runner Messaging + + + spring-cloud-contract-stub-runner-camel + spring-cloud-contract-stub-runner-integration + spring-cloud-contract-stub-runner-stream + diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-camel/README.adoc b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-camel/README.adoc index 3fbd56f5dd..0a3ef49f3a 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-camel/README.adoc +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-camel/README.adoc @@ -13,7 +13,7 @@ To use it you have to add the following dependency to your project (example for [source,groovy,indent=0] ---- -testCompile "org.springframework.cloud.contract:stub-runner-camel:${verifierVersion}" +testCompile "org.springframework.cloud:stub-runner-camel:${verifierVersion}" ---- ==== Examples diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-camel/pom.xml b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-camel/pom.xml new file mode 100644 index 0000000000..61937804d2 --- /dev/null +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-camel/pom.xml @@ -0,0 +1,89 @@ + + + 4.0.0 + + org.springframework.cloud + spring-cloud-contract-stub-runner-messaging-build + 1.0.0.BUILD-SNAPSHOT + .. + + spring-cloud-contract-stub-runner-camel + jar + Spring Cloud Contract Stub Runner Camel + Spring Cloud Contract Stub Runner Camel + + + org.springframework.cloud + spring-cloud-contract-stub-runner-jetty + + + org.springframework.cloud + spring-cloud-contract-stub-runner-spring + + + org.springframework.cloud + spring-cloud-contract-verifier-camel + + + org.apache.camel + camel-spring-boot-starter + + + org.apache.camel + camel-jackson + + + junit + junit + test + + + org.codehaus.groovy + groovy + + + org.spockframework + spock-core + test + + + org.spockframework + spock-spring + test + + + org.springframework.boot + spring-boot-starter-test + test + + + org.apache.activemq + activemq-camel + test + + + org.apache.activemq + activemq-pool + test + + + org.springframework.boot + spring-boot-starter-web + test + + + info.solidsoft.spock + spock-global-unroll + test + + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + + + + diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-camel/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/camel/CamelStubRunnerSpec.groovy b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-camel/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/camel/CamelStubRunnerSpec.groovy index 544ca961b3..5493e2f9de 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-camel/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/camel/CamelStubRunnerSpec.groovy +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-camel/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/camel/CamelStubRunnerSpec.groovy @@ -19,12 +19,14 @@ package org.springframework.cloud.contract.stubrunner.messaging.camel import groovy.json.JsonOutput import groovy.json.JsonSlurper import org.apache.activemq.camel.component.ActiveMQComponent +import org.apache.activemq.spring.ActiveMQConnectionFactory import org.apache.camel.CamelContext import org.apache.camel.Exchange +import org.apache.camel.component.jms.JmsConfiguration import org.springframework.beans.factory.annotation.Autowired import org.springframework.beans.factory.annotation.Value import org.springframework.boot.autoconfigure.EnableAutoConfiguration -import org.springframework.boot.test.SpringApplicationContextLoader +import org.springframework.boot.test.context.SpringBootContextLoader import org.springframework.cloud.contract.spec.Contract import org.springframework.cloud.contract.stubrunner.StubFinder import org.springframework.context.annotation.Bean @@ -32,13 +34,11 @@ import org.springframework.context.annotation.ComponentScan import org.springframework.context.annotation.Configuration import org.springframework.test.context.ContextConfiguration import spock.lang.Specification + /** * @author Marcin Grzejszczak */ -@Configuration -@ComponentScan -@EnableAutoConfiguration -@ContextConfiguration(classes = CamelStubRunnerSpec, loader = SpringApplicationContextLoader) +@ContextConfiguration(classes = Config, loader = SpringBootContextLoader) class CamelStubRunnerSpec extends Specification { @Autowired StubFinder stubFinder @@ -161,11 +161,28 @@ class CamelStubRunnerSpec extends Specification { return json.bookName == 'foo' } - @Bean - ActiveMQComponent activeMQComponent(@Value('${activemq.url:vm://localhost?broker.persistent=false}') String url) { - return new ActiveMQComponent(brokerURL: url) + @Configuration + @ComponentScan + @EnableAutoConfiguration + static class Config { + + @Bean + ActiveMQConnectionFactory activeMQConnectionFactory(@Value('${activemq.url:vm://localhost?broker.persistent=false}') String url) { + return new ActiveMQConnectionFactory(brokerURL: url, trustAllPackages: true) + } + + @Bean + JmsConfiguration jmsConfiguration(ActiveMQConnectionFactory activeMQConnectionFactory) { + return new JmsConfiguration(connectionFactory: activeMQConnectionFactory) + } + + @Bean + ActiveMQComponent activeMQComponent(JmsConfiguration jmsConfiguration) { + return new ActiveMQComponent(configuration: jmsConfiguration) + } } + Contract dsl = // tag::sample_dsl[] Contract.make { diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-integration/README.adoc b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-integration/README.adoc index 89f5a0a180..ce3b3bff49 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-integration/README.adoc +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-integration/README.adoc @@ -13,7 +13,7 @@ To use it you have to add the following dependency to your project (example for [source,groovy,indent=0] ---- -testCompile "org.springframework.cloud.contract:stub-runner-integration:${verifierVersion}" +testCompile "org.springframework.cloud:stub-runner-integration:${verifierVersion}" ---- ==== Examples diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-integration/pom.xml b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-integration/pom.xml new file mode 100644 index 0000000000..fb8f0b4d2b --- /dev/null +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-integration/pom.xml @@ -0,0 +1,75 @@ + + + 4.0.0 + + org.springframework.cloud + spring-cloud-contract-stub-runner-messaging-build + 1.0.0.BUILD-SNAPSHOT + .. + + spring-cloud-contract-stub-runner-integration + jar + Spring Cloud Contract Stub Runner Integration + Spring Cloud Contract Stub Runner Integration + + + org.springframework.cloud + spring-cloud-contract-stub-runner-jetty + + + org.springframework.cloud + spring-cloud-contract-stub-runner-spring + + + org.springframework.cloud + spring-cloud-contract-verifier-integration + + + org.springframework.integration + spring-integration-java-dsl + + + junit + junit + test + + + org.codehaus.groovy + groovy + + + org.spockframework + spock-core + test + + + org.spockframework + spock-spring + test + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-starter-web + test + + + info.solidsoft.spock + spock-global-unroll + test + + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + + + + diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-integration/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/integration/IntegrationStubRunnerSpec.groovy b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-integration/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/integration/IntegrationStubRunnerSpec.groovy index bdd7368377..afdd4d0017 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-integration/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/integration/IntegrationStubRunnerSpec.groovy +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-integration/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/integration/IntegrationStubRunnerSpec.groovy @@ -18,12 +18,12 @@ package org.springframework.cloud.contract.stubrunner.messaging.integration import groovy.json.JsonOutput import groovy.json.JsonSlurper -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.autoconfigure.EnableAutoConfiguration -import org.springframework.boot.test.SpringApplicationContextLoader +import org.springframework.boot.test.context.SpringBootContextLoader import org.springframework.cloud.contract.spec.Contract import org.springframework.cloud.contract.stubrunner.StubFinder +import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging import org.springframework.context.annotation.ComponentScan import org.springframework.context.annotation.Configuration @@ -32,13 +32,14 @@ import org.springframework.test.context.ContextConfiguration import spock.lang.Specification import java.util.concurrent.TimeUnit + /** * @author Marcin Grzejszczak */ @Configuration @ComponentScan @EnableAutoConfiguration -@ContextConfiguration(classes = IntegrationStubRunnerSpec, loader = SpringApplicationContextLoader) +@ContextConfiguration(classes = IntegrationStubRunnerSpec, loader = SpringBootContextLoader) @ImportResource("classpath*:integration-context.xml") class IntegrationStubRunnerSpec extends Specification { diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-stream/README.adoc b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-stream/README.adoc index e93eaeb43b..2d6a41522c 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-stream/README.adoc +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-stream/README.adoc @@ -14,7 +14,7 @@ To use it you have to add the following dependency to your project (example for [source,groovy,indent=0] ---- -testCompile "org.springframework.cloud.contract:stub-runner-stream:${verifierVersion}" +testCompile "org.springframework.cloud:stub-runner-stream:${verifierVersion}" ---- ==== Examples diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-stream/pom.xml b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-stream/pom.xml new file mode 100644 index 0000000000..e670a1fb2e --- /dev/null +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-stream/pom.xml @@ -0,0 +1,71 @@ + + + 4.0.0 + + org.springframework.cloud + spring-cloud-contract-stub-runner-messaging-build + 1.0.0.BUILD-SNAPSHOT + .. + + spring-cloud-contract-stub-runner-stream + jar + Spring Cloud Contract Stub Runner Stream + Spring Cloud Contract Stub Runner Stream + + + org.springframework.cloud + spring-cloud-contract-stub-runner-spring + + + org.springframework.cloud + spring-cloud-contract-verifier-stream + + + org.springframework.integration + spring-integration-java-dsl + + + junit + junit + test + + + org.codehaus.groovy + groovy + + + org.spockframework + spock-core + test + + + org.spockframework + spock-spring + test + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-starter-web + test + + + info.solidsoft.spock + spock-global-unroll + test + + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + + + + diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-stream/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/stream/StreamStubRunnerSpec.groovy b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-stream/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/stream/StreamStubRunnerSpec.groovy index 0860db7335..afec3c6f18 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-stream/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/stream/StreamStubRunnerSpec.groovy +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-stream/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/stream/StreamStubRunnerSpec.groovy @@ -18,12 +18,12 @@ package org.springframework.cloud.contract.stubrunner.messaging.stream import groovy.json.JsonOutput import groovy.json.JsonSlurper -import org.springframework.cloud.contract.spec.Contract -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage -import org.springframework.cloud.contract.stubrunner.StubFinder import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.autoconfigure.EnableAutoConfiguration -import org.springframework.boot.test.SpringApplicationContextLoader +import org.springframework.boot.test.context.SpringBootContextLoader +import org.springframework.cloud.contract.spec.Contract +import org.springframework.cloud.contract.stubrunner.StubFinder +import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging import org.springframework.cloud.stream.annotation.EnableBinding import org.springframework.cloud.stream.messaging.Sink @@ -34,13 +34,14 @@ import org.springframework.test.context.ContextConfiguration import spock.lang.Specification import java.util.concurrent.TimeUnit + /** * @author Marcin Grzejszczak */ @Configuration @ComponentScan @EnableAutoConfiguration -@ContextConfiguration(classes = StreamStubRunnerSpec, loader = SpringApplicationContextLoader) +@ContextConfiguration(classes = StreamStubRunnerSpec, loader = SpringBootContextLoader) @EnableBinding([Sink, Source]) class StreamStubRunnerSpec extends Specification { diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-spring-cloud/README.adoc b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-spring-cloud/README.adoc index 7ea59a2a37..edd082eb09 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-spring-cloud/README.adoc +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-spring-cloud/README.adoc @@ -4,7 +4,7 @@ Registers the stubs in the provided Service Discovery. It's enough to add the ja [source,groovy,indent=0] ---- -org.springframework.cloud.contract:stub-runner-spring-cloud +org.springframework.cloud:stub-runner-spring-cloud ---- and the Stub Runner autoconfiguration should be picked up. diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-spring-cloud/pom.xml b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-spring-cloud/pom.xml index 91316e49f6..8d15eee29e 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-spring-cloud/pom.xml +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-spring-cloud/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner-build 1.0.0.BUILD-SNAPSHOT .. @@ -14,11 +14,11 @@ Spring Cloud Contract Stub Runner Spring Cloud - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner-boot - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-wiremock @@ -55,6 +55,11 @@ spring-boot-starter-test test + + info.solidsoft.spock + spock-global-unroll + test + diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-spring/pom.xml b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-spring/pom.xml index 40aa26f52e..b0b11dee9f 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-spring/pom.xml +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-spring/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner-build 1.0.0.BUILD-SNAPSHOT .. @@ -14,11 +14,11 @@ Spring Cloud Contract Stub Runner Spring - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-wiremock @@ -40,6 +40,11 @@ spring-boot-starter-test test + + info.solidsoft.spock + spock-global-unroll + test + diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-spring/src/main/groovy/org/springframework/cloud/contract/stubrunner/spring/StubRunnerConfiguration.java b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-spring/src/main/groovy/org/springframework/cloud/contract/stubrunner/spring/StubRunnerConfiguration.java index 1626ed7a25..d60899331d 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-spring/src/main/groovy/org/springframework/cloud/contract/stubrunner/spring/StubRunnerConfiguration.java +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-spring/src/main/groovy/org/springframework/cloud/contract/stubrunner/spring/StubRunnerConfiguration.java @@ -28,7 +28,6 @@ import org.springframework.cloud.contract.stubrunner.StubDownloader; import org.springframework.cloud.contract.stubrunner.StubRunner; import org.springframework.cloud.contract.stubrunner.StubRunnerOptions; import org.springframework.cloud.contract.stubrunner.StubRunnerOptionsBuilder; -import org.springframework.cloud.contract.stubrunner.StubRunning; import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging; import org.springframework.cloud.contract.verifier.messaging.noop.NoOpContractVerifierMessaging; import org.springframework.context.annotation.Bean; @@ -58,7 +57,7 @@ public class StubRunnerConfiguration { * @param stubs comma separated list of stubs presented in Ivy notation */ @Bean - public StubRunning batchStubRunner( + public BatchStubRunner batchStubRunner( @Value("${stubrunner.port.range.min:10000}") Integer minPortValue, @Value("${stubrunner.port.range.max:15000}") Integer maxPortValue, @Value("${stubrunner.stubs.repository.root:}") Resource stubRepositoryRoot, diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/pom.xml b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/pom.xml index 49b1277038..cfc102fb23 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/pom.xml +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner-build 1.0.0.BUILD-SNAPSHOT .. @@ -14,20 +14,20 @@ Spring Cloud Contract Stub Runner - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-core - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-wiremock true - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-messaging-core - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-spec @@ -86,6 +86,11 @@ spring-boot-starter-web test + + info.solidsoft.spock + spock-global-unroll + test + diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/BatchStubRunner.groovy b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/BatchStubRunner.groovy index a39d74fbe6..b15eacc95b 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/BatchStubRunner.groovy +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/BatchStubRunner.groovy @@ -35,7 +35,8 @@ class BatchStubRunner implements StubRunning { @Override RunningStubs runStubs() { Map appsAndPorts = stubRunners.inject([:]) { Map acc, StubRunner value -> - acc.putAll(value.runStubs().namesAndPorts) + RunningStubs runningStubs = value.runStubs() + acc.putAll(runningStubs.validNamesAndPorts()) return acc } as Map return new RunningStubs(appsAndPorts) diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/RunningStubs.groovy b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/RunningStubs.groovy index d0d0b3f657..41ca16dea2 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/RunningStubs.groovy +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/RunningStubs.groovy @@ -75,6 +75,10 @@ class RunningStubs { return namesAndPorts.collectEntries { [(it.key.toColonSeparatedDependencyNotation()) : it.value] } as Map } + Map validNamesAndPorts() { + return namesAndPorts.findAll { StubConfiguration key, Integer value -> value != -1 } + } + @Override String toString() { return namesAndPorts.collect { diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutor.groovy b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutor.groovy index 4a0aaf63cc..abdbf36f91 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutor.groovy +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutor.groovy @@ -144,12 +144,21 @@ class StubRunnerExecutor implements StubFinder { Collection contracts = repository.contracts Integer port = stubRunnerOptions.port(stubConfiguration) if (port) { - stubServer = new StubServer(port, stubConfiguration, mappings, contracts).start() + stubServer = new StubServer(port, stubConfiguration, mappings, contracts) } else { stubServer = portScanner.tryToExecuteWithFreePort { int availablePort -> - return new StubServer(availablePort, stubConfiguration, mappings, contracts).start() + return new StubServer(availablePort, stubConfiguration, mappings, contracts) } } + if (!contracts.empty && !contracts.any { it.request }) { + log.debug("There are no HTTP related contracts. Won't start any servers") + return + } + if (contracts.empty) { + log.warn("There are no contracts in the published JAR. This is an unusual situation " + + "that's why will start the server - maybe you know what you're doing...") + } + stubServer = stubServer.start() } } diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/StubServer.groovy b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/StubServer.groovy index 7c474fec54..bafc692ecb 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/StubServer.groovy +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/StubServer.groovy @@ -64,7 +64,12 @@ class StubServer { } int getPort() { - return wireMockServer.port() + if (wireMockServer.isRunning()) { + return wireMockServer.port() + } + log.debug("The HTTP Server stub is not running... That means that the " + + "artifact is running a messaging module. Returning back -1 value of the port.") + return -1 } URL getStubUrl() { diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/test/resources/repository/contracts/contract1.groovy b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/test/resources/repository/contracts/contract1.groovy index 94fc426530..6fb7fed055 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/test/resources/repository/contracts/contract1.groovy +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/test/resources/repository/contracts/contract1.groovy @@ -1,27 +1,27 @@ -org.springframework.cloud.contract.spec.Contract.make { - // Human readable description - description 'Sends an order message' - // Label by means of which the output message can be triggered - label 'send_order' - // input to the contract - input { - // the contract will be triggered by a method - triggeredBy('orderTrigger()') - } - // output message of the contract - outputMessage { - // destination to which the output message will be sent - sentTo('orders') - // any headers for the output message - headers { - header('contentType': 'application/json') - } - // the body of the output message - body( - orderId: value( - consumer('40058c70-891c-4176-a033-f70bad0c5f77'), - producer(regex('([0-9|a-f]*-*)*'))), - description: "This is the order description" +org.springframework.cloud.contract.spec.Contract.make { + request { + method """PUT""" + url """/fraudcheck""" + body(""" + { + "clientPesel":"${value(client(regex('[0-9]{10}')), server('1234567890'))}", + "loanAmount":99999} + """ ) + headers { + header("""Content-Type""", """application/vnd.fraud.v1+json""") + } + } + response { + status 200 + body( """{ + "fraudCheckStatus": "${value(client('FRAUD'), server(regex('[A-Z]{5}')))}", + "rejectionReason": "Amount too high" +}""") + headers { + header('Content-Type': value(server(regex('application/vnd.fraud.v1.json.*')), client('application/vnd.fraud.v1+json'))) + } + } + } \ No newline at end of file diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/test/resources/repository/contracts/contract2.groovy b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/test/resources/repository/contracts/contract2.groovy new file mode 100644 index 0000000000..94fc426530 --- /dev/null +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/test/resources/repository/contracts/contract2.groovy @@ -0,0 +1,27 @@ +org.springframework.cloud.contract.spec.Contract.make { + // Human readable description + description 'Sends an order message' + // Label by means of which the output message can be triggered + label 'send_order' + // input to the contract + input { + // the contract will be triggered by a method + triggeredBy('orderTrigger()') + } + // output message of the contract + outputMessage { + // destination to which the output message will be sent + sentTo('orders') + // any headers for the output message + headers { + header('contentType': 'application/json') + } + // the body of the output message + body( + orderId: value( + consumer('40058c70-891c-4176-a033-f70bad0c5f77'), + producer(regex('([0-9|a-f]*-*)*'))), + description: "This is the order description" + ) + } +} \ No newline at end of file diff --git a/spring-cloud-contract-verifier-gradle-plugin/build.gradle b/spring-cloud-contract-verifier-gradle-plugin/build.gradle index c583bfbe73..830e777670 100644 --- a/spring-cloud-contract-verifier-gradle-plugin/build.gradle +++ b/spring-cloud-contract-verifier-gradle-plugin/build.gradle @@ -28,7 +28,7 @@ project.version = findProperty('contractVerifierVersion') ?: '1.0.0.BUILD-SNAPSH apply from: "$rootDir/gradle/release.gradle" apply plugin: 'groovy' -group = 'org.springframework.cloud.contract' +group = 'org.springframework.cloud' sourceCompatibility = 1.7 targetCompatibility = 1.7 @@ -58,13 +58,13 @@ configurations { dependencies { compile gradleApi() compile localGroovy() - compile("org.springframework.cloud.contract:spring-cloud-contract-verifier-core:${project.version}") { + compile("org.springframework.cloud:spring-cloud-contract-verifier-core:${project.version}") { exclude(group: 'org.codehaus.groovy') } - compile("org.springframework.cloud.contract:spring-cloud-contract-verifier-converters:${project.version}") { + compile("org.springframework.cloud:spring-cloud-contract-verifier-converters:${project.version}") { exclude(group: 'org.codehaus.groovy') } - compile("org.springframework.cloud.contract:spring-cloud-contract-stub-runner:${project.version}") { + compile("org.springframework.cloud:spring-cloud-contract-stub-runner:${project.version}") { exclude(group: 'org.codehaus.groovy') } testCompile('org.spockframework:spock-core:1.0-groovy-2.4') { @@ -73,7 +73,7 @@ dependencies { testCompile 'info.solidsoft.spock:spock-global-unroll:0.5.0' testCompile gradleTestKit() - messagingLibs("org.springframework.cloud.contract:spring-cloud-contract-verifier-integration:${project.version}") { + messagingLibs("org.springframework.cloud:spring-cloud-contract-verifier-integration:${project.version}") { exclude(group: 'org.codehaus.groovy') } } diff --git a/spring-cloud-contract-verifier-maven-plugin/pom.xml b/spring-cloud-contract-verifier-maven-plugin/pom.xml index a8738cb732..5fef70895d 100644 --- a/spring-cloud-contract-verifier-maven-plugin/pom.xml +++ b/spring-cloud-contract-verifier-maven-plugin/pom.xml @@ -4,7 +4,7 @@ 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-parent 1.0.0.BUILD-SNAPSHOT .. @@ -257,17 +257,17 @@ - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-core ${spring.cloud.contract.verifier.version} - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-converters ${spring.cloud.contract.verifier.version} - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-stub-runner ${spring.cloud.contract.verifier.version} diff --git a/spring-cloud-contract-verifier-maven-plugin/src/main/resources/META-INF/plexus/components.xml b/spring-cloud-contract-verifier-maven-plugin/src/main/resources/META-INF/plexus/components.xml index 19a83714fc..44a11d2036 100644 --- a/spring-cloud-contract-verifier-maven-plugin/src/main/resources/META-INF/plexus/components.xml +++ b/spring-cloud-contract-verifier-maven-plugin/src/main/resources/META-INF/plexus/components.xml @@ -30,13 +30,13 @@ - org.springframework.cloud.contract:spring-cloud-contract-verifier-maven-plugin:${project.version}:convert + org.springframework.cloud:spring-cloud-contract-verifier-maven-plugin:${project.version}:convert - org.springframework.cloud.contract:spring-cloud-contract-verifier-maven-plugin:${project.version}:generateTests + org.springframework.cloud:spring-cloud-contract-verifier-maven-plugin:${project.version}:generateTests - org.springframework.cloud.contract:spring-cloud-contract-verifier-maven-plugin:${project.version}:generateStubs + org.springframework.cloud:spring-cloud-contract-verifier-maven-plugin:${project.version}:generateStubs diff --git a/spring-cloud-contract-verifier-maven-plugin/src/site/asciidoc/usage.adoc b/spring-cloud-contract-verifier-maven-plugin/src/site/asciidoc/usage.adoc index 15d1118f98..730a52644b 100644 --- a/spring-cloud-contract-verifier-maven-plugin/src/site/asciidoc/usage.adoc +++ b/spring-cloud-contract-verifier-maven-plugin/src/site/asciidoc/usage.adoc @@ -2,7 +2,7 @@ == Converting Spring Cloud Contract DSL into WireMock stub mappings - mvn org.springframework.cloud.contract:spring-cloud-contract-verifier-maven-plugin:convert + mvn org.springramework.cloud:spring-cloud-contract-verifier-maven-plugin:convert or shortly footnoteref:[prefix,Additional configuration inside `~/.m2/settings.xml` is required: `io.codearte.Spring Cloud Contract`.] @@ -14,7 +14,7 @@ For more information please go to the Spring Cloud Contract Wiki or Plugin Docum Run stubs mappings from current directory: - mvn org.springframework.cloud.contract:spring-cloud-contract-verifier-maven-plugin:run + mvn org.springramework.cloud:spring-cloud-contract-verifier-maven-plugin:run or shortly footnoteref:[prefix] diff --git a/spring-cloud-contract-verifier-maven-plugin/src/test/java/org/springframework/cloud/contract/verifier/maven/PluginIT.java b/spring-cloud-contract-verifier-maven-plugin/src/test/java/org/springframework/cloud/contract/verifier/maven/PluginIT.java index cc2c878333..d2d9a017fc 100644 --- a/spring-cloud-contract-verifier-maven-plugin/src/test/java/org/springframework/cloud/contract/verifier/maven/PluginIT.java +++ b/spring-cloud-contract-verifier-maven-plugin/src/test/java/org/springframework/cloud/contract/verifier/maven/PluginIT.java @@ -104,7 +104,7 @@ public class PluginIT { properties.getPluginVersion(); maven.forProject(basedir) .withCliOption("-X") - .execute(String.format("org.springframework.cloud.contract:spring-cloud-contract-verifier-maven-plugin:%s:convert", + .execute(String.format("org.springframework.cloud:spring-cloud-contract-verifier-maven-plugin:%s:convert", properties.getPluginVersion())) .assertLogText("Converting from Spring Cloud Contract Verifier contracts to WireMock stubs mappings") .assertLogText("Creating new json") diff --git a/spring-cloud-contract-verifier-maven-plugin/src/test/projects/basic/pom.xml b/spring-cloud-contract-verifier-maven-plugin/src/test/projects/basic/pom.xml index 1a6b0ba783..b3475356c1 100644 --- a/spring-cloud-contract-verifier-maven-plugin/src/test/projects/basic/pom.xml +++ b/spring-cloud-contract-verifier-maven-plugin/src/test/projects/basic/pom.xml @@ -21,14 +21,14 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract.verifier.sample + org.springframework.cloud.verifier.sample sample-project 0.1 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-maven-plugin diff --git a/spring-cloud-contract-verifier-maven-plugin/src/test/projects/complex-configuration/pom.xml b/spring-cloud-contract-verifier-maven-plugin/src/test/projects/complex-configuration/pom.xml index 92573fcdf3..b9e2d24460 100644 --- a/spring-cloud-contract-verifier-maven-plugin/src/test/projects/complex-configuration/pom.xml +++ b/spring-cloud-contract-verifier-maven-plugin/src/test/projects/complex-configuration/pom.xml @@ -88,7 +88,7 @@ - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-maven-plugin ${accurest-plugin.version} diff --git a/spring-cloud-contract-verifier-maven-plugin/src/test/projects/generatedStubs/pom.xml b/spring-cloud-contract-verifier-maven-plugin/src/test/projects/generatedStubs/pom.xml index 1a6b0ba783..b3475356c1 100644 --- a/spring-cloud-contract-verifier-maven-plugin/src/test/projects/generatedStubs/pom.xml +++ b/spring-cloud-contract-verifier-maven-plugin/src/test/projects/generatedStubs/pom.xml @@ -21,14 +21,14 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract.verifier.sample + org.springframework.cloud.verifier.sample sample-project 0.1 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-maven-plugin diff --git a/spring-cloud-contract-verifier-maven-plugin/src/test/projects/plugin-extension/pom.xml b/spring-cloud-contract-verifier-maven-plugin/src/test/projects/plugin-extension/pom.xml index f0692be2a3..fa9d4e389a 100644 --- a/spring-cloud-contract-verifier-maven-plugin/src/test/projects/plugin-extension/pom.xml +++ b/spring-cloud-contract-verifier-maven-plugin/src/test/projects/plugin-extension/pom.xml @@ -88,7 +88,7 @@ - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-maven-plugin ${accurest-plugin.version} true diff --git a/spring-cloud-contract-verifier-maven-plugin/src/test/projects/spring-boot-groovy/pom.xml b/spring-cloud-contract-verifier-maven-plugin/src/test/projects/spring-boot-groovy/pom.xml index 50c90dd8f7..5f7b79c505 100644 --- a/spring-cloud-contract-verifier-maven-plugin/src/test/projects/spring-boot-groovy/pom.xml +++ b/spring-cloud-contract-verifier-maven-plugin/src/test/projects/spring-boot-groovy/pom.xml @@ -83,7 +83,7 @@ - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-maven-plugin ${accurest-plugin.version} diff --git a/spring-cloud-contract-verifier-maven-plugin/src/test/projects/spring-boot-java/pom.xml b/spring-cloud-contract-verifier-maven-plugin/src/test/projects/spring-boot-java/pom.xml index 07698d883c..f3e68a9720 100644 --- a/spring-cloud-contract-verifier-maven-plugin/src/test/projects/spring-boot-java/pom.xml +++ b/spring-cloud-contract-verifier-maven-plugin/src/test/projects/spring-boot-java/pom.xml @@ -88,7 +88,7 @@ - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-maven-plugin ${accurest-plugin.version} diff --git a/spring-cloud-contract-verifier-maven-plugin/src/test/projects/withStubs/pom.xml b/spring-cloud-contract-verifier-maven-plugin/src/test/projects/withStubs/pom.xml index 1a6b0ba783..b3475356c1 100644 --- a/spring-cloud-contract-verifier-maven-plugin/src/test/projects/withStubs/pom.xml +++ b/spring-cloud-contract-verifier-maven-plugin/src/test/projects/withStubs/pom.xml @@ -21,14 +21,14 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract.verifier.sample + org.springframework.cloud.verifier.sample sample-project 0.1 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-maven-plugin diff --git a/spring-cloud-contract-verifier/pom.xml b/spring-cloud-contract-verifier/pom.xml index 560a60a2c2..21a512c5c4 100644 --- a/spring-cloud-contract-verifier/pom.xml +++ b/spring-cloud-contract-verifier/pom.xml @@ -5,7 +5,7 @@ 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-parent 1.0.0.BUILD-SNAPSHOT .. diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-converters/pom.xml b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-converters/pom.xml index 8e31d41b0b..9d288ecb9b 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-converters/pom.xml +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-converters/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier 1.0.0.BUILD-SNAPSHOT .. @@ -15,7 +15,7 @@ 1.8 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-core @@ -45,6 +45,11 @@ spring-boot-starter-test test + + info.solidsoft.spock + spock-global-unroll + test + diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-core/pom.xml b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-core/pom.xml index f68a3c9924..4a6855f61d 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-core/pom.xml +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-core/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier 1.0.0.BUILD-SNAPSHOT .. @@ -14,11 +14,11 @@ Spring Cloud Contract Verifier Core - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-spec - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-testing-utils diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/pom.xml b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/pom.xml index 6ffee916a9..7d5b9393e6 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/pom.xml +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/pom.xml @@ -5,7 +5,7 @@ 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier 1.0.0.BUILD-SNAPSHOT .. diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/pom.xml b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/pom.xml index ffd3e4d348..976fe6b118 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/pom.xml +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-messaging 1.0.0.BUILD-SNAPSHOT .. @@ -14,7 +14,7 @@ Spring Cloud Contract Verifier Camel - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-messaging-core diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/pom.xml b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/pom.xml index 01184cff90..f31f6f7404 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/pom.xml +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-messaging 1.0.0.BUILD-SNAPSHOT .. @@ -14,7 +14,7 @@ Spring Cloud Contract Verifier Integration - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-messaging-core diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/pom.xml b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/pom.xml index 7c5a7db46e..5cdf428227 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/pom.xml +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-messaging 1.0.0.BUILD-SNAPSHOT .. diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/pom.xml b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/pom.xml index 5ec0cbffb6..997b05db18 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/pom.xml +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-messaging 1.0.0.BUILD-SNAPSHOT .. @@ -14,7 +14,7 @@ Spring Cloud Contract Verifier Messaging Stream - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier-messaging-core diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-testing-utils/pom.xml b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-testing-utils/pom.xml index 817c8e6134..8d49a7aa42 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-testing-utils/pom.xml +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-testing-utils/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-verifier 1.0.0.BUILD-SNAPSHOT .. diff --git a/spring-cloud-contract-wiremock/pom.xml b/spring-cloud-contract-wiremock/pom.xml index 638136d8b0..49415ce94f 100644 --- a/spring-cloud-contract-wiremock/pom.xml +++ b/spring-cloud-contract-wiremock/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.springframework.cloud.contract + org.springframework.cloud spring-cloud-contract-parent 1.0.0.BUILD-SNAPSHOT ..