diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 84acd665a1..745a352d09 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -19,8 +19,13 @@ jobs:
- name: Set up JDK
uses: actions/setup-java@v3
with:
+<<<<<<< HEAD
distribution: 'temurin'
java-version: 17
+=======
+ distribution: 'temurin' # See 'Supported distributions' for available options
+ java-version: 8
+>>>>>>> 3.1.x
- name: Cache local Maven repository
uses: actions/cache@v3
with:
diff --git a/samples/standalone/contracts/com/example/server/pom.xml b/samples/standalone/contracts/com/example/server/pom.xml
index e8cbde9626..cb808074b9 100644
--- a/samples/standalone/contracts/com/example/server/pom.xml
+++ b/samples/standalone/contracts/com/example/server/pom.xml
@@ -20,9 +20,15 @@
UTF-8
+<<<<<<< HEAD
17
4.0.0-SNAPSHOT
2022.0.0-SNAPSHOT
+=======
+ 1.8
+ 3.1.4-SNAPSHOT
+ 2021.0.3-SNAPSHOT
+>>>>>>> 3.1.x
true
diff --git a/samples/standalone/dsl/http-server/pom.xml b/samples/standalone/dsl/http-server/pom.xml
index aeeb2ae68d..0e6479ad4d 100644
--- a/samples/standalone/dsl/http-server/pom.xml
+++ b/samples/standalone/dsl/http-server/pom.xml
@@ -20,8 +20,14 @@
UTF-8
+<<<<<<< HEAD
17
4.0.0-SNAPSHOT
+=======
+ 1.8
+ 3.1.4-SNAPSHOT
+ 2021.0.3-SNAPSHOT
+>>>>>>> 3.1.x
diff --git a/samples/standalone/dsl/pom.xml b/samples/standalone/dsl/pom.xml
index 0129e6665b..0de1a5ae86 100644
--- a/samples/standalone/dsl/pom.xml
+++ b/samples/standalone/dsl/pom.xml
@@ -7,7 +7,11 @@
org.springframework.cloud
spring-cloud-contract-samples-standalone
+<<<<<<< HEAD
4.0.0-SNAPSHOT
+=======
+ 3.1.4-SNAPSHOT
+>>>>>>> 3.1.x
..
@@ -19,7 +23,11 @@
+<<<<<<< HEAD
4.0.0-SNAPSHOT
+=======
+ 3.1.4-SNAPSHOT
+>>>>>>> 3.1.x
diff --git a/samples/standalone/restdocs/http-client/pom.xml b/samples/standalone/restdocs/http-client/pom.xml
index 1765a460f2..65ec77a761 100644
--- a/samples/standalone/restdocs/http-client/pom.xml
+++ b/samples/standalone/restdocs/http-client/pom.xml
@@ -37,9 +37,14 @@
UTF-8
+<<<<<<< HEAD
17
4.0.0-SNAPSHOT
5.0.2-SNAPSHOT
+=======
+ 1.8
+ 3.1.4-SNAPSHOT
+>>>>>>> 3.1.x
diff --git a/samples/standalone/restdocs/http-server/pom.xml b/samples/standalone/restdocs/http-server/pom.xml
index de3f2d308a..14cc52d712 100644
--- a/samples/standalone/restdocs/http-server/pom.xml
+++ b/samples/standalone/restdocs/http-server/pom.xml
@@ -20,8 +20,13 @@
UTF-8
+<<<<<<< HEAD
17
4.0.0-SNAPSHOT
+=======
+ 1.8
+ 3.1.4-SNAPSHOT
+>>>>>>> 3.1.x
true
5.0.2-SNAPSHOT
diff --git a/samples/standalone/restdocs/pom.xml b/samples/standalone/restdocs/pom.xml
index 254279206d..f75bdfa12f 100644
--- a/samples/standalone/restdocs/pom.xml
+++ b/samples/standalone/restdocs/pom.xml
@@ -7,7 +7,11 @@
org.springframework.cloud
spring-cloud-contract-samples-standalone
+<<<<<<< HEAD
4.0.0-SNAPSHOT
+=======
+ 3.1.4-SNAPSHOT
+>>>>>>> 3.1.x
..
@@ -19,8 +23,12 @@
+<<<<<<< HEAD
4.0.0-SNAPSHOT
true
+=======
+ 3.1.4-SNAPSHOT
+>>>>>>> 3.1.x
diff --git a/samples/standalone/webclient/http-client/pom.xml b/samples/standalone/webclient/http-client/pom.xml
index 16b5dfc905..de40d7aaeb 100644
--- a/samples/standalone/webclient/http-client/pom.xml
+++ b/samples/standalone/webclient/http-client/pom.xml
@@ -20,8 +20,13 @@
UTF-8
+<<<<<<< HEAD
17
4.0.0-SNAPSHOT
+=======
+ 1.8
+ 3.1.4-SNAPSHOT
+>>>>>>> 3.1.x
diff --git a/samples/standalone/webclient/http-server/pom.xml b/samples/standalone/webclient/http-server/pom.xml
index 2fb9954121..0a0e86567b 100644
--- a/samples/standalone/webclient/http-server/pom.xml
+++ b/samples/standalone/webclient/http-server/pom.xml
@@ -20,8 +20,13 @@
UTF-8
+<<<<<<< HEAD
17
4.0.0-SNAPSHOT
+=======
+ 1.8
+ 3.1.4-SNAPSHOT
+>>>>>>> 3.1.x
diff --git a/samples/standalone/webclient/pom.xml b/samples/standalone/webclient/pom.xml
index d0270f3966..777e15916e 100644
--- a/samples/standalone/webclient/pom.xml
+++ b/samples/standalone/webclient/pom.xml
@@ -7,7 +7,11 @@
org.springframework.cloud
spring-cloud-contract-samples-standalone
+<<<<<<< HEAD
4.0.0-SNAPSHOT
+=======
+ 3.1.4-SNAPSHOT
+>>>>>>> 3.1.x
..
@@ -19,7 +23,11 @@
+<<<<<<< HEAD
4.0.0-SNAPSHOT
+=======
+ 3.1.4-SNAPSHOT
+>>>>>>> 3.1.x
diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/converter/ContractsToYaml.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/converter/ContractsToYaml.java
index f1419f41b2..e61530ee4d 100644
--- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/converter/ContractsToYaml.java
+++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/converter/ContractsToYaml.java
@@ -101,6 +101,7 @@ class ContractsToYaml {
yamlContract.description = contract.getDescription();
yamlContract.label = contract.getLabel();
yamlContract.metadata = contract.getMetadata();
+ yamlContract.priority = contract.getPriority();
request(contract, yamlContract);
response(yamlContract, contract);
input(contract, yamlContract);
diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/converter/DslToYamlContractConverterSpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/converter/DslToYamlContractConverterSpec.groovy
index ef96240c38..58f3fe091f 100644
--- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/converter/DslToYamlContractConverterSpec.groovy
+++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/converter/DslToYamlContractConverterSpec.groovy
@@ -595,4 +595,77 @@ class DslToYamlContractConverterSpec extends Specification {
type: YamlContract.TestMatcherType.by_null)
]
}
+
+ def "should convert rest DSL to YAML with save priority property"() {
+ given:
+ List contracts = [Contract.make {
+ priority (1)
+ name "Account creating without sign"
+ request {
+ method POST()
+ urlPath("/account")
+ headers {
+ contentType(applicationJson())
+ header("userId", anyNonBlankString())
+ header("sign", "")
+ }
+ body(
+ "number": anyNonBlankString(),
+ "currency": "USD",
+ "owner": "owner"
+ )
+ }
+ response {
+ status CREATED()
+ headers {
+ contentType(applicationJson())
+ }
+ body(
+ "id": anyNonBlankString(),
+ "number": "number",
+ "currency": "USD",
+ "owner": "owner",
+ "balance": 0
+ )
+ }
+ }]
+ when:
+ Collection yamlContracts = converter.convertTo(contracts)
+ then:
+ yamlContracts.size() == 1
+ YamlContract yamlContract = yamlContracts.first()
+ yamlContract.request.method == 'POST'
+ yamlContract.request.urlPath == '/account'
+ yamlContract.request.matchers.headers == [
+ new YamlContract.KeyValueMatcher(
+ key: "Content-Type", regex: "application/json.*", regexType: YamlContract.RegexType.as_string),
+ new YamlContract.KeyValueMatcher(
+ key: "userId", regex: "^\\s*\\S[\\S\\s]*", regexType: YamlContract.RegexType.as_string)
+ ]
+ yamlContract.request.matchers.body == [
+ new YamlContract.BodyStubMatcher(
+ path: "\$.['number']",
+ type: "by_regex",
+ value: "^\\s*\\S[\\S\\s]*",
+ regexType: 'as_string'
+ )
+ ]
+ yamlContract.response.status == 201
+ yamlContract.response.headers == [
+ "Content-Type": "application/json"
+ ]
+ yamlContract.response.matchers.headers == [
+ new YamlContract.TestHeaderMatcher(
+ key: "Content-Type", regex: "application/json.*", regexType: YamlContract.RegexType.as_string)
+ ]
+ yamlContract.response.matchers.body == [
+ new YamlContract.BodyTestMatcher(
+ path: "\$.['id']",
+ type: "by_regex",
+ value: "^\\s*\\S[\\S\\s]*",
+ regexType: "as_string"
+ )
+ ]
+ yamlContract.priority == 1
+ }
}