From 64a9cc62eff73869970646b47f565c0822d79a75 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Mon, 30 May 2022 18:43:52 +0200 Subject: [PATCH 1/3] Changed Java version --- .github/workflows/maven.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 47197871b0..3d1b99b9ec 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -20,7 +20,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: 1.8 + java-version: 8 - name: Cache local Maven repository uses: actions/cache@v3 with: From 6ef570ba5b2579cc0b2e8d1ace42d98c658a7eb5 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Tue, 31 May 2022 08:56:56 +0200 Subject: [PATCH 2/3] Fixed the broken samples --- samples/standalone/contracts/com/example/server/pom.xml | 2 +- samples/standalone/dsl/http-server/pom.xml | 2 +- samples/standalone/dsl/pom.xml | 4 ++-- samples/standalone/restdocs/http-client/pom.xml | 2 +- samples/standalone/restdocs/http-server/pom.xml | 2 +- samples/standalone/restdocs/pom.xml | 4 ++-- samples/standalone/webclient/http-client/pom.xml | 2 +- samples/standalone/webclient/http-server/pom.xml | 2 +- samples/standalone/webclient/pom.xml | 4 ++-- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/samples/standalone/contracts/com/example/server/pom.xml b/samples/standalone/contracts/com/example/server/pom.xml index a33e065912..9b9b9ddfbd 100644 --- a/samples/standalone/contracts/com/example/server/pom.xml +++ b/samples/standalone/contracts/com/example/server/pom.xml @@ -21,7 +21,7 @@ UTF-8 1.8 - 3.1.4-SNAPSHOT-SNAPSHOT + 3.1.4-SNAPSHOT 2021.0.3-SNAPSHOT true diff --git a/samples/standalone/dsl/http-server/pom.xml b/samples/standalone/dsl/http-server/pom.xml index f7db54a4e3..4b99af33ed 100644 --- a/samples/standalone/dsl/http-server/pom.xml +++ b/samples/standalone/dsl/http-server/pom.xml @@ -21,7 +21,7 @@ UTF-8 1.8 - 3.1.4-SNAPSHOT-SNAPSHOT + 3.1.4-SNAPSHOT 2021.0.3-SNAPSHOT diff --git a/samples/standalone/dsl/pom.xml b/samples/standalone/dsl/pom.xml index b8ef8719b4..70a157735e 100644 --- a/samples/standalone/dsl/pom.xml +++ b/samples/standalone/dsl/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-contract-samples-standalone - 3.1.4-SNAPSHOT-SNAPSHOT + 3.1.4-SNAPSHOT .. @@ -19,7 +19,7 @@ - 3.1.4-SNAPSHOT-SNAPSHOT + 3.1.4-SNAPSHOT diff --git a/samples/standalone/restdocs/http-client/pom.xml b/samples/standalone/restdocs/http-client/pom.xml index d252592d0c..47078bc667 100644 --- a/samples/standalone/restdocs/http-client/pom.xml +++ b/samples/standalone/restdocs/http-client/pom.xml @@ -38,7 +38,7 @@ UTF-8 1.8 - 3.1.4-SNAPSHOT-SNAPSHOT + 3.1.4-SNAPSHOT diff --git a/samples/standalone/restdocs/http-server/pom.xml b/samples/standalone/restdocs/http-server/pom.xml index e6808c028c..bb0b470dec 100644 --- a/samples/standalone/restdocs/http-server/pom.xml +++ b/samples/standalone/restdocs/http-server/pom.xml @@ -21,7 +21,7 @@ UTF-8 1.8 - 3.1.4-SNAPSHOT-SNAPSHOT + 3.1.4-SNAPSHOT true diff --git a/samples/standalone/restdocs/pom.xml b/samples/standalone/restdocs/pom.xml index 91624a9e1f..87e7d6d4da 100644 --- a/samples/standalone/restdocs/pom.xml +++ b/samples/standalone/restdocs/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-contract-samples-standalone - 3.1.4-SNAPSHOT-SNAPSHOT + 3.1.4-SNAPSHOT .. @@ -19,7 +19,7 @@ - 3.1.4-SNAPSHOT-SNAPSHOT + 3.1.4-SNAPSHOT diff --git a/samples/standalone/webclient/http-client/pom.xml b/samples/standalone/webclient/http-client/pom.xml index bf2066812c..607e7689d2 100644 --- a/samples/standalone/webclient/http-client/pom.xml +++ b/samples/standalone/webclient/http-client/pom.xml @@ -21,7 +21,7 @@ UTF-8 1.8 - 3.1.4-SNAPSHOT-SNAPSHOT + 3.1.4-SNAPSHOT diff --git a/samples/standalone/webclient/http-server/pom.xml b/samples/standalone/webclient/http-server/pom.xml index 2181410877..b3c2eb666a 100644 --- a/samples/standalone/webclient/http-server/pom.xml +++ b/samples/standalone/webclient/http-server/pom.xml @@ -21,7 +21,7 @@ UTF-8 1.8 - 3.1.4-SNAPSHOT-SNAPSHOT + 3.1.4-SNAPSHOT diff --git a/samples/standalone/webclient/pom.xml b/samples/standalone/webclient/pom.xml index 68edbb481e..60757efb2c 100644 --- a/samples/standalone/webclient/pom.xml +++ b/samples/standalone/webclient/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-contract-samples-standalone - 3.1.4-SNAPSHOT-SNAPSHOT + 3.1.4-SNAPSHOT .. @@ -19,7 +19,7 @@ - 3.1.4-SNAPSHOT-SNAPSHOT + 3.1.4-SNAPSHOT From 95153a0299a59ee2928b4b317e8c8be9d7ff09b9 Mon Sep 17 00:00:00 2001 From: arseniqueee Date: Fri, 10 Jun 2022 23:44:52 +0300 Subject: [PATCH 3/3] Add priority property to converted contract in yaml (#1797) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add priority property to converted contract in yaml * Add test for convert priority property in yaml format Co-authored-by: Фейтуллаев Арсений Валерьевич --- .../verifier/converter/ContractsToYaml.java | 1 + .../DslToYamlContractConverterSpec.groovy | 73 +++++++++++++++++++ 2 files changed, 74 insertions(+) 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 + } }