summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cps-path-parser/src/test/groovy/org/onap/cps/cpspath/parser/CpsPathUtilSpec.groovy14
1 files changed, 14 insertions, 0 deletions
diff --git a/cps-path-parser/src/test/groovy/org/onap/cps/cpspath/parser/CpsPathUtilSpec.groovy b/cps-path-parser/src/test/groovy/org/onap/cps/cpspath/parser/CpsPathUtilSpec.groovy
index 31c1ed4a3..662e42b6b 100644
--- a/cps-path-parser/src/test/groovy/org/onap/cps/cpspath/parser/CpsPathUtilSpec.groovy
+++ b/cps-path-parser/src/test/groovy/org/onap/cps/cpspath/parser/CpsPathUtilSpec.groovy
@@ -20,6 +20,7 @@
package org.onap.cps.cpspath.parser
+import org.springframework.util.StopWatch
import spock.lang.Specification
class CpsPathUtilSpec extends Specification {
@@ -71,4 +72,17 @@ class CpsPathUtilSpec extends Specification {
thrown(PathParsingException)
}
+ def 'CPS Path Processing Performance Test.'() {
+ when: '200,000 paths are processed'
+ def setupStopWatch = new StopWatch()
+ setupStopWatch.start()
+ (1..100000).each {
+ CpsPathUtil.getNormalizedXpath('/long/path/to/see/if/it/adds/paring/time/significantly/parent/child[@common-leaf-name="123"]')
+ CpsPathUtil.getNormalizedXpath('//child[@other-leaf=1]/leaf-name[text()="search"]/ancestor::parent')
+ }
+ setupStopWatch.stop()
+ then: 'it takes less then 10,000 milliseconds'
+ // In CI this actually takes about 3-5 sec which is approx. 50+ parser executions per millisecond!
+ assert setupStopWatch.getTotalTimeMillis() < 10000
+ }
}