Merge branch 'master' of github.com:Codearte/accurest

This commit is contained in:
Marcin Grzejszczak
2015-05-11 19:08:48 +02:00
3 changed files with 33 additions and 1 deletions

View File

@@ -5,6 +5,8 @@ import groovy.transform.PackageScope
import io.codearte.accurest.dsl.GroovyDsl
import io.codearte.accurest.dsl.internal.Header
import java.util.regex.Pattern
/**
* @author Jakub Kubrynski
*/
@@ -73,6 +75,8 @@ class SpockMethodBodyBuilder {
processMapElement(value, blockBuilder, property)
} else if (value instanceof List) {
processArrayElements(value, property, blockBuilder)
} else if (value instanceof Pattern) {
blockBuilder.addLine("responseBody$property ==~ java.util.regex.Pattern.compile('${value}')")
} else {
blockBuilder.addLine("responseBody$property == ${value}")
}
@@ -90,4 +94,7 @@ class SpockMethodBodyBuilder {
}
}
}
private void processClosure(Closure value, BlockBuilder blockBuilder, String property) {
blockBuilder.addLine()
}
}

View File

@@ -0,0 +1,20 @@
io.codearte.accurest.dsl.GroovyDsl.make {
request {
method 'PUT'
url $(client(regex('^/api/[0-9]{2}$')), server('/api/12'))
headers {
header 'Content-Type': 'application/json'
}
body '''\
[{
"text": "Gonna see you at Warsaw"
}]
'''
}
response {
body (
path: $(client('/api/12'), server(regex('^/api/[0-9]{2}$')))
)
status 200
}
}

View File

@@ -21,10 +21,15 @@ class PairIdController {
method = PUT,
consumes = MediaType.APPLICATION_JSON_VALUE,
produces = MediaType.APPLICATION_JSON_VALUE)
void getPlacesFromTweets(@PathVariable long pairId, @RequestBody List<Tweet> tweets) {
String getPlacesFromTweets(@PathVariable long pairId, @RequestBody List<com.ofg.twitter.place.Tweet> tweets) {
log.info("Inside PairIdController, doing very important logic")
if (tweets?.text != ["Gonna see you at Warsaw"]) {
throw new IllegalArgumentException("Wrong text in tweet: ${tweets?.text}")
}
return """
{
"path" : "/api/$pairId"
}
"""
}
}