Headers refactoring
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user