Refactor mock events

This commit is contained in:
Dominik Adam Przybysz 2014-12-14 21:30:38 +01:00
parent 73b3630e2f
commit 0c36369356
2 changed files with 31 additions and 26 deletions

View file

@ -681,34 +681,34 @@ class MockServerIntegrationTest extends Specification {
GPathResult restPostResponse3 = Util.extractXmlResponse(response3) GPathResult restPostResponse3 = Util.extractXmlResponse(response3)
restPostResponse3.name() == 'goodResponseRest' restPostResponse3.name() == 'goodResponseRest'
when: when:
List<MockEvent> mockHistories1 = controlServerClient.removeMock('testRest') List<MockEvent> mockEvents1 = controlServerClient.removeMock('testRest')
then: then:
mockHistories1.size() == 2 mockEvents1.size() == 2
mockHistories1[0].request.text == '<request/>' mockEvents1[0].request.text == '<request/>'
!mockHistories1[0].request.headers?.keySet()?.empty !mockEvents1[0].request.headers?.keySet()?.empty
mockHistories1[0].request.query == [:] mockEvents1[0].request.query == [:]
mockHistories1[0].request.path == ['testEndpoint'] mockEvents1[0].request.path == ['testEndpoint']
!mockHistories1[0].response.headers?.keySet()?.empty !mockEvents1[0].response.headers?.keySet()?.empty
mockHistories1[0].response.text == '<goodResponseRest-request/>' mockEvents1[0].response.text == '<goodResponseRest-request/>'
mockHistories1[0].response.statusCode == 201 mockEvents1[0].response.statusCode == 201
mockHistories1[1].request.text == '<request15/>' mockEvents1[1].request.text == '<request15/>'
!mockHistories1[1].request.headers?.keySet()?.empty !mockEvents1[1].request.headers?.keySet()?.empty
mockHistories1[1].request.query == [:] mockEvents1[1].request.query == [:]
mockHistories1[1].request.path == ['testEndpoint', 'hello'] mockEvents1[1].request.path == ['testEndpoint', 'hello']
!mockHistories1[1].response.headers?.keySet()?.empty !mockEvents1[1].response.headers?.keySet()?.empty
mockHistories1[1].response.text == '<goodResponseRest-request15/>' mockEvents1[1].response.text == '<goodResponseRest-request15/>'
mockHistories1[1].response.statusCode == 201 mockEvents1[1].response.statusCode == 201
when: when:
List<MockEvent> mockHistories2 = controlServerClient.removeMock('testRest2') List<MockEvent> mockEvents2 = controlServerClient.removeMock('testRest2')
then: then:
mockHistories2.size() == 1 mockEvents2.size() == 1
mockHistories2[0].request.text == '<reqXYZ/>' mockEvents2[0].request.text == '<reqXYZ/>'
!mockHistories2[0].request.headers?.keySet()?.empty !mockEvents2[0].request.headers?.keySet()?.empty
mockHistories2[0].request.query == [id: '123'] mockEvents2[0].request.query == [id: '123']
mockHistories2[0].request.path == ['testEndpoint'] mockEvents2[0].request.path == ['testEndpoint']
mockHistories2[0].response.headers.aaa == '15' mockEvents2[0].response.headers.aaa == '15'
mockHistories2[0].response.text == '<goodResponseRest/>' mockEvents2[0].response.text == '<goodResponseRest/>'
mockHistories2[0].response.statusCode == 202 mockEvents2[0].response.statusCode == 202
} }
} }

View file

@ -106,6 +106,10 @@ class HttpMockServer {
log.info("Removing mock $name") log.info("Removing mock $name")
List<MockEvent> mockEvents = childServers.collect { it.removeMock(name) }.flatten() List<MockEvent> mockEvents = childServers.collect { it.removeMock(name) }.flatten()
mockNames.remove(name) mockNames.remove(name)
createResponse(ex, createMockRemovedResponse(mockEvents), 200)
}
private static String createMockRemovedResponse(List<MockEvent> mockEvents) {
StringWriter sw = new StringWriter() StringWriter sw = new StringWriter()
MarkupBuilder builder = new MarkupBuilder(sw) MarkupBuilder builder = new MarkupBuilder(sw)
builder.mockRemoved { builder.mockRemoved {
@ -141,7 +145,8 @@ class HttpMockServer {
} }
} }
} }
createResponse(ex, sw.toString(), 200) String string = sw.toString()
return string
} }
private static void createErrorResponse(HttpExchange ex, Exception e) { private static void createErrorResponse(HttpExchange ex, Exception e) {