Added more methods with separate implementation for JUnit and Spock.

This commit is contained in:
Olga Maciaszek-Sharma
2016-02-18 17:06:01 +01:00
parent 661c0dcbd7
commit cdb7a088c5
3 changed files with 32 additions and 2 deletions

View File

@@ -62,4 +62,19 @@ abstract class JUnitMethodBodyBuilder extends MethodBodyBuilder {
protected String convertUnicodeEscapesIfRequired(String json) {
return json // TODO: verify if that's fine or escapeJava required
}
@Override
protected void processBodyElement(BlockBuilder blockBuilder, String property, Map.Entry entry) {
processBodyElement(blockBuilder, property + """.get(\\\"$entry.key\\\")""", entry.value)
}
@Override
protected String getParsedXmlResponseBodyString(String responseString) {
return "Object responseBody = new XmlSlurper().parseText($responseString);"
}
@Override
protected String getSimpleResponseBodyString(String responseString) {
return "Object responseBody = ($responseString);"
}
}

View File

@@ -61,6 +61,10 @@ abstract class MethodBodyBuilder {
protected abstract String convertUnicodeEscapesIfRequired(String json)
protected abstract String getParsedXmlResponseBodyString(String responseString)
protected abstract String getSimpleResponseBodyString(String responseString)
void appendTo(BlockBuilder blockBuilder) {
blockBuilder.startBlock()
@@ -118,10 +122,10 @@ abstract class MethodBodyBuilder {
}
processBodyElement(bb, "", responseBody)
} else if (contentType == ContentType.XML) {
bb.addLine("def responseBody = new XmlSlurper().parseText($responseAsString)")
bb.addLine(getParsedXmlResponseBodyString(responseAsString))
// TODO xml validation
} else {
bb.addLine("def responseBody = ($responseAsString)")
bb.addLine(getSimpleResponseBodyString(responseAsString))
processText(bb, "", responseBody as String)
}
}

View File

@@ -67,7 +67,18 @@ abstract class SpockMethodBodyBuilder extends MethodBodyBuilder {
"$property[$listIndex]" ?: ''
}
@Override
protected String convertUnicodeEscapesIfRequired(String json) {
return StringEscapeUtils.unescapeJavaScript(json)
}
@Override
protected String getParsedXmlResponseBodyString(String responseString) {
return "def responseBody = new XmlSlurper().parseText($responseAsString)"
}
@Override
protected String getSimpleResponseBodyString(String responseString) {
return "def responseBody = ($responseAsString)"
}
}