Code review changes

This commit is contained in:
Denis Stepanov
2015-06-10 10:53:11 +02:00
parent c0580dfe7a
commit 86efa5f242
3 changed files with 35 additions and 33 deletions

View File

@@ -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)
}

View File

@@ -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"')
}
}

View File

@@ -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"() {