You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by fs...@apache.org on 2023/05/05 15:00:18 UTC

[jmeter] branch master updated: Use parameter to make junit tests shorter

This is an automated email from the ASF dual-hosted git repository.

fschumacher pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git


The following commit(s) were added to refs/heads/master by this push:
     new 2dc9411d56 Use parameter to make junit tests shorter
2dc9411d56 is described below

commit 2dc9411d5600c8454b114ee76058e5477ba2b26f
Author: Felix Schumacher <fe...@internetallee.de>
AuthorDate: Fri May 5 16:59:04 2023 +0200

    Use parameter to make junit tests shorter
---
 .../jmeter/assertions/TestJSONPathAssertion.java   | 76 +++++-----------------
 1 file changed, 18 insertions(+), 58 deletions(-)

diff --git a/src/components/src/test/java/org/apache/jmeter/assertions/TestJSONPathAssertion.java b/src/components/src/test/java/org/apache/jmeter/assertions/TestJSONPathAssertion.java
index a2a9c6b3ca..59e442aa68 100644
--- a/src/components/src/test/java/org/apache/jmeter/assertions/TestJSONPathAssertion.java
+++ b/src/components/src/test/java/org/apache/jmeter/assertions/TestJSONPathAssertion.java
@@ -99,68 +99,31 @@ class TestJSONPathAssertion {
         assertFalse(result.isFailure());
     }
 
-    @Test
-    void testGetResult_positive_regexp_for_floating_point() {
-        SampleResult samplerResult = new SampleResult();
-        samplerResult.setResponseData("{\"myval\": 123.45}".getBytes(Charset.defaultCharset()));
-
-        JSONPathAssertion instance = new JSONPathAssertion();
-        instance.setJsonPath("$.myval");
-        instance.setJsonValidationBool(true);
-        instance.setExpectedValue("^\\d+\\.\\d+$");
-        AssertionResult expResult = new AssertionResult("");
-        AssertionResult result = instance.getResult(samplerResult);
-        assertEquals(expResult.getName(), result.getName());
-        assertFalse(result.isFailure());
-    }
-
-    @Test
-    void testGetResult_positive_wrong_regexp_for_floating_point() {
-        SampleResult samplerResult = new SampleResult();
-        samplerResult.setResponseData("{\"myval\": 123.45}".getBytes(Charset.defaultCharset()));
-
-        JSONPathAssertion instance = new JSONPathAssertion();
-        instance.setJsonPath("$.myval");
-        instance.setJsonValidationBool(true);
-        instance.setExpectedValue("^\\d+,\\d+$");
-        AssertionResult expResult = new AssertionResult("");
-        AssertionResult result = instance.getResult(samplerResult);
-        assertEquals(expResult.getName(), result.getName());
-        assertTrue(result.isFailure());
-    }
-    @Test
-    void testGetResult_positive_regexp() {
-        SampleResult samplerResult = new SampleResult();
-        samplerResult.setResponseData("{\"myval\": 123}".getBytes(Charset.defaultCharset()));
-
-        JSONPathAssertion instance = new JSONPathAssertion();
-        instance.setJsonPath("$.myval");
-        instance.setJsonValidationBool(true);
-        instance.setExpectedValue("(123|456)");
-        AssertionResult expResult = new AssertionResult("");
-        AssertionResult result = instance.getResult(samplerResult);
-        assertEquals(expResult.getName(), result.getName());
-        assertFalse(result.isFailure());
-
-        samplerResult.setResponseData("{\"myval\": 456}".getBytes(Charset.defaultCharset()));
-        AssertionResult result2 = instance.getResult(samplerResult);
-        assertFalse(result2.isFailure());
-    }
-
-    @Test
-    void testGetResult_positive_invert() {
+    @ParameterizedTest
+    @CsvSource({
+            "123.45,'^\\d+\\.\\d+$',false,false",
+            "123.45,'^\\d+\\.\\d+$',true,true",
+            "123.45,'^\\d+,\\d+$',false,true",
+            "123.45,'^\\d+,\\d+$',true,false",
+            "123,'(123|456)',false,false",
+            "123,'(123|456)',true,true",
+            "456,'(123|456)',false,false",
+            "456,'(123|456)',true,true",
+            "some string,some.+,false,false",
+            "some string,some.+,true,true",
+    })
+    void testGetResult_regexp(String value, String regex, boolean inverted, boolean expectedFailure) {
         SampleResult samplerResult = new SampleResult();
-        samplerResult.setResponseData("{\"myval\": 123}".getBytes(Charset.defaultCharset()));
-
+        samplerResult.setResponseData(("{\"myval\": " + value + '}').getBytes(Charset.defaultCharset()));
         JSONPathAssertion instance = new JSONPathAssertion();
         instance.setJsonPath("$.myval");
         instance.setJsonValidationBool(true);
-        instance.setExpectedValue("123");
-        instance.setInvert(true);
+        instance.setExpectedValue(regex);
+        instance.setInvert(inverted);
         AssertionResult expResult = new AssertionResult("");
         AssertionResult result = instance.getResult(samplerResult);
-        assertTrue(result.isFailure());
         assertEquals(expResult.getName(), result.getName());
+        assertEquals(expectedFailure, result.isFailure());
     }
 
     @Test
@@ -172,9 +135,6 @@ class TestJSONPathAssertion {
         instance.setJsonPath("$.myval");
         instance.setJsonValidationBool(true);
         instance.setExpectedValue("some.+");
-        AssertionResult result = instance.getResult(samplerResult);
-        assertFalse(result.isFailure());
-
         instance.setIsRegex(false);
         AssertionResult result2 = instance.getResult(samplerResult);
         assertTrue(result2.isFailure());