diff --git a/accurest-core/src/main/groovy/io/codearte/accurest/util/ValidateUtils.groovy b/accurest-core/src/main/groovy/io/codearte/accurest/util/ValidateUtils.groovy index 9c07eaa3e4..eac7bce25c 100644 --- a/accurest-core/src/main/groovy/io/codearte/accurest/util/ValidateUtils.groovy +++ b/accurest-core/src/main/groovy/io/codearte/accurest/util/ValidateUtils.groovy @@ -1,10 +1,12 @@ package io.codearte.accurest.util +import groovy.transform.TypeChecked import io.codearte.accurest.dsl.internal.DslProperty import io.codearte.accurest.dsl.internal.MatchingStrategy import java.util.regex.Pattern +@TypeChecked class ValidateUtils { static Object validateServerValueIsAvailable(Object value) { @@ -18,12 +20,12 @@ class ValidateUtils { } static void validateServerValue(Pattern pattern, String msg) { - throw new IllegalStateException("$msg can't be a pattern") + throw new IllegalStateException("$msg can't be a pattern for the server side") } static void validateServerValue(MatchingStrategy matchingStrategy, String msg) { if (matchingStrategy.type != MatchingStrategy.Type.EQUAL_TO) { - throw new IllegalStateException("$msg can't be of matching type: $matchingStrategy.type") + throw new IllegalStateException("$msg can't be of a matching type: $matchingStrategy.type for the server side") } validateServerValue(matchingStrategy.serverValue, msg) } diff --git a/accurest-core/src/test/groovy/io/codearte/accurest/builder/SpockMethodBuilderSpec.groovy b/accurest-core/src/test/groovy/io/codearte/accurest/builder/SpockMethodBuilderSpec.groovy index ce1d00fa71..0aff49357f 100644 --- a/accurest-core/src/test/groovy/io/codearte/accurest/builder/SpockMethodBuilderSpec.groovy +++ b/accurest-core/src/test/groovy/io/codearte/accurest/builder/SpockMethodBuilderSpec.groovy @@ -171,40 +171,40 @@ class SpockMethodBuilderSpec extends Specification { def "should generate a call with an url path and query parameters"() { given: - GroovyDsl contractDsl = GroovyDsl.make { - request { - method 'GET' - urlPath('/users') { - queryParameters { - parameter 'limit': $(client(equalTo("20")), server(equalTo("10"))) - parameter 'offset': $(client(containing("20")), server(equalTo("20"))) - parameter 'filter': "email" - parameter 'sort': equalTo("name") - parameter 'search': $(client(notMatching(~/^\/[0-9]{2}$/)), server("55")) - parameter 'age': $(client(notMatching("^\\w*\$")), server("99")) - parameter 'name': $(client(matching("Denis.*")), server("Denis.Stepanov")) + GroovyDsl contractDsl = GroovyDsl.make { + request { + method 'GET' + urlPath('/users') { + queryParameters { + parameter 'limit': $(client(equalTo("20")), server(equalTo("10"))) + parameter 'offset': $(client(containing("20")), server(equalTo("20"))) + parameter 'filter': "email" + parameter 'sort': equalTo("name") + parameter 'search': $(client(notMatching(~/^\/[0-9]{2}$/)), server("55")) + parameter 'age': $(client(notMatching("^\\w*\$")), server("99")) + parameter 'name': $(client(matching("Denis.*")), server("Denis.Stepanov")) + } } } - } - response { - status 200 - body """ - { - "property1": "a", - "property2": "b" + response { + status 200 + body """ + { + "property1": "a", + "property2": "b" + } + """ } - """ } - } - SpockMethodBodyBuilder builder = new SpockMethodBodyBuilder(contractDsl) - BlockBuilder blockBuilder = new BlockBuilder(" ") + SpockMethodBodyBuilder builder = new SpockMethodBodyBuilder(contractDsl) + BlockBuilder blockBuilder = new BlockBuilder(" ") when: - builder.appendTo(blockBuilder) - def spockTest = blockBuilder.toString() + builder.appendTo(blockBuilder) + def spockTest = blockBuilder.toString() then: - spockTest.contains('get("/users?limit=10&offset=20&filter=email&sort=name&search=55&age=99&name=Denis.Stepanov")') - spockTest.contains('responseBody.property1 == "a"') - spockTest.contains('responseBody.property2 == "b"') + spockTest.contains('get("/users?limit=10&offset=20&filter=email&sort=name&search=55&age=99&name=Denis.Stepanov")') + spockTest.contains('responseBody.property1 == "a"') + spockTest.contains('responseBody.property2 == "b"') } } diff --git a/accurest-core/src/test/groovy/io/codearte/accurest/dsl/WiremockGroovyDslSpec.groovy b/accurest-core/src/test/groovy/io/codearte/accurest/dsl/WiremockGroovyDslSpec.groovy index e5e33d9e04..7d8e5f1d49 100755 --- a/accurest-core/src/test/groovy/io/codearte/accurest/dsl/WiremockGroovyDslSpec.groovy +++ b/accurest-core/src/test/groovy/io/codearte/accurest/dsl/WiremockGroovyDslSpec.groovy @@ -453,7 +453,7 @@ class WiremockGroovyDslSpec extends WiremockSpec { } then: def e = thrown(IllegalStateException) - e.message.contains "Url can't be a pattern" + e.message.contains "Url can't be a pattern for the server side" } def "should not allow regexp in query parameter for server value"() { @@ -473,7 +473,7 @@ class WiremockGroovyDslSpec extends WiremockSpec { } then: def e = thrown(IllegalStateException) - e.message.contains "Query parameter 'age' can't be a pattern" + e.message.contains "Query parameter 'age' can't be a pattern for the server side" } def "should not allow query parameter unresolvable for a server value"() { @@ -494,7 +494,7 @@ class WiremockGroovyDslSpec extends WiremockSpec { } then: def e = thrown(IllegalStateException) - e.message.contains "Query parameter 'age' can't be of matching type: NOT_MATCHING" + e.message.contains "Query parameter 'age' can't be of a matching type: NOT_MATCHING for the server side" } def "should generate request with url and queryParameters for client side"() {