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 2021/03/12 16:21:00 UTC

[jmeter] 06/12: changes based on feedback

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

commit f29000caf04e469c3e8951e1b299fb4641a049fe
Author: David Pecollet <da...@gmail.com>
AuthorDate: Tue Dec 15 22:40:03 2020 +0000

    changes based on feedback
    
    also removed time assertions that made some unit tests flaky
---
 .../protocol/bolt/sampler/AbstractBoltTestElement.java   | 10 +++++++---
 .../apache/jmeter/protocol/bolt/sampler/BoltSampler.java |  4 ++--
 .../bolt/sampler/BoltTestElementBeanInfoSupport.java     | 16 ++++++++--------
 .../bolt/sampler/BoltSamplerResources.properties         |  2 +-
 .../jmeter/protocol/bolt/sampler/BoltSamplerSpec.groovy  |  2 --
 5 files changed, 18 insertions(+), 16 deletions(-)

diff --git a/src/protocol/bolt/src/main/java/org/apache/jmeter/protocol/bolt/sampler/AbstractBoltTestElement.java b/src/protocol/bolt/src/main/java/org/apache/jmeter/protocol/bolt/sampler/AbstractBoltTestElement.java
index 807b7ad..0ec9579 100644
--- a/src/protocol/bolt/src/main/java/org/apache/jmeter/protocol/bolt/sampler/AbstractBoltTestElement.java
+++ b/src/protocol/bolt/src/main/java/org/apache/jmeter/protocol/bolt/sampler/AbstractBoltTestElement.java
@@ -19,6 +19,8 @@ package org.apache.jmeter.protocol.bolt.sampler;
 
 import java.time.Duration;
 
+import org.apache.commons.lang3.EnumUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.jmeter.testelement.AbstractTestElement;
 import org.neo4j.driver.AccessMode;
 import org.neo4j.driver.SessionConfig;
@@ -45,12 +47,14 @@ public abstract class AbstractBoltTestElement extends AbstractTestElement {
         if (accessMode != null) {
             return accessMode;
         } else {
-            return "WRITE";
+            return AccessMode.WRITE.toString();
         }
     }
 
     public void setAccessMode(String accessMode) {
-        this.accessMode = accessMode;
+        if (EnumUtils.isValidEnum(AccessMode.class, accessMode)) {
+            this.accessMode = accessMode;
+        }
     }
 
     public String getDatabase() {
@@ -90,7 +94,7 @@ public abstract class AbstractBoltTestElement extends AbstractTestElement {
         SessionConfig.Builder sessionConfigBuilder = SessionConfig.builder()
                 .withDefaultAccessMode(Enum.valueOf(AccessMode.class, getAccessMode()));
 
-        if (database != null && !"".equals(database)) {
+        if (StringUtils.isNotBlank(database)) {
             sessionConfigBuilder.withDatabase(database);
         }
 
diff --git a/src/protocol/bolt/src/main/java/org/apache/jmeter/protocol/bolt/sampler/BoltSampler.java b/src/protocol/bolt/src/main/java/org/apache/jmeter/protocol/bolt/sampler/BoltSampler.java
index d3787dc..94ec298 100644
--- a/src/protocol/bolt/src/main/java/org/apache/jmeter/protocol/bolt/sampler/BoltSampler.java
+++ b/src/protocol/bolt/src/main/java/org/apache/jmeter/protocol/bolt/sampler/BoltSampler.java
@@ -163,7 +163,7 @@ public class BoltSampler extends AbstractBoltTestElement implements Sampler, Tes
             //get records already as consume() will exhaust the stream
             records = result.list();
         } else {
-            records = null;
+            records = Collections.emptyList();
         }
         response.append("\nSummary:");
         ResultSummary summary = result.consume();
@@ -190,7 +190,7 @@ public class BoltSampler extends AbstractBoltTestElement implements Sampler, Tes
                 .append("\nRelationships Deleted: ")
                 .append(summary.counters().relationshipsDeleted());
         response.append("\n\nRecords: ");
-        if (records != null) {
+        if (isRecordQueryResults()) {
             for (Record record : records) {
                 response.append("\n").append(record);
             }
diff --git a/src/protocol/bolt/src/main/java/org/apache/jmeter/protocol/bolt/sampler/BoltTestElementBeanInfoSupport.java b/src/protocol/bolt/src/main/java/org/apache/jmeter/protocol/bolt/sampler/BoltTestElementBeanInfoSupport.java
index cd07b8f..a4c93a5 100644
--- a/src/protocol/bolt/src/main/java/org/apache/jmeter/protocol/bolt/sampler/BoltTestElementBeanInfoSupport.java
+++ b/src/protocol/bolt/src/main/java/org/apache/jmeter/protocol/bolt/sampler/BoltTestElementBeanInfoSupport.java
@@ -18,6 +18,7 @@
 package org.apache.jmeter.protocol.bolt.sampler;
 
 import java.beans.PropertyDescriptor;
+import java.util.Arrays;
 
 import org.apache.jmeter.testbeans.BeanInfoSupport;
 import org.apache.jmeter.testbeans.TestBean;
@@ -36,34 +37,33 @@ public abstract class BoltTestElementBeanInfoSupport extends BeanInfoSupport {
         createPropertyGroup("query", new String[] { "cypher","params","recordQueryResults"});
         createPropertyGroup("options", new String[] { "accessMode","database", "txTimeout"});
 
-        PropertyDescriptor propertyDescriptor =  property("cypher", TypeEditor.TextAreaEditor);
+        PropertyDescriptor propertyDescriptor = property("cypher", TypeEditor.TextAreaEditor);
         propertyDescriptor.setValue(NOT_UNDEFINED, Boolean.TRUE);
         propertyDescriptor.setValue(DEFAULT, "");
 
-        propertyDescriptor =  property("params", TypeEditor.TextAreaEditor);
+        propertyDescriptor = property("params", TypeEditor.TextAreaEditor);
         propertyDescriptor.setValue(NOT_UNDEFINED, Boolean.TRUE);
         propertyDescriptor.setValue(DEFAULT, "{\"paramName\":\"paramValue\"}");
 
-        propertyDescriptor =  property("recordQueryResults");
+        propertyDescriptor = property("recordQueryResults");
         propertyDescriptor.setValue(NOT_UNDEFINED, Boolean.TRUE);
         propertyDescriptor.setValue(DEFAULT, Boolean.FALSE);
 
-        propertyDescriptor =  property("accessMode", TypeEditor.ComboStringEditor);
+        propertyDescriptor = property("accessMode", TypeEditor.ComboStringEditor);
         propertyDescriptor.setValue(NOT_UNDEFINED, Boolean.TRUE);
         propertyDescriptor.setValue(NOT_EXPRESSION, Boolean.TRUE);
         propertyDescriptor.setValue(DEFAULT, AccessMode.WRITE.toString());
         propertyDescriptor.setValue(TAGS, getListAccessModes());
 
-        propertyDescriptor =  property("database", TypeEditor.ComboStringEditor);
+        propertyDescriptor = property("database", TypeEditor.ComboStringEditor);
         propertyDescriptor.setValue(DEFAULT, "neo4j");
 
         propertyDescriptor = property("txTimeout");
         propertyDescriptor.setValue(NOT_UNDEFINED, Boolean.TRUE);
-        propertyDescriptor.setValue(DEFAULT, "60");
+        propertyDescriptor.setValue(DEFAULT, 60);
     }
 
     private String[] getListAccessModes() {
-        String[] list = {AccessMode.READ.toString(), AccessMode.WRITE.toString()};
-        return list;
+        return Arrays.stream(AccessMode.values()).map(Enum::toString).toArray(String[]::new);
     }
 }
diff --git a/src/protocol/bolt/src/main/resources/org/apache/jmeter/protocol/bolt/sampler/BoltSamplerResources.properties b/src/protocol/bolt/src/main/resources/org/apache/jmeter/protocol/bolt/sampler/BoltSamplerResources.properties
index 5e02808..fda9c0a 100644
--- a/src/protocol/bolt/src/main/resources/org/apache/jmeter/protocol/bolt/sampler/BoltSamplerResources.properties
+++ b/src/protocol/bolt/src/main/resources/org/apache/jmeter/protocol/bolt/sampler/BoltSamplerResources.properties
@@ -27,6 +27,6 @@ recordQueryResults.shortDescription=Records the results of queries and displays
 accessMode.displayName=Access Mode
 accessMode.shortDescription=Whether it's a READ or WRITE query (affects query routing in clusters)
 database.displayName=Database
-database.shortDescription=Neo4j 4.x : database to query (leave empty for 3.5)
+database.shortDescription=Neo4j 4.x: database to query (leave empty for 3.5)
 txTimeout.displayName=Transaction timeout
 txTimeout.shortDescription=Transaction timeout in seconds
diff --git a/src/protocol/bolt/src/test/groovy/org/apache/jmeter/protocol/bolt/sampler/BoltSamplerSpec.groovy b/src/protocol/bolt/src/test/groovy/org/apache/jmeter/protocol/bolt/sampler/BoltSamplerSpec.groovy
index d7a2565..a6062c7 100644
--- a/src/protocol/bolt/src/test/groovy/org/apache/jmeter/protocol/bolt/sampler/BoltSamplerSpec.groovy
+++ b/src/protocol/bolt/src/test/groovy/org/apache/jmeter/protocol/bolt/sampler/BoltSamplerSpec.groovy
@@ -82,7 +82,6 @@ class BoltSamplerSpec extends Specification {
             str.endsWith("Records: Skipped")
             response.getSampleCount() == 1
             response.getErrorCount() == 0
-            response.getTime() > 0
     }
 
     def "should display results if asked"() {
@@ -162,7 +161,6 @@ class BoltSamplerSpec extends Specification {
             str.endsWith("Records: Skipped")
             response.getSampleCount() == 1
             response.getErrorCount() == 0
-            response.getTime() > 0
     }
 
     def getEmptyQueryResult() {