Headers refactoring

This commit is contained in:
Jakub Kubrynski
2015-02-24 11:46:26 +01:00
parent e386fbbcc4
commit 736ae1b790
3 changed files with 17 additions and 9 deletions

View File

@@ -2,6 +2,8 @@ package io.coderate.accurest.builder
import groovy.json.JsonOutput
import groovy.transform.PackageScope
import io.coderate.accurest.dsl.GroovyDsl
import io.coderate.accurest.dsl.internal.Header
/**
* @author Jakub Kubrynski
*/
@@ -18,8 +20,8 @@ class SpockMethodBodyBuilder {
blockBuilder.addLine('given:').startBlock()
blockBuilder.addLine('def request = given()')
blockBuilder.indent()
stubDefinition.request.headers.headers.collectEntries { [(it.name): it.serverValue] }.each { Map.Entry entry ->
blockBuilder.addLine(".header('${entry.key}', '${entry.value}')")
stubDefinition.request.headers?.collect { Header header ->
blockBuilder.addLine(".header('${header.name}', '${header.serverValue}')")
}
if (stubDefinition.request.body) {
String matches = new JsonOutput().toJson(stubDefinition.request.body.serverValue)
@@ -37,8 +39,8 @@ class SpockMethodBodyBuilder {
blockBuilder.addLine('then:').startBlock()
blockBuilder.addLine("response.statusCode == $stubDefinition.response.status.serverValue")
stubDefinition.response.headers?.headers?.collectEntries { [(it.name): it.serverValue] }?.each { Map.Entry entry ->
blockBuilder.addLine("response.header('$entry.key') == '$entry.value'")
stubDefinition.response.headers?.collect { Header header ->
blockBuilder.addLine("response.header('$header.name') == '$header.serverValue'")
}
if (stubDefinition.response.body) {
blockBuilder.endBlock()

View File

@@ -12,7 +12,7 @@ abstract class BaseWiremockStubStrategy {
if (!headers) {
return null
}
return headers.headers.collectEntries { Header entry ->
return headers.entries.collectEntries { Header entry ->
parseHeader(entry.name, entry.clientValue)
}
}
@@ -21,7 +21,7 @@ abstract class BaseWiremockStubStrategy {
if (!headers) {
return null
}
return headers.headers.collectEntries { Header entry ->
return headers.entries.collectEntries { Header entry ->
[(entry.name) : entry.clientValue]
}
}

View File

@@ -9,15 +9,21 @@ import groovy.transform.TypeChecked
@TypeChecked
class Headers {
Set<Header> headers = []
Set<Header> entries = []
void header(Map<String, Object> singleHeader) {
Map.Entry<String, Object> first = singleHeader.entrySet().first()
headers << new Header(first?.key, first?.value)
entries << new Header(first?.key, first?.value)
}
void header(String headerKey, Object headerValue) {
headers << new Header(headerKey, headerValue)
entries << new Header(headerKey, headerValue)
}
void collect(Closure closure) {
entries?.each {
header -> closure(header)
}
}
}