Add request headers validation

This commit is contained in:
Dominik Adam Przybysz 2014-12-12 19:16:09 +01:00
parent 9670cd6d7e
commit c97ce11837
6 changed files with 48 additions and 5 deletions

View file

@ -28,7 +28,10 @@ class ContextExecutor {
continue
}
}
if (ex.requestMethod == mock.method && mock.predicate(xml)) {
Map<String,String> headers = ex.requestHeaders.collectEntries { [it.key.toLowerCase(), it.value.join(',')] }
if (ex.requestMethod == mock.method &&
mock.predicate(xml) &&
mock.requestHeaders(headers)) {
println "Mock ${mock.name} invoked"
++mock.counter
String response = mock.responseOk(xml)

View file

@ -65,6 +65,10 @@ class HttpMockServer {
if(responseHeaders){
mock.responseHeaders = Eval.me(responseHeaders) as Closure
}
String requestHeaders = request.requestHeaders
if(requestHeaders){
mock.requestHeaders = Eval.me(requestHeaders) as Closure
}
HttpServerWraper child = childServers.find { it.port == mockPort }
if (!child) {
child = new HttpServerWraper(mockPort)

View file

@ -12,7 +12,7 @@ class Mock {
boolean soap = false
int statusCode = 200
String method = 'POST'
//TODO add request headers - default [:]
Closure requestHeaders = {hs -> true}
Closure responseHeaders = {xml -> [:]}
int counter = 0
//TODO add historical invocations