Author: fschumacher Date: Mon Feb 12 16:02:18 2018 New Revision: 1823994 URL: http://svn.apache.org/viewvc?rev=1823994&view=rev Log: Extract lengthy if statement in private method.
Part of #356 on Github. Contributed by Graham Russell (graham at ham1.co.uk) Modified: jmeter/trunk/src/components/org/apache/jmeter/assertions/ResponseAssertion.java Modified: jmeter/trunk/src/components/org/apache/jmeter/assertions/ResponseAssertion.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/assertions/ResponseAssertion.java?rev=1823994&r1=1823993&r2=1823994&view=diff ============================================================================== --- jmeter/trunk/src/components/org/apache/jmeter/assertions/ResponseAssertion.java (original) +++ jmeter/trunk/src/components/org/apache/jmeter/assertions/ResponseAssertion.java Mon Feb 12 16:02:18 2018 @@ -294,31 +294,7 @@ public class ResponseAssertion extends A response.setSuccessful(true);// Allow testing of failure codes } - String toCheck; // The string to check (Url or data) - // What are we testing against? - if (isScopeVariable()){ - toCheck = getThreadContext().getVariables().get(getVariableName()); - } else if (isTestFieldResponseData()) { - toCheck = response.getResponseDataAsString(); // (bug25052) - } else if (isTestFieldResponseDataAsDocument()) { - toCheck = Document.getTextFromDocument(response.getResponseData()); - } else if (isTestFieldResponseCode()) { - toCheck = response.getResponseCode(); - } else if (isTestFieldResponseMessage()) { - toCheck = response.getResponseMessage(); - } else if (isTestFieldRequestHeaders()) { - toCheck = response.getRequestHeaders(); - } else if (isTestFieldRequestData()) { - toCheck = response.getSamplerData(); - } else if (isTestFieldResponseHeaders()) { - toCheck = response.getResponseHeaders(); - } else { // Assume it is the URL - toCheck = ""; - final URL url = response.getURL(); - if (url != null){ - toCheck = url.toString(); - } - } + String toCheck = getStringToCheck(response); result.setFailure(false); result.setError(false); @@ -407,6 +383,35 @@ public class ResponseAssertion extends A return result; } + private String getStringToCheck(SampleResult response) { + String toCheck; // The string to check (Url or data) + // What are we testing against? + if (isScopeVariable()){ + toCheck = getThreadContext().getVariables().get(getVariableName()); + } else if (isTestFieldResponseData()) { + toCheck = response.getResponseDataAsString(); // (bug25052) + } else if (isTestFieldResponseDataAsDocument()) { + toCheck = Document.getTextFromDocument(response.getResponseData()); + } else if (isTestFieldResponseCode()) { + toCheck = response.getResponseCode(); + } else if (isTestFieldResponseMessage()) { + toCheck = response.getResponseMessage(); + } else if (isTestFieldRequestHeaders()) { + toCheck = response.getRequestHeaders(); + } else if (isTestFieldRequestData()) { + toCheck = response.getSamplerData(); + } else if (isTestFieldResponseHeaders()) { + toCheck = response.getResponseHeaders(); + } else { // Assume it is the URL + toCheck = ""; + final URL url = response.getURL(); + if (url != null){ + toCheck = url.toString(); + } + } + return toCheck; + } + /** * Generate the failure reason from the TestType *