Add optional getting of mock report when deleting mock

Change-Id: I954e484387d3660fdfebad57fc419697b1a0fedd
This commit is contained in:
Dominik Adam Przybysz 2015-08-20 20:48:13 +02:00
parent dbdefeb614
commit 5460cd4e91
4 changed files with 45 additions and 25 deletions

View file

@ -31,9 +31,9 @@ class RemoteMockServer {
}
}
List<MockEvent> removeMock(String name) {
List<MockEvent> removeMock(String name, boolean skipReport = false) {
HttpPost removeMockPost = new HttpPost(address)
removeMockPost.entity = buildRemoveMockRequest(new RemoveMockRequestData(name: name))
removeMockPost.entity = buildRemoveMockRequest(new RemoveMockRequestData(name: name, skipReport: skipReport))
CloseableHttpResponse response = client.execute(removeMockPost)
GPathResult responseXml = Util.extractXmlResponse(response)
if (responseXml.name() == 'mockRemoved') {
@ -58,14 +58,16 @@ class RemoteMockServer {
}
private static MockResponse mockResponseFromXml(GPathResult xml) {
return new MockResponse(xml.statusCode.text() as int, xml.text.text(), xml.headers.param.collectEntries { [(it.@name.text()):it.text()] })
return new MockResponse(xml.statusCode.text() as int, xml.text.text(), xml.headers.param.collectEntries {
[(it.@name.text()): it.text()]
})
}
private static MockRequest mockRequestFromXml(GPathResult xml) {
return new MockRequest(
xml.text.text(),
xml.headers.param.collectEntries { [(it.@name.text()):it.text()] },
xml.query.param.collectEntries { [(it.@name.text()):it.text()] },
xml.headers.param.collectEntries { [(it.@name.text()): it.text()] },
xml.query.param.collectEntries { [(it.@name.text()): it.text()] },
xml.path.elem*.text()
)
}
@ -74,6 +76,7 @@ class RemoteMockServer {
return new StringEntity("""\
<removeMock>
<name>${data.name}</name>
<skipReport>${data.skipReport}</skipReport>
</removeMock>
""", ContentType.create("text/xml", "UTF-8"))
}
@ -107,7 +110,9 @@ class RemoteMockServer {
CloseableHttpResponse response = client.execute(get)
GPathResult xml = Util.extractXmlResponse(response)
if (xml.name() == 'mocks') {
return xml.mock.collect { new RegisteredMock(it.name.text(), it.path.text(), it.port.text() as int, it.predicate.text(), it.response.text(), it.responseHeaders.text()) }
return xml.mock.collect {
new RegisteredMock(it.name.text(), it.path.text(), it.port.text() as int, it.predicate.text(), it.response.text(), it.responseHeaders.text())
}
}
return []
}

View file

@ -7,4 +7,5 @@ import groovy.transform.TypeChecked
@TypeChecked
class RemoveMockRequestData {
String name
boolean skipReport = false
}