- def updateDurationInSeconds = resourceMeter.getTotalTimeInSeconds()
- then: 'update completes within expected time and memory used is within limit'
- recordAndAssertResourceUsage('Batch update leaves for 100 data nodes', 1, updateDurationInSeconds, 200, resourceMeter.getTotalMemoryUsageInMB())
+ then: 'data leaves have expected values'
+ assert 100 == countDataNodes('/openroadm-devices/openroadm-device[@status="fail"]')
+ and: 'update completes within expected time and memory used is within limit'
+ recordAndAssertResourceUsage('Update leaves for 100 data nodes',
+ 0.5, resourceMeter.getTotalTimeInSeconds(),
+ 120, resourceMeter.getTotalMemoryUsageInMB())
+ }
+
+ def 'Clean up for CPS Update API.'() {
+ cleanup: 'test anchor and data nodes'
+ cpsAnchorService.deleteAnchor(CPS_PERFORMANCE_TEST_DATASPACE, UPDATE_TEST_ANCHOR)
+ }
+
+ def generateJsonForOpenRoadmDevices(int startId, int totalNodes, boolean changeLeaves) {
+ return '{ "openroadm-device": [' + (0..<totalNodes).collect {makeInnerNodeJson(it + startId, changeLeaves) }.join(',') + ']}}'
+ }
+
+ def makeInnerNodeJson(int nodeId, boolean changeLeaf) {
+ def nodeJson = INNER_NODE_JSON.replace('NODE_ID_HERE', nodeId.toString())
+ if (changeLeaf) {
+ nodeJson = nodeJson.replace('"status": "success"', '"status": "fail"')
+ }
+ return nodeJson
+ }
+
+ def countDataNodes(String cpsPathQuery) {
+ return cpsQueryService.queryDataNodes(CPS_PERFORMANCE_TEST_DATASPACE, UPDATE_TEST_ANCHOR, cpsPathQuery, OMIT_DESCENDANTS).size()