def jsonPayload = generateModifiedOpenRoadData(1000, 200, 200, 200)
- def 'Setup test anchor (please note, subsequent tests depend on this running first).'() {
+ def 'Setup source anchor (please note, subsequent tests depend on this running first).'() {
+ when: 'anchor is created'
+ resourceMeter.start()
+ def data = generateOpenRoadData(300)
+ addAnchorsWithData(1, CPS_PERFORMANCE_TEST_DATASPACE, LARGE_SCHEMA_SET, 'source-anchor', data, ContentType.JSON)
+ resourceMeter.stop()
+ def durationInSeconds = resourceMeter.getTotalTimeInSeconds()
+ then: 'setup duration is below accepted margin of the expected average'
+ recordAndAssertResourceUsage('CPS: Delta test setup', 20, durationInSeconds, resourceMeter.getTotalMemoryUsageInMB(), false)
+ }
+
+ def 'Setup target anchor (please note, subsequent tests depend on this running first).'() {
when: 'anchor with modified node data is created'
resourceMeter.start()
def data = generateModifiedOpenRoadData(OPENROADM_DEVICES_PER_ANCHOR, 200, 200, 200)
- addAnchorsWithData(1, CPS_PERFORMANCE_TEST_DATASPACE, LARGE_SCHEMA_SET, 'openroadm-modified', data, ContentType.JSON)
+ addAnchorsWithData(1, CPS_PERFORMANCE_TEST_DATASPACE, LARGE_SCHEMA_SET, 'target-anchor', data, ContentType.JSON)
resourceMeter.stop()
def durationInSeconds = resourceMeter.getTotalTimeInSeconds()
then: 'the anchor is created within expected time'
recordAndAssertResourceUsage('CPS: Creating modified openroadm anchor', 25, durationInSeconds, resourceMeter.getTotalMemoryUsageInMB(), false)
}
- @Ignore
def 'Get delta between 2 anchors with grouping enabled and #scenario'() {
when: 'attempt to get delta between two 2 anchors'
resourceMeter.start()
10.times {
- objectUnderTest.getDeltaByDataspaceAndAnchors(CPS_PERFORMANCE_TEST_DATASPACE, 'openroadm1', 'openroadm-modified1', xpath, fetchDescendantsOption, true)
+ objectUnderTest.getDeltaByDataspaceAndAnchors(CPS_PERFORMANCE_TEST_DATASPACE, 'source-anchor1', 'target-anchor1', xpath, fetchDescendantsOption, true)
}
resourceMeter.stop()
def durationInSeconds = resourceMeter.getTotalTimeInSeconds()
when: 'attempt to get delta between two 2 anchors'
resourceMeter.start()
10.times {
- objectUnderTest.getDeltaByDataspaceAndAnchors(CPS_PERFORMANCE_TEST_DATASPACE, 'openroadm1', 'openroadm-modified1', xpath, fetchDescendantsOption, false)
+ objectUnderTest.getDeltaByDataspaceAndAnchors(CPS_PERFORMANCE_TEST_DATASPACE, 'source-anchor1', 'target-anchor1', xpath, fetchDescendantsOption, false)
}
resourceMeter.stop()
def durationInSeconds = resourceMeter.getTotalTimeInSeconds()
def 'Get delta between an anchor and JSON payload with grouping enabled and #scenario'() {
when: 'attempt to get delta between an anchor and JSON payload'
resourceMeter.start()
- objectUnderTest.getDeltaByDataspaceAnchorAndPayload(CPS_PERFORMANCE_TEST_DATASPACE, 'openroadm1', '/openroadm-devices', Collections.emptyMap(), jsonPayload, fetchDescendantsOption, true)
+ objectUnderTest.getDeltaByDataspaceAnchorAndPayload(CPS_PERFORMANCE_TEST_DATASPACE, 'source-anchor1', '/openroadm-devices', Collections.emptyMap(), jsonPayload, fetchDescendantsOption, true)
resourceMeter.stop()
def durationInSeconds = resourceMeter.getTotalTimeInSeconds()
then: 'the delta is returned and operation completes within expected time'
def 'Get delta between an anchor and JSON payload with grouping disabled and #scenario'() {
when: 'attempt to get delta between an anchor and JSON payload'
resourceMeter.start()
- objectUnderTest.getDeltaByDataspaceAnchorAndPayload(CPS_PERFORMANCE_TEST_DATASPACE, 'openroadm1', '/openroadm-devices', Collections.emptyMap(), jsonPayload, INCLUDE_ALL_DESCENDANTS, false)
+ objectUnderTest.getDeltaByDataspaceAnchorAndPayload(CPS_PERFORMANCE_TEST_DATASPACE, 'source-anchor1', '/openroadm-devices', Collections.emptyMap(), jsonPayload, INCLUDE_ALL_DESCENDANTS, false)
resourceMeter.stop()
def durationInSeconds = resourceMeter.getTotalTimeInSeconds()
then: 'the delta is returned and operation completes within expected time'
@Ignore
def 'Apply delta report to an anchor'() {
given: 'a delta report between 2 anchors'
- def deltaReport = objectUnderTest.getDeltaByDataspaceAndAnchors(CPS_PERFORMANCE_TEST_DATASPACE, 'openroadm-modified1', 'openroadm1', '/openroadm-devices', INCLUDE_ALL_DESCENDANTS, true)
+ def deltaReport = objectUnderTest.getDeltaByDataspaceAndAnchors(CPS_PERFORMANCE_TEST_DATASPACE, 'target-anchor1', 'source-anchor1', '/openroadm-devices', INCLUDE_ALL_DESCENDANTS, true)
def deltaReportAsJson = jsonObjectMapper.asJsonString(deltaReport)
when: 'attempt to apply the delta report to an anchor'
resourceMeter.start()
- objectUnderTest.applyChangesInDeltaReport(CPS_PERFORMANCE_TEST_DATASPACE, 'openroadm-modified1', deltaReportAsJson)
+ objectUnderTest.applyChangesInDeltaReport(CPS_PERFORMANCE_TEST_DATASPACE, 'target-anchor1', deltaReportAsJson)
resourceMeter.stop()
def durationInSeconds = resourceMeter.getTotalTimeInSeconds()
then: 'the delta is applied and operation completes within expected time'
def 'Clean up test data'() {
when: 'anchor is deleted'
+ def anchorNames = ['source-anchor1', 'target-anchor1']
resourceMeter.start()
- cpsAnchorService.deleteAnchor(CPS_PERFORMANCE_TEST_DATASPACE, 'openroadm-modified1')
+ cpsAnchorService.deleteAnchors(CPS_PERFORMANCE_TEST_DATASPACE, anchorNames)
resourceMeter.stop()
def durationInSeconds = resourceMeter.getTotalTimeInSeconds()
then: 'delete duration is below accepted margin of the expected average'