Update performance test timings for larger dataset
[cps.git] / integration-test / src / test / groovy / org / onap / cps / integration / performance / base / CpsPerfTestBase.groovy
index 8a3bd6d..1dbd716 100644 (file)
@@ -24,11 +24,13 @@ import org.onap.cps.rest.utils.MultipartFileUtil
 import org.onap.cps.spi.FetchDescendantsOption
 import org.springframework.web.multipart.MultipartFile
 
+import java.util.concurrent.TimeUnit
+
 class CpsPerfTestBase extends PerfTestBase {
 
     static final def CPS_PERFORMANCE_TEST_DATASPACE = 'cpsPerformanceDataspace'
-    static final def OPENROADM_ANCHORS = 5
-    static final def OPENROADM_DEVICES_PER_ANCHOR = 50
+    static final def OPENROADM_ANCHORS = 3
+    static final def OPENROADM_DEVICES_PER_ANCHOR = 1000
     static final def OPENROADM_DATANODES_PER_DEVICE = 86
 
     def printTitle() {
@@ -46,30 +48,10 @@ class CpsPerfTestBase extends PerfTestBase {
     }
 
     def createInitialData() {
-        createWarmupData()
-        createLargeBookstoresData()
         addOpenRoadModel()
         addOpenRoadData()
     }
 
-    def createWarmupData() {
-        def data = "{\"bookstore\":{}}"
-        stopWatch.start()
-        addAnchorsWithData(1,  CPS_PERFORMANCE_TEST_DATASPACE, BOOKSTORE_SCHEMA_SET, 'warmup', data)
-        stopWatch.stop()
-        def durationInMillis = stopWatch.getTotalTimeMillis()
-        recordAndAssertPerformance('Creating warmup anchor with tiny data tree', 500, durationInMillis)
-    }
-
-    def createLargeBookstoresData() {
-        def data = readResourceDataFile('bookstore/largeModelData.json')
-        stopWatch.start()
-        addAnchorsWithData(5, CPS_PERFORMANCE_TEST_DATASPACE, BOOKSTORE_SCHEMA_SET, 'bookstore', data)
-        stopWatch.stop()
-        def durationInMillis = stopWatch.getTotalTimeMillis()
-        recordAndAssertPerformance('Creating bookstore anchors with large data tree', 1_500, durationInMillis)
-    }
-
     def addOpenRoadModel() {
         def file = new File('src/test/resources/data/openroadm/correctedModel.zip')
         def multipartFile = Mock(MultipartFile)
@@ -84,7 +66,7 @@ class CpsPerfTestBase extends PerfTestBase {
         addAnchorsWithData(OPENROADM_ANCHORS, CPS_PERFORMANCE_TEST_DATASPACE, LARGE_SCHEMA_SET, 'openroadm', data)
         stopWatch.stop()
         def durationInMillis = stopWatch.getTotalTimeMillis()
-        recordAndAssertPerformance('Creating openroadm anchors with large data tree', 20_000, durationInMillis)
+        recordAndAssertPerformance('Creating openroadm anchors with large data tree', TimeUnit.SECONDS.toMillis(200), durationInMillis)
     }
 
     def generateOpenRoadData(numberOfNodes) {
@@ -95,14 +77,14 @@ class CpsPerfTestBase extends PerfTestBase {
     }
 
     def 'Warm the database'() {
-        when: 'get data nodes for warmup anchor'
+        when: 'dummy get data nodes runs so that populating the DB does not get included in other test timings'
             stopWatch.start()
-            def result = cpsDataService.getDataNodes(CPS_PERFORMANCE_TEST_DATASPACE, 'warmup1', '/', FetchDescendantsOption.OMIT_DESCENDANTS)
+            def result = cpsDataService.getDataNodes(CPS_PERFORMANCE_TEST_DATASPACE, 'openroadm1', '/', FetchDescendantsOption.OMIT_DESCENDANTS)
             assert countDataNodesInTree(result) == 1
             stopWatch.stop()
             def durationInMillis = stopWatch.getTotalTimeMillis()
-        then: 'all data is read within 20 seconds'
-            recordAndAssertPerformance("Warming database", 20_000, durationInMillis)
+        then: 'all data is read within expected time'
+            recordAndAssertPerformance("Warming database", 100, durationInMillis)
     }
 
 }