Big refactoring

moved the contract to the spec modules
    changed the package of the contract
    fixed a couple of bugs related to stream messaging
    fixed a bug related to not copying of contracts via Gradle
This commit is contained in:
Marcin Grzejszczak
2016-06-29 18:59:44 +02:00
parent ddf92f7150
commit 8f37b1823d
130 changed files with 470 additions and 392 deletions

View File

@@ -5,14 +5,16 @@
== 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.verifier.dsl.Contract.make { ... }`.
You can also provide an import to the `Contract` class `import org.springframework.cloud.contract.verifier.dsl.Contract` and then call
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
`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
a tiny subset of it (namely literals, method calls and closures). What's more the DSL is designed to be programmer-readable without any knowledge of the DSL itself -
it's statically typed.
The Contract is present in the `spring-cloud-contract-spec` module of the Spring Cloud Contract Verifier repository.
Let's look at full example of a contract definition.
[source,groovy,indent=0]

View File

@@ -13,18 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
repositories {
mavenLocal()
jcenter()
maven {
url "http://repo.spring.io/snapshot"
}
maven {
url "http://repo.spring.io/milestone"
}
}
String verifier = "spring-cloud-contract-verifier"
dependencies {

View File

@@ -19,7 +19,7 @@ package org.springframework.cloud.contract.verifier.samples.camel
import com.jayway.jsonpath.DocumentContext
import com.jayway.jsonpath.JsonPath
import com.toomuchcoding.jsonassert.JsonAssertion
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage
import org.apache.camel.model.ModelCamelContext
import org.springframework.beans.factory.annotation.Autowired

View File

@@ -13,18 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
repositories {
mavenLocal()
jcenter()
maven {
url "http://repo.spring.io/snapshot"
}
maven {
url "http://repo.spring.io/milestone"
}
}
String verifier = "spring-cloud-contract-verifier"
dependencies {

View File

@@ -21,7 +21,7 @@ import com.jayway.jsonpath.JsonPath
import com.toomuchcoding.jsonassert.JsonAssertion
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.test.SpringApplicationContextLoader
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierObjectMapper

View File

@@ -21,7 +21,7 @@ import com.jayway.jsonpath.JsonPath
import com.toomuchcoding.jsonassert.JsonAssertion
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.test.SpringApplicationContextLoader
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierObjectMapper

View File

@@ -19,7 +19,7 @@ package org.springframework.cloud.contract.verifier.samples.messaging
import com.jayway.jsonpath.DocumentContext
import com.jayway.jsonpath.JsonPath
import com.toomuchcoding.jsonassert.JsonAssertion
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.test.SpringApplicationContextLoader

View File

@@ -5,6 +5,8 @@ rootProject.name = "$verifier-parent"
include "docs"
include ":spring-cloud-contract-spec"
include ":$verifier:$verifier-core",
":$verifier:$verifier-gradle-plugin",
":$verifier:$verifier-converters",

View File

@@ -14,15 +14,15 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl
package org.springframework.cloud.contract.spec
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString
import groovy.transform.TypeChecked
import org.springframework.cloud.contract.verifier.dsl.internal.Input
import org.springframework.cloud.contract.verifier.dsl.internal.OutputMessage
import org.springframework.cloud.contract.verifier.dsl.internal.Request
import org.springframework.cloud.contract.verifier.dsl.internal.Response
import org.springframework.cloud.contract.spec.internal.Input
import org.springframework.cloud.contract.spec.internal.OutputMessage
import org.springframework.cloud.contract.spec.internal.Request
import org.springframework.cloud.contract.spec.internal.Response
/**
* The point of entry to the DSL

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier
package org.springframework.cloud.contract.spec
import groovy.transform.CompileStatic

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic
import groovy.transform.EqualsAndHashCode

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.PackageScope
import groovy.transform.TypeChecked

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic
import groovy.transform.EqualsAndHashCode

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic
import groovy.transform.EqualsAndHashCode

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
/**
* Represents JSON comparison modes

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic
import groovy.transform.EqualsAndHashCode

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic
import groovy.transform.EqualsAndHashCode

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic
import groovy.transform.EqualsAndHashCode

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic
import groovy.transform.EqualsAndHashCode

View File

@@ -14,13 +14,13 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString
import static org.springframework.cloud.contract.verifier.util.ValidateUtils.validateServerValueIsAvailable
import static org.springframework.cloud.contract.spec.util.ValidateUtils.validateServerValueIsAvailable
/**
* Represents a single HTTP query parameter

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic
import groovy.transform.EqualsAndHashCode

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic
import groovy.transform.EqualsAndHashCode

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic
import groovy.transform.EqualsAndHashCode

View File

@@ -14,13 +14,13 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString
import static org.springframework.cloud.contract.verifier.util.ValidateUtils.validateServerValueIsAvailable
import static org.springframework.cloud.contract.spec.util.ValidateUtils.validateServerValueIsAvailable
/**
* Represents a URL that may contain query parameters

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.dsl.internal
package org.springframework.cloud.contract.spec.internal
import groovy.transform.CompileStatic
import groovy.transform.EqualsAndHashCode

View File

@@ -14,16 +14,16 @@
* limitations under the License.
*/
package org.springframework.cloud.contract.verifier.util
package org.springframework.cloud.contract.spec.util
import groovy.transform.TypeChecked
import org.springframework.cloud.contract.verifier.dsl.internal.DslProperty
import org.springframework.cloud.contract.verifier.dsl.internal.MatchingStrategy
import org.springframework.cloud.contract.spec.internal.DslProperty
import org.springframework.cloud.contract.spec.internal.MatchingStrategy
import java.util.regex.Pattern
import static org.springframework.cloud.contract.verifier.dsl.internal.MatchingStrategy.Type.ABSENT
import static org.springframework.cloud.contract.verifier.dsl.internal.MatchingStrategy.Type.EQUAL_TO
import static org.springframework.cloud.contract.spec.internal.MatchingStrategy.Type.ABSENT
import static org.springframework.cloud.contract.spec.internal.MatchingStrategy.Type.EQUAL_TO
/**
* Checks the validity of DSL entries.

View File

@@ -0,0 +1,35 @@
/*
* Copyright 2013-2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.cloud.contract.spec.internal
import spock.lang.Specification
class ExecutionPropertySpec extends Specification {
def 'should insert passed value in place of $it placeholder'() {
given:
String commandToExecute = 'commandToExecute($it)'
ExecutionProperty executionProperty = new ExecutionProperty(commandToExecute)
and:
String valueToInsert = 'someObject.itsValue'
when:
String commandWithInsertedValue = executionProperty.insertValue(valueToInsert)
then:
'commandToExecute(someObject.itsValue)' == commandWithInsertedValue
}
}

View File

@@ -0,0 +1,78 @@
/*
* Copyright 2013-2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.cloud.contract.spec.internal
import spock.lang.Specification
import java.util.regex.Pattern
class RegexPatternsSpec extends Specification {
RegexPatterns regexPatterns = new RegexPatterns()
def "should generate a regex for ip address [#textToMatch] that is a match [#shouldMatch]"() {
expect:
shouldMatch == Pattern.compile(regexPatterns.ipAddress()).matcher(textToMatch).matches()
where:
textToMatch || shouldMatch
'123.123.123.123' || true
'a.b.' || false
}
def "should generate a regex for hostname [#textToMatch] that is a match [#shouldMatch]"() {
expect:
shouldMatch == Pattern.compile(regexPatterns.hostname()).matcher(textToMatch).matches()
where:
textToMatch || shouldMatch
'https://asd.com' || true
'https://asd.com:8080' || true
'https://localhost' || true
'https://localhost:8080' || true
'https://asd.com/asd' || false
'asd.com' || false
}
def "should generate a regex for email [#textToMatch] that is a match [#shouldMatch]"() {
expect:
shouldMatch == Pattern.compile(regexPatterns.email()).matcher(textToMatch).matches()
where:
textToMatch || shouldMatch
'asd@asd.com' || true
'a.b.' || false
}
def "should generate a regex for url [#textToMatch] that is a match [#shouldMatch]"() {
expect:
shouldMatch == Pattern.compile(regexPatterns.url()).matcher(textToMatch).matches()
where:
textToMatch || shouldMatch
'ftp://asd.com:9090/asd/a?a=b' || true
'a.b.' || false
}
def "should generate a regex for a number [#textToMatch] that is a match [#shouldMatch]"() {
expect:
shouldMatch == Pattern.compile(regexPatterns.number()).matcher(textToMatch).matches()
where:
textToMatch || shouldMatch
'1' || true
'1.0' || true
'0.1' || true
'.1' || true
'1.' || false
}
}

View File

@@ -32,7 +32,7 @@ import org.springframework.cloud.contract.stubrunner.StubConfiguration;
import org.springframework.cloud.contract.stubrunner.StubFinder;
import org.springframework.cloud.contract.stubrunner.StubRunnerOptions;
import org.springframework.cloud.contract.stubrunner.StubRunnerOptionsBuilder;
import org.springframework.cloud.contract.verifier.dsl.Contract;
import org.springframework.cloud.contract.spec.Contract;
/**
* JUnit class rule that allows you to download the provided stubs.

View File

@@ -13,18 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
repositories {
mavenLocal()
jcenter()
maven {
url "http://repo.spring.io/snapshot"
}
maven {
url "http://repo.spring.io/milestone"
}
}
String verifier = "spring-cloud-contract-verifier"
String stubRunner = "spring-cloud-contract-stub-runner"

View File

@@ -18,7 +18,7 @@ package org.springframework.cloud.contract.stubrunner.messaging.camel
import org.apache.camel.RoutesBuilder
import org.apache.camel.spring.SpringRouteBuilder
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.stubrunner.BatchStubRunner
import org.springframework.cloud.contract.stubrunner.StubConfiguration
import org.springframework.context.annotation.Bean

View File

@@ -21,7 +21,7 @@ import com.jayway.jsonpath.JsonPath
import com.toomuchcoding.jsonassert.JsonAssertion
import com.toomuchcoding.jsonassert.JsonVerifiable
import groovy.transform.PackageScope
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.apache.camel.Exchange
import org.apache.camel.Predicate
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierObjectMapper

View File

@@ -21,7 +21,7 @@ import org.springframework.cloud.contract.verifier.util.BodyExtractor
import org.apache.camel.Exchange
import org.apache.camel.Message
import org.apache.camel.Processor
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
/**
* Sends forward a message defined in the DSL. Also removes headers from the

View File

@@ -25,7 +25,7 @@ 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.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.stubrunner.StubFinder
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.ComponentScan

View File

@@ -4,7 +4,7 @@ import org.apache.camel.CamelContext
import org.apache.camel.Exchange
import org.apache.camel.builder.ExchangeBuilder
import org.apache.camel.spring.SpringCamelContext
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import spock.lang.Specification
class StubRunnerCamelProcessorSpec extends Specification {

View File

@@ -13,17 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
repositories {
mavenLocal()
jcenter()
maven {
url "http://repo.spring.io/snapshot"
}
maven {
url "http://repo.spring.io/milestone"
}
}
String verifier = "spring-cloud-contract-verifier"
String stubRunner = "spring-cloud-contract-stub-runner"

View File

@@ -17,7 +17,7 @@
package org.springframework.cloud.contract.stubrunner.messaging.integration
import groovy.transform.CompileStatic
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.stubrunner.StubConfiguration
import org.springframework.beans.factory.config.AutowireCapableBeanFactory
import org.springframework.cloud.contract.stubrunner.BatchStubRunner

View File

@@ -21,7 +21,7 @@ import com.jayway.jsonpath.JsonPath
import com.toomuchcoding.jsonassert.JsonAssertion
import com.toomuchcoding.jsonassert.JsonVerifiable
import groovy.transform.CompileStatic
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierObjectMapper
import org.springframework.cloud.contract.verifier.util.JsonPaths
import org.springframework.cloud.contract.verifier.util.JsonToJsonPathsConverter

View File

@@ -16,7 +16,7 @@
package org.springframework.cloud.contract.stubrunner.messaging.integration
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.verifier.util.BodyExtractor
import org.springframework.integration.transformer.GenericTransformer
import org.springframework.messaging.Message

View File

@@ -22,7 +22,7 @@ import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMes
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.autoconfigure.EnableAutoConfiguration
import org.springframework.boot.test.SpringApplicationContextLoader
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.stubrunner.StubFinder
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging
import org.springframework.context.annotation.ComponentScan

View File

@@ -1,6 +1,6 @@
package org.springframework.cloud.contract.stubrunner.messaging.integration
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.messaging.Message
import org.springframework.messaging.support.MessageBuilder
import spock.lang.Specification

View File

@@ -13,18 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
repositories {
mavenLocal()
jcenter()
maven {
url "http://repo.spring.io/snapshot"
}
maven {
url "http://repo.spring.io/milestone"
}
}
String verifier = "spring-cloud-contract-verifier"
String stubRunner = "spring-cloud-contract-stub-runner"

View File

@@ -20,7 +20,7 @@ import groovy.transform.CompileStatic
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.config.AutowireCapableBeanFactory
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.stubrunner.BatchStubRunner
import org.springframework.cloud.contract.stubrunner.StubConfiguration
import org.springframework.cloud.contract.stubrunner.spring.StubRunnerConfiguration

View File

@@ -21,7 +21,7 @@ import com.jayway.jsonpath.JsonPath
import com.toomuchcoding.jsonassert.JsonAssertion
import com.toomuchcoding.jsonassert.JsonVerifiable
import groovy.transform.CompileStatic
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierObjectMapper
import org.springframework.cloud.contract.verifier.util.JsonPaths
import org.springframework.cloud.contract.verifier.util.JsonToJsonPathsConverter

View File

@@ -17,7 +17,7 @@
package org.springframework.cloud.contract.stubrunner.messaging.stream
import org.springframework.cloud.contract.verifier.util.BodyExtractor
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.integration.transformer.GenericTransformer
import org.springframework.messaging.Message
import org.springframework.messaging.MessageHeaders

View File

@@ -18,7 +18,7 @@ package org.springframework.cloud.contract.stubrunner.messaging.stream
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
import org.springframework.cloud.contract.verifier.dsl.Contract
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

View File

@@ -1,6 +1,6 @@
package org.springframework.cloud.contract.stubrunner.messaging.stream
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.messaging.Message
import org.springframework.messaging.support.MessageBuilder
import spock.lang.Specification

View File

@@ -17,7 +17,7 @@
package org.springframework.cloud.contract.stubrunner
import groovy.transform.CompileStatic
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
/**
* Manages lifecycle of multiple {@link StubRunner} instances.
*
@@ -84,7 +84,7 @@ class BatchStubRunner implements StubRunning {
if (!triggered) {
throw new IllegalArgumentException("No label with name [$labelName] for " +
"dependency [$ivyNotation] was found. Here you have the list of dependencies " +
"and their labels [${ivyToLabels()}")
"and their labels [${ivyToLabels()}]")
}
return triggered
}

View File

@@ -18,7 +18,7 @@ package org.springframework.cloud.contract.stubrunner
import groovy.transform.CompileStatic
import groovy.transform.PackageScope
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
/**
* @author Marcin Grzejszczak

View File

@@ -18,7 +18,7 @@ package org.springframework.cloud.contract.stubrunner
import groovy.transform.CompileStatic
import groovy.transform.EqualsAndHashCode
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
/**
* @author Marcin Grzejszczak

View File

@@ -16,7 +16,7 @@
package org.springframework.cloud.contract.stubrunner
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
interface StubFinder extends StubTrigger {
/**

View File

@@ -19,7 +19,7 @@ package org.springframework.cloud.contract.stubrunner
import groovy.transform.CompileStatic
import groovy.transform.PackageScope
import groovy.util.logging.Slf4j
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.verifier.util.ContractVerifierDslConverter
/**

View File

@@ -18,7 +18,7 @@ package org.springframework.cloud.contract.stubrunner
import groovy.transform.CompileStatic
import groovy.util.logging.Slf4j
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging
import org.springframework.cloud.contract.verifier.messaging.noop.NoOpContractVerifierMessaging

View File

@@ -16,9 +16,10 @@
package org.springframework.cloud.contract.stubrunner
import groovy.json.JsonOutput
import groovy.transform.CompileStatic
import groovy.util.logging.Slf4j
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage
import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging
import org.springframework.cloud.contract.verifier.messaging.noop.NoOpContractVerifierMessaging
@@ -129,7 +130,7 @@ class StubRunnerExecutor implements StubFinder {
return
}
ContractVerifierMessage message = contractVerifierMessaging.create(
BodyExtractor.extractClientValueFromBody(groovyDsl.outputMessage?.body?.clientValue),
new JsonOutput().toJson(BodyExtractor.extractClientValueFromBody(groovyDsl.outputMessage?.body?.clientValue)),
groovyDsl.outputMessage?.headers?.asStubSideMap())
contractVerifierMessaging.send(message, groovyDsl.outputMessage.sentTo.clientValue)
}

View File

@@ -22,7 +22,7 @@ import com.github.tomakehurst.wiremock.core.WireMockConfiguration
import groovy.transform.CompileStatic
import groovy.transform.PackageScope
import groovy.util.logging.Slf4j
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
@CompileStatic
@Slf4j

View File

@@ -1,4 +1,4 @@
org.springframework.cloud.contract.verifier.dsl.Contract.make {
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

View File

@@ -19,6 +19,7 @@ String verifier = "spring-cloud-contract-verifier"
project(":$verifier-root:$verifier-core") {
dependencies {
compile project(":spring-cloud-contract-spec")
compile 'org.slf4j:slf4j-api:1.6.0'
compile 'commons-io:commons-io:2.0'
compile 'org.apache.commons:commons-lang3:3.3'

View File

@@ -17,7 +17,7 @@
package org.springframework.cloud.contract.verifier.wiremock
import groovy.transform.CompileStatic
import org.springframework.cloud.contract.verifier.ContractVerifierException
import org.springframework.cloud.contract.spec.ContractVerifierException
/**
* Thrown when a a DSL can't be properly converted

View File

@@ -17,7 +17,7 @@
package org.springframework.cloud.contract.verifier.wiremock
import groovy.transform.CompileStatic
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.verifier.converter.SingleFileConverter
import org.springframework.cloud.contract.verifier.util.ContractVerifierDslConverter

View File

@@ -21,14 +21,14 @@ import groovy.transform.CompileStatic
import groovy.util.logging.Slf4j
import org.springframework.cloud.contract.verifier.config.ContractVerifierConfigProperties
import org.springframework.cloud.contract.verifier.converter.SingleFileConverter
import org.springframework.cloud.contract.verifier.file.ContractMetadata
import org.springframework.cloud.contract.verifier.file.ContractFileScanner
import org.springframework.cloud.contract.verifier.file.ContractMetadata
import java.nio.charset.StandardCharsets
import java.nio.file.Files
import java.nio.file.Path
import java.nio.file.Paths
import java.nio.file.StandardCopyOption
/**
* Recursively converts contracts into their stub representations
*
@@ -38,6 +38,8 @@ import java.nio.file.Paths
@CompileStatic
class RecursiveFilesConverter {
private static final String DEFAULT_CONTRACTS_FOLDER = "contracts"
private static final String DEFAULT_MAPPINGS_FOLDER = "mappings"
private final SingleFileConverter singleFileConverter
private final ContractVerifierConfigProperties properties
@@ -49,6 +51,8 @@ class RecursiveFilesConverter {
void processFiles() {
ContractFileScanner scanner = new ContractFileScanner(properties.contractsDslDir, properties.excludedFiles as Set, [] as Set)
ListMultimap<Path, ContractMetadata> contracts = scanner.findContracts()
log.debug("Found the following contracts $contracts")
createContractDirInOutputStubsFolder()
contracts.asMap().entrySet().each { entry ->
entry.value.each { ContractMetadata contract ->
File sourceFile = contract.path.toFile()
@@ -56,13 +60,15 @@ class RecursiveFilesConverter {
if (!singleFileConverter.canHandleFileName(sourceFile.name)) {
return
}
Path targetContractDir = createAndReturnTargetDirectory(sourceFile, DEFAULT_CONTRACTS_FOLDER)
Files.copy(sourceFile.toPath(), new File(targetContractDir.toFile(), sourceFile.name).toPath(), StandardCopyOption.REPLACE_EXISTING)
String convertedContent = singleFileConverter.convertContent(entry.key.last().toString(), contract)
if (!convertedContent) {
return
}
Path absoluteTargetPath = createAndReturnTargetDirectory(sourceFile)
File newGroovyFile = createTargetFileWithProperName(absoluteTargetPath, sourceFile)
newGroovyFile.setText(convertedContent, StandardCharsets.UTF_8.toString())
Path absoluteTargetPath = createAndReturnTargetDirectory(sourceFile, DEFAULT_MAPPINGS_FOLDER)
File newJsonFile = createTargetFileWithProperName(absoluteTargetPath, sourceFile)
newJsonFile.setText(convertedContent, StandardCharsets.UTF_8.toString())
} catch (Exception e) {
throw new ConversionContractVerifierException("Unable to make conversion of ${sourceFile.name}", e)
}
@@ -70,16 +76,24 @@ class RecursiveFilesConverter {
}
}
private Path createAndReturnTargetDirectory(File sourceFile) {
private boolean createContractDirInOutputStubsFolder() {
return contractDir().mkdirs()
}
private File contractDir() {
return new File(properties.stubsOutputDir, DEFAULT_CONTRACTS_FOLDER)
}
private Path createAndReturnTargetDirectory(File sourceFile, String defaultFolder) {
Path relativePath = Paths.get(properties.contractsDslDir.toURI()).relativize(sourceFile.parentFile.toPath())
Path absoluteTargetPath = properties.stubsOutputDir.toPath().resolve(relativePath)
Path absoluteTargetPath = new File(properties.stubsOutputDir, defaultFolder).toPath().resolve(relativePath)
Files.createDirectories(absoluteTargetPath)
return absoluteTargetPath
}
private File createTargetFileWithProperName(Path absoluteTargetPath, File sourceFile) {
File newGroovyFile = new File(absoluteTargetPath.toFile(), singleFileConverter.generateOutputFileNameForInput(sourceFile.name))
log.info("Creating new json [$newGroovyFile.path]")
return newGroovyFile
File newJsonFile = new File(absoluteTargetPath.toFile(), singleFileConverter.generateOutputFileNameForInput(sourceFile.name))
log.info("Creating new json [$newJsonFile.path]")
return newJsonFile
}
}

View File

@@ -22,7 +22,7 @@ import groovy.json.JsonParserType
import groovy.json.JsonSlurper
import groovy.transform.CompileDynamic
import groovy.xml.XmlUtil
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import nl.flotsam.xeger.Xeger
import java.nio.charset.StandardCharsets

View File

@@ -34,7 +34,7 @@ class DslToWireMockClientConverterSpec extends Specification {
and:
File file = tmpFolder.newFile("dsl1.groovy")
file.write("""
org.springframework.cloud.contract.verifier.dsl.Contract.make {
org.springframework.cloud.contract.spec.Contract.make {
request {
method('PUT')
url \$(client(~/\\/[0-9]{2}/), server('/12'))
@@ -59,7 +59,7 @@ class DslToWireMockClientConverterSpec extends Specification {
and:
File file = tmpFolder.newFile("dsl-delay.groovy")
file.write("""
org.springframework.cloud.contract.verifier.dsl.Contract.make {
org.springframework.cloud.contract.spec.Contract.make {
request {
}
response {
@@ -82,7 +82,7 @@ class DslToWireMockClientConverterSpec extends Specification {
and:
File file = tmpFolder.newFile("dsl2.groovy")
file.write("""
org.springframework.cloud.contract.verifier.dsl.Contract.make {
org.springframework.cloud.contract.spec.Contract.make {
request {
method 'PUT'
url '/api/12'
@@ -188,7 +188,7 @@ class DslToWireMockClientConverterSpec extends Specification {
and:
File file = tmpFolder.newFile("dsl-mapinlist.groovy")
file.write("""
org.springframework.cloud.contract.verifier.dsl.Contract.make {
org.springframework.cloud.contract.spec.Contract.make {
request {
method 'GET'
urlPath '/foos'
@@ -222,7 +222,7 @@ class DslToWireMockClientConverterSpec extends Specification {
and:
File file = tmpFolder.newFile("dsl_from_docs.groovy")
file.write('''
org.springframework.cloud.contract.verifier.dsl.Contract.make {
org.springframework.cloud.contract.spec.Contract.make {
priority 1
request {
method 'POST'

View File

@@ -30,7 +30,12 @@ import java.nio.file.Paths
class RecursiveFilesConverterSpec extends Specification {
private static
final Set<Path> EXPECTED_TARGET_FILES = [Paths.get("dslRoot.json"), Paths.get("dir1/dsl1.json"), Paths.get("dir1/dsl1b.json"), Paths.get("dir2/dsl2.json")]
final Set<Path> EXPECTED_TARGET_FILES = [
Paths.get("contracts/dir1/dsl1.groovy"), Paths.get("contracts/dir1/dsl1b.groovy"),
Paths.get("contracts/dir2/dsl2.groovy"), Paths.get("contracts/dslRoot.groovy"),
Paths.get("mappings/dslRoot.json"), Paths.get("mappings/dir1/dsl1.json"),
Paths.get("mappings/dir1/dsl1b.json"), Paths.get("mappings/dir2/dsl2.json")
]
@Rule
public TemporaryFolder tmpFolder = new TemporaryFolder();
@@ -79,7 +84,8 @@ class RecursiveFilesConverterSpec extends Specification {
then:
Collection<File> createdFiles = FileUtils.listFiles(properties.stubsOutputDir, TrueFileFilter.INSTANCE, TrueFileFilter.INSTANCE)
Set<String> relativizedCreatedFiles = getRelativePathsForFilesInDirectory(createdFiles, properties.stubsOutputDir)
[Paths.get("dslRoot.json"), Paths.get("dir2/dsl2.json")] as Set == relativizedCreatedFiles as Set
[ Paths.get("mappings/dslRoot.json"), Paths.get("mappings/dir2/dsl2.json") ,
Paths.get("contracts/dslRoot.groovy"), Paths.get("contracts/dir2/dsl2.groovy")] as Set == relativizedCreatedFiles as Set
and:
createdFiles.each { it.text == "converted" }
}

View File

@@ -18,7 +18,7 @@ package org.springframework.cloud.contract.verifier.wiremock
import com.github.tomakehurst.wiremock.stubbing.StubMapping
import org.springframework.cloud.contract.verifier.util.ContractVerifierDslConverter
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
import spock.lang.Specification
class WireMockToDslConverterSpec extends Specification {
@@ -85,7 +85,7 @@ class WireMockToDslConverterSpec extends Specification {
String groovyDsl = WireMockToDslConverter.fromWireMockStub(wireMockStub)
then:
ContractVerifierDslConverter.convert(
"""org.springframework.cloud.contract.verifier.dsl.Contract.make {
"""org.springframework.cloud.contract.spec.Contract.make {
$groovyDsl
}""") == expectedGroovyDsl
}
@@ -139,7 +139,7 @@ class WireMockToDslConverterSpec extends Specification {
String groovyDsl = WireMockToDslConverter.fromWireMockStub(wireMockStub)
then:
ContractVerifierDslConverter.convert(
"""org.springframework.cloud.contract.verifier.dsl.Contract.make {
"""org.springframework.cloud.contract.spec.Contract.make {
$groovyDsl
}""") == expectedGroovyDsl
}
@@ -190,7 +190,7 @@ class WireMockToDslConverterSpec extends Specification {
String groovyDsl = WireMockToDslConverter.fromWireMockStub(wireMockStub)
then:
ContractVerifierDslConverter.convert(
"""org.springframework.cloud.contract.verifier.dsl.Contract.make {
"""org.springframework.cloud.contract.spec.Contract.make {
$groovyDsl
}""") == expectedGroovyDsl
}
@@ -244,7 +244,7 @@ class WireMockToDslConverterSpec extends Specification {
String groovyDsl = WireMockToDslConverter.fromWireMockStub(wireMockStub)
then:
ContractVerifierDslConverter.convert(
"""org.springframework.cloud.contract.verifier.dsl.Contract.make {
"""org.springframework.cloud.contract.spec.Contract.make {
$groovyDsl
}""") == expectedGroovyDsl
}
@@ -309,7 +309,7 @@ class WireMockToDslConverterSpec extends Specification {
String groovyDsl = WireMockToDslConverter.fromWireMockStub(wireMockStub)
then:
ContractVerifierDslConverter.convert(
"""org.springframework.cloud.contract.verifier.dsl.Contract.make {
"""org.springframework.cloud.contract.spec.Contract.make {
$groovyDsl
}""") == expectedGroovyDsl
}
@@ -347,7 +347,7 @@ class WireMockToDslConverterSpec extends Specification {
String groovyDsl = WireMockToDslConverter.fromWireMockStub(wireMockStub)
then:
Contract evaluatedGroovyDsl = ContractVerifierDslConverter.convert(
"""org.springframework.cloud.contract.verifier.dsl.Contract.make {
"""org.springframework.cloud.contract.spec.Contract.make {
$groovyDsl
}""")
and:
@@ -387,7 +387,7 @@ class WireMockToDslConverterSpec extends Specification {
String groovyDsl = WireMockToDslConverter.fromWireMockStub(wireMockStub)
then:
Contract evaluatedGroovyDsl = ContractVerifierDslConverter.convert(
"""org.springframework.cloud.contract.verifier.dsl.Contract.make {
"""org.springframework.cloud.contract.spec.Contract.make {
$groovyDsl
}""")
and:
@@ -428,7 +428,7 @@ class WireMockToDslConverterSpec extends Specification {
String groovyDsl = WireMockToDslConverter.fromWireMockStub(wireMockStub)
then:
Contract evaluatedGroovyDsl = ContractVerifierDslConverter.convert(
"""org.springframework.cloud.contract.verifier.dsl.Contract.make {
"""org.springframework.cloud.contract.spec.Contract.make {
$groovyDsl
}""")
and:
@@ -468,7 +468,7 @@ class WireMockToDslConverterSpec extends Specification {
String groovyDsl = WireMockToDslConverter.fromWireMockStub(wireMockStub)
then:
Contract evaluatedGroovyDsl = ContractVerifierDslConverter.convert(
"""org.springframework.cloud.contract.verifier.dsl.Contract.make {
"""org.springframework.cloud.contract.spec.Contract.make {
$groovyDsl
}""")
and:
@@ -508,7 +508,7 @@ class WireMockToDslConverterSpec extends Specification {
String groovyDsl = WireMockToDslConverter.fromWireMockStub(wireMockStub)
then:
Contract evaluatedGroovyDsl = ContractVerifierDslConverter.convert(
"""org.springframework.cloud.contract.verifier.dsl.Contract.make {
"""org.springframework.cloud.contract.spec.Contract.make {
$groovyDsl
}""")
and:
@@ -546,7 +546,7 @@ class WireMockToDslConverterSpec extends Specification {
String groovyDsl = WireMockToDslConverter.fromWireMockStub(wireMockStub)
then:
Contract evaluatedGroovyDsl = ContractVerifierDslConverter.convert(
"""org.springframework.cloud.contract.verifier.dsl.Contract.make {
"""org.springframework.cloud.contract.spec.Contract.make {
$groovyDsl
}""")
and:

View File

@@ -1,4 +1,4 @@
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
/*
* Copyright 2013-2016 the original author or authors.

View File

@@ -1,4 +1,4 @@
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
/*
* Copyright 2013-2016 the original author or authors.

View File

@@ -1,4 +1,4 @@
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
/*
* Copyright 2013-2016 the original author or authors.

View File

@@ -1,4 +1,4 @@
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
/*
* Copyright 2013-2016 the original author or authors.

View File

@@ -1,4 +1,4 @@
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
/*
* Copyright 2013-2016 the original author or authors.

View File

@@ -1,4 +1,4 @@
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
/*
* Copyright 2013-2016 the original author or authors.

View File

@@ -1,4 +1,4 @@
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.spec.Contract
/*
* Copyright 2013-2016 the original author or authors.

View File

@@ -19,19 +19,17 @@ package org.springframework.cloud.contract.verifier
import com.google.common.collect.ListMultimap
import groovy.transform.PackageScope
import org.apache.commons.lang3.StringUtils
import org.springframework.cloud.contract.spec.ContractVerifierException
import org.springframework.cloud.contract.verifier.builder.SingleTestGenerator
import org.springframework.cloud.contract.verifier.config.ContractVerifierConfigProperties
import org.springframework.cloud.contract.verifier.file.ContractMetadata
import org.springframework.cloud.contract.verifier.file.ContractFileScanner
import org.springframework.cloud.contract.verifier.file.ContractMetadata
import java.nio.charset.StandardCharsets
import java.nio.file.Path
import java.util.concurrent.atomic.AtomicInteger
import static org.springframework.cloud.contract.verifier.util.NamesUtil.afterLast
import static org.springframework.cloud.contract.verifier.util.NamesUtil.beforeLast
import static org.springframework.cloud.contract.verifier.util.NamesUtil.convertIllegalPackageChars
import static org.springframework.cloud.contract.verifier.util.NamesUtil.directoryToPackage
import static org.springframework.cloud.contract.verifier.util.NamesUtil.*
/**
* @author Jakub Kubrynski, codearte.io

View File

@@ -19,11 +19,11 @@ package org.springframework.cloud.contract.verifier.builder
import groovy.json.StringEscapeUtils
import groovy.transform.PackageScope
import groovy.transform.TypeChecked
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.verifier.dsl.internal.Header
import org.springframework.cloud.contract.verifier.dsl.internal.Input
import org.springframework.cloud.contract.verifier.dsl.internal.NamedProperty
import org.springframework.cloud.contract.verifier.dsl.internal.ExecutionProperty
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.spec.internal.Header
import org.springframework.cloud.contract.spec.internal.Input
import org.springframework.cloud.contract.spec.internal.NamedProperty
import org.springframework.cloud.contract.spec.internal.ExecutionProperty
import java.util.regex.Pattern

View File

@@ -19,11 +19,11 @@ package org.springframework.cloud.contract.verifier.builder
import groovy.json.StringEscapeUtils
import groovy.transform.PackageScope
import groovy.transform.TypeChecked
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.verifier.dsl.internal.Header
import org.springframework.cloud.contract.verifier.dsl.internal.NamedProperty
import org.springframework.cloud.contract.verifier.dsl.internal.Request
import org.springframework.cloud.contract.verifier.dsl.internal.ExecutionProperty
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.spec.internal.Header
import org.springframework.cloud.contract.spec.internal.NamedProperty
import org.springframework.cloud.contract.spec.internal.Request
import org.springframework.cloud.contract.spec.internal.ExecutionProperty
import java.util.regex.Pattern

View File

@@ -18,11 +18,11 @@ package org.springframework.cloud.contract.verifier.builder
import groovy.transform.PackageScope
import groovy.transform.TypeChecked
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.verifier.dsl.internal.Header
import org.springframework.cloud.contract.verifier.dsl.internal.QueryParameter
import org.springframework.cloud.contract.verifier.dsl.internal.ExecutionProperty
import org.springframework.cloud.contract.verifier.dsl.internal.QueryParameters
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.spec.internal.Header
import org.springframework.cloud.contract.spec.internal.QueryParameter
import org.springframework.cloud.contract.spec.internal.ExecutionProperty
import org.springframework.cloud.contract.spec.internal.QueryParameters
import java.util.regex.Pattern

View File

@@ -18,11 +18,11 @@ package org.springframework.cloud.contract.verifier.builder
import groovy.transform.PackageScope
import groovy.transform.TypeChecked
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.verifier.dsl.internal.Header
import org.springframework.cloud.contract.verifier.dsl.internal.QueryParameter
import org.springframework.cloud.contract.verifier.dsl.internal.QueryParameters
import org.springframework.cloud.contract.verifier.dsl.internal.ExecutionProperty
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.spec.internal.Header
import org.springframework.cloud.contract.spec.internal.QueryParameter
import org.springframework.cloud.contract.spec.internal.QueryParameters
import org.springframework.cloud.contract.spec.internal.ExecutionProperty
import java.util.regex.Pattern

View File

@@ -19,9 +19,9 @@ package org.springframework.cloud.contract.verifier.builder
import groovy.json.JsonOutput
import groovy.transform.PackageScope
import groovy.transform.TypeChecked
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.verifier.dsl.internal.Input
import org.springframework.cloud.contract.verifier.dsl.internal.OutputMessage
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.spec.internal.Input
import org.springframework.cloud.contract.spec.internal.OutputMessage
import org.springframework.cloud.contract.verifier.util.ContentType
import static org.springframework.cloud.contract.verifier.util.ContentUtils.recognizeContentTypeFromContent

View File

@@ -18,13 +18,13 @@ package org.springframework.cloud.contract.verifier.builder
import groovy.transform.PackageScope
import groovy.transform.TypeChecked
import org.springframework.cloud.contract.verifier.dsl.internal.NamedProperty
import org.springframework.cloud.contract.spec.internal.NamedProperty
import org.springframework.cloud.contract.verifier.util.MapConverter
import org.springframework.cloud.contract.verifier.dsl.internal.DslProperty
import org.springframework.cloud.contract.verifier.dsl.internal.ExecutionProperty
import org.springframework.cloud.contract.verifier.dsl.internal.Header
import org.springframework.cloud.contract.verifier.dsl.internal.MatchingStrategy
import org.springframework.cloud.contract.verifier.dsl.internal.QueryParameter
import org.springframework.cloud.contract.spec.internal.DslProperty
import org.springframework.cloud.contract.spec.internal.ExecutionProperty
import org.springframework.cloud.contract.spec.internal.Header
import org.springframework.cloud.contract.spec.internal.MatchingStrategy
import org.springframework.cloud.contract.spec.internal.QueryParameter
import org.springframework.cloud.contract.verifier.util.ContentType
import org.springframework.cloud.contract.verifier.util.JsonPaths
import org.springframework.cloud.contract.verifier.util.JsonToJsonPathsConverter
@@ -329,7 +329,7 @@ abstract class MethodBodyBuilder {
}
/**
* Converts the {@link org.springframework.cloud.contract.verifier.dsl.internal.QueryParameter} server side value into its String
* Converts the {@link org.springframework.cloud.contract.spec.internal.QueryParameter} server side value into its String
* representation
*/
protected String resolveParamValue(QueryParameter param) {

View File

@@ -38,11 +38,11 @@ import org.springframework.cloud.contract.verifier.file.ContractMetadata
class MethodBuilder {
private final String methodName
private final org.springframework.cloud.contract.verifier.dsl.Contract stubContent
private final org.springframework.cloud.contract.spec.Contract stubContent
private final ContractVerifierConfigProperties configProperties
private final boolean ignored
private MethodBuilder(String methodName, org.springframework.cloud.contract.verifier.dsl.Contract stubContent, ContractVerifierConfigProperties configProperties, boolean ignored) {
private MethodBuilder(String methodName, org.springframework.cloud.contract.spec.Contract stubContent, ContractVerifierConfigProperties configProperties, boolean ignored) {
this.ignored = ignored
this.stubContent = stubContent
this.methodName = methodName
@@ -52,7 +52,7 @@ class MethodBuilder {
/**
* A factory method that creates a {@link MethodBuilder} for the given arguments
*/
static MethodBuilder createTestMethod(ContractMetadata contract, File stubsFile, org.springframework.cloud.contract.verifier.dsl.Contract stubContent, ContractVerifierConfigProperties configProperties) {
static MethodBuilder createTestMethod(ContractMetadata contract, File stubsFile, org.springframework.cloud.contract.spec.Contract stubContent, ContractVerifierConfigProperties configProperties) {
log.debug("Stub content Groovy DSL [$stubContent]")
String methodName = NamesUtil.camelCase(NamesUtil.toLastDot(NamesUtil.afterLast(stubsFile.path, File.separator)))
return new MethodBuilder(methodName, stubContent, configProperties, contract.ignored)

View File

@@ -18,9 +18,9 @@ package org.springframework.cloud.contract.verifier.builder
import groovy.transform.PackageScope
import groovy.transform.TypeChecked
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.verifier.dsl.internal.Header
import org.springframework.cloud.contract.verifier.dsl.internal.ExecutionProperty
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.spec.internal.Header
import org.springframework.cloud.contract.spec.internal.ExecutionProperty
import java.util.regex.Pattern

View File

@@ -18,9 +18,9 @@ package org.springframework.cloud.contract.verifier.builder
import groovy.transform.PackageScope
import groovy.transform.TypeChecked
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.verifier.dsl.internal.ExecutionProperty
import org.springframework.cloud.contract.verifier.dsl.internal.Header
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.spec.internal.ExecutionProperty
import org.springframework.cloud.contract.spec.internal.Header
import java.util.regex.Pattern

View File

@@ -20,14 +20,14 @@ import groovy.json.JsonOutput
import groovy.transform.PackageScope
import groovy.transform.TypeChecked
import groovy.transform.TypeCheckingMode
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.verifier.dsl.internal.Request
import org.springframework.cloud.contract.verifier.dsl.internal.Header
import org.springframework.cloud.contract.verifier.dsl.internal.MatchingStrategy
import org.springframework.cloud.contract.verifier.dsl.internal.NamedProperty
import org.springframework.cloud.contract.verifier.dsl.internal.QueryParameter
import org.springframework.cloud.contract.verifier.dsl.internal.Response
import org.springframework.cloud.contract.verifier.dsl.internal.Url
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.spec.internal.Request
import org.springframework.cloud.contract.spec.internal.Header
import org.springframework.cloud.contract.spec.internal.MatchingStrategy
import org.springframework.cloud.contract.spec.internal.NamedProperty
import org.springframework.cloud.contract.spec.internal.QueryParameter
import org.springframework.cloud.contract.spec.internal.Response
import org.springframework.cloud.contract.spec.internal.Url
import org.springframework.cloud.contract.verifier.util.ContentType
import org.springframework.cloud.contract.verifier.util.MapConverter

View File

@@ -120,7 +120,7 @@ class SingleTestGenerator {
return listOfFiles.collectEntries {
File stubsFile = it.path.toFile()
log.debug("Stub content from file [${stubsFile.text}]")
org.springframework.cloud.contract.verifier.dsl.Contract stubContent = ContractVerifierDslConverter.convert(stubsFile)
org.springframework.cloud.contract.spec.Contract stubContent = ContractVerifierDslConverter.convert(stubsFile)
TestType testType = (stubContent.input || stubContent.outputMessage) ? TestType.MESSAGING : TestType.HTTP
return [(new ParsedDsl(it, stubContent, stubsFile)): testType]
}
@@ -130,7 +130,7 @@ class SingleTestGenerator {
@EqualsAndHashCode
private static class ParsedDsl {
ContractMetadata contract
org.springframework.cloud.contract.verifier.dsl.Contract groovyDsl
org.springframework.cloud.contract.spec.Contract groovyDsl
File stubsFile
}

View File

@@ -19,11 +19,11 @@ package org.springframework.cloud.contract.verifier.builder
import groovy.json.StringEscapeUtils
import groovy.transform.PackageScope
import groovy.transform.TypeChecked
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.verifier.dsl.internal.ExecutionProperty
import org.springframework.cloud.contract.verifier.dsl.internal.Header
import org.springframework.cloud.contract.verifier.dsl.internal.Input
import org.springframework.cloud.contract.verifier.dsl.internal.NamedProperty
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.spec.internal.ExecutionProperty
import org.springframework.cloud.contract.spec.internal.Header
import org.springframework.cloud.contract.spec.internal.Input
import org.springframework.cloud.contract.spec.internal.NamedProperty
import java.util.regex.Pattern
/**

View File

@@ -19,11 +19,11 @@ package org.springframework.cloud.contract.verifier.builder
import groovy.json.StringEscapeUtils
import groovy.transform.PackageScope
import groovy.transform.TypeChecked
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.verifier.dsl.internal.Header
import org.springframework.cloud.contract.verifier.dsl.internal.NamedProperty
import org.springframework.cloud.contract.verifier.dsl.internal.Request
import org.springframework.cloud.contract.verifier.dsl.internal.ExecutionProperty
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.spec.internal.Header
import org.springframework.cloud.contract.spec.internal.NamedProperty
import org.springframework.cloud.contract.spec.internal.Request
import org.springframework.cloud.contract.spec.internal.ExecutionProperty
import java.util.regex.Pattern

View File

@@ -19,9 +19,9 @@ package org.springframework.cloud.contract.verifier.dsl.wiremock
import groovy.json.JsonBuilder
import groovy.transform.PackageScope
import groovy.transform.TypeChecked
import org.springframework.cloud.contract.verifier.dsl.internal.Headers
import org.springframework.cloud.contract.spec.internal.Headers
import org.springframework.cloud.contract.verifier.util.MapConverter
import org.springframework.cloud.contract.verifier.dsl.internal.DslProperty
import org.springframework.cloud.contract.spec.internal.DslProperty
import org.springframework.cloud.contract.verifier.util.ContentType
import org.springframework.cloud.contract.verifier.util.ContentUtils

View File

@@ -23,19 +23,19 @@ import groovy.json.JsonOutput
import groovy.transform.PackageScope
import groovy.transform.TypeChecked
import groovy.transform.TypeCheckingMode
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.verifier.dsl.internal.Body
import org.springframework.cloud.contract.verifier.dsl.internal.NamedProperty
import org.springframework.cloud.contract.verifier.dsl.internal.QueryParameters
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.spec.internal.Body
import org.springframework.cloud.contract.spec.internal.NamedProperty
import org.springframework.cloud.contract.spec.internal.QueryParameters
import org.springframework.cloud.contract.verifier.util.ContentUtils
import org.springframework.cloud.contract.verifier.util.JsonPaths
import org.springframework.cloud.contract.verifier.util.MapConverter
import org.springframework.cloud.contract.verifier.dsl.internal.DslProperty
import org.springframework.cloud.contract.verifier.dsl.internal.OptionalProperty
import org.springframework.cloud.contract.verifier.dsl.internal.RegexPatterns
import org.springframework.cloud.contract.verifier.dsl.internal.Request
import org.springframework.cloud.contract.spec.internal.DslProperty
import org.springframework.cloud.contract.spec.internal.OptionalProperty
import org.springframework.cloud.contract.spec.internal.RegexPatterns
import org.springframework.cloud.contract.spec.internal.Request
import org.springframework.cloud.contract.verifier.util.JsonToJsonPathsConverter
import org.springframework.cloud.contract.verifier.dsl.internal.MatchingStrategy
import org.springframework.cloud.contract.spec.internal.MatchingStrategy
import org.springframework.cloud.contract.verifier.util.ContentType
import java.util.regex.Pattern

View File

@@ -22,9 +22,9 @@ import com.github.tomakehurst.wiremock.http.HttpHeaders
import com.github.tomakehurst.wiremock.http.ResponseDefinition
import groovy.transform.PackageScope
import groovy.transform.TypeChecked
import org.springframework.cloud.contract.verifier.dsl.Contract
import org.springframework.cloud.contract.verifier.dsl.internal.Request
import org.springframework.cloud.contract.verifier.dsl.internal.Response
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.spec.internal.Request
import org.springframework.cloud.contract.spec.internal.Response
import org.springframework.cloud.contract.verifier.util.ContentType
import static org.springframework.cloud.contract.verifier.util.ContentUtils.recognizeContentTypeFromContent

View File

@@ -39,7 +39,7 @@ class WireMockStubStrategy {
private final ContractMetadata contract
private final String rootName
WireMockStubStrategy(String rootName, ContractMetadata contract, org.springframework.cloud.contract.verifier.dsl.Contract groovyDsl) {
WireMockStubStrategy(String rootName, ContractMetadata contract, org.springframework.cloud.contract.spec.Contract groovyDsl) {
this.rootName = rootName
this.contract = contract
this.wireMockRequestStubStrategy = new WireMockRequestStubStrategy(groovyDsl)

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