diff options
Diffstat (limited to 'integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/UpdatePerfTest.groovy')
-rw-r--r-- | integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/UpdatePerfTest.groovy | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/UpdatePerfTest.groovy b/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/UpdatePerfTest.groovy index 5bb8192e5..3e26ac154 100644 --- a/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/UpdatePerfTest.groovy +++ b/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/UpdatePerfTest.groovy @@ -23,7 +23,6 @@ package org.onap.cps.integration.performance.cps import java.time.OffsetDateTime import org.onap.cps.api.CpsDataService import org.onap.cps.integration.performance.base.CpsPerfTestBase - import java.util.concurrent.TimeUnit class UpdatePerfTest extends CpsPerfTestBase { @@ -38,12 +37,12 @@ class UpdatePerfTest extends CpsPerfTestBase { def parentNodeXpath = "/openroadm-devices/openroadm-device[@device-id='C201-7-1A-10']" def jsonData = readResourceDataFile('openroadm/innerNode.json').replace('NODE_ID_HERE', '10') when: 'the fragment entities are updated by the data nodes' - stopWatch.start() + resourceMeter.start() objectUnderTest.updateDataNodeAndDescendants(CPS_PERFORMANCE_TEST_DATASPACE, 'openroadm1', parentNodeXpath, jsonData, now) - stopWatch.stop() - def updateDurationInMillis = stopWatch.getTotalTimeMillis() - then: 'update completes within expected time' - recordAndAssertPerformance('Update 1 data node', 600, updateDurationInMillis) + resourceMeter.stop() + def updateDurationInMillis = resourceMeter.getTotalTimeMillis() + then: 'update completes within expected time and memory used is within limit' + recordAndAssertResourceUsage('Update 1 data node', 600, updateDurationInMillis, 200, resourceMeter.getTotalMemoryUsageInMB()) } def 'Batch update 100 data nodes with descendants'() { @@ -54,12 +53,12 @@ class UpdatePerfTest extends CpsPerfTestBase { innerNodeJson.replace('NODE_ID_HERE', it.toString()) ]} when: 'the fragment entities are updated by the data nodes' - stopWatch.start() + resourceMeter.start() objectUnderTest.updateDataNodesAndDescendants(CPS_PERFORMANCE_TEST_DATASPACE, 'openroadm1', nodesJsonData, now) - stopWatch.stop() - def updateDurationInMillis = stopWatch.getTotalTimeMillis() - then: 'update completes within expected time' - recordAndAssertPerformance('Update 100 data nodes', TimeUnit.SECONDS.toMillis(30), updateDurationInMillis) + resourceMeter.stop() + def updateDurationInMillis = resourceMeter.getTotalTimeMillis() + then: 'update completes within expected time and memory used is within limit' + recordAndAssertResourceUsage('Update 100 data nodes', TimeUnit.SECONDS.toMillis(30), updateDurationInMillis, 800, resourceMeter.getTotalMemoryUsageInMB()) } def 'Update leaves for 1 data node (twice)'() { @@ -67,13 +66,13 @@ class UpdatePerfTest extends CpsPerfTestBase { def jsonDataUpdated = "{'openroadm-device':{'device-id':'C201-7-1A-10','status':'fail','ne-state':'jeopardy'}}" def jsonDataOriginal = "{'openroadm-device':{'device-id':'C201-7-1A-10','status':'success','ne-state':'inservice'}}" when: 'update is performed for leaves' - stopWatch.start() + resourceMeter.start() objectUnderTest.updateNodeLeaves(CPS_PERFORMANCE_TEST_DATASPACE, 'openroadm2', "/openroadm-devices", jsonDataUpdated, now) objectUnderTest.updateNodeLeaves(CPS_PERFORMANCE_TEST_DATASPACE, 'openroadm2', "/openroadm-devices", jsonDataOriginal, now) - stopWatch.stop() - def updateDurationInMillis = stopWatch.getTotalTimeMillis() - then: 'update completes within expected time' - recordAndAssertPerformance('Update leaves for 1 data node', 500, updateDurationInMillis) + resourceMeter.stop() + def updateDurationInMillis = resourceMeter.getTotalTimeMillis() + then: 'update completes within expected time and memory used is within limit' + recordAndAssertResourceUsage('Update leaves for 1 data node', 500, updateDurationInMillis, 300, resourceMeter.getTotalMemoryUsageInMB()) } def 'Batch update leaves for 100 data nodes (twice)'() { @@ -81,13 +80,13 @@ class UpdatePerfTest extends CpsPerfTestBase { def jsonDataUpdated = "{'openroadm-device':[" + (1..100).collect { "{'device-id':'C201-7-1A-" + it + "','status':'fail','ne-state':'jeopardy'}" }.join(",") + "]}" def jsonDataOriginal = "{'openroadm-device':[" + (1..100).collect { "{'device-id':'C201-7-1A-" + it + "','status':'success','ne-state':'inservice'}" }.join(",") + "]}" when: 'update is performed for leaves' - stopWatch.start() + resourceMeter.start() objectUnderTest.updateNodeLeaves(CPS_PERFORMANCE_TEST_DATASPACE, 'openroadm2', "/openroadm-devices", jsonDataUpdated, now) objectUnderTest.updateNodeLeaves(CPS_PERFORMANCE_TEST_DATASPACE, 'openroadm2', "/openroadm-devices", jsonDataOriginal, now) - stopWatch.stop() - def updateDurationInMillis = stopWatch.getTotalTimeMillis() - then: 'update completes within expected time' - recordAndAssertPerformance('Batch update leaves for 100 data nodes', TimeUnit.SECONDS.toMillis(1), updateDurationInMillis) + resourceMeter.stop() + def updateDurationInMillis = resourceMeter.getTotalTimeMillis() + then: 'update completes within expected time and memory used is within limit' + recordAndAssertResourceUsage('Batch update leaves for 100 data nodes', TimeUnit.SECONDS.toMillis(1), updateDurationInMillis, 300, resourceMeter.getTotalMemoryUsageInMB()) } } |