Author: pmouawad
Date: Mon Oct 29 09:23:45 2018
New Revision: 1845093
URL: http://svn.apache.org/viewvc?rev=1845093&view=rev
Log:
Bug 62860 - JSON Extractor : Avoid NPE and noisy error message "Error
processing JSON content in" when variable is not found
Bugzilla Id: 62860
Modified:
jmeter/trunk/test/src/org/apache/jmeter/extractor/TestJSONPostProcessor.java
Modified:
jmeter/trunk/test/src/org/apache/jmeter/extractor/TestJSONPostProcessor.java
URL:
http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/extractor/TestJSONPostProcessor.java?rev=1845093&r1=1845092&r2=1845093&view=diff
==============================================================================
---
jmeter/trunk/test/src/org/apache/jmeter/extractor/TestJSONPostProcessor.java
(original)
+++
jmeter/trunk/test/src/org/apache/jmeter/extractor/TestJSONPostProcessor.java
Mon Oct 29 09:23:45 2018
@@ -111,6 +111,28 @@ public class TestJSONPostProcessor {
assertThat(vars.get("varname_1"),
CoreMatchers.is(CoreMatchers.nullValue()));
assertThat(vars.get("varname_2"),
CoreMatchers.is(CoreMatchers.nullValue()));
}
+
+ @Test
+ public void testCaseEmptyVarBug62860() {
+ JMeterContext context = JMeterContextService.getContext();
+ JSONPostProcessor processor = setupProcessor(context, "0", false);
+ JMeterVariables vars = new JMeterVariables();
+ processor.setDefaultValues("NONE");
+ processor.setJsonPathExpressions("$[*]");
+ processor.setRefNames("varname");
+ processor.setScopeVariable("contentvar");
+ context.setVariables(vars);
+ vars.remove("contentvar");
+ processor.process();
+ assertThat(vars.get("varname"), CoreMatchers.is("NONE"));
+ assertThat(vars.get("varname_matchNr"),
CoreMatchers.is(CoreMatchers.nullValue()));
+
+ vars.put("contentvar", "");
+ processor.process();
+ assertThat(vars.get("varname"), CoreMatchers.is("NONE"));
+ assertThat(vars.get("varname_matchNr"),
CoreMatchers.is(CoreMatchers.nullValue()));
+
+ }
@Test
public void testPR235CaseMatchOneWithZero() {