X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=integration-test%2Fsrc%2Ftest%2Fgroovy%2Forg%2Fonap%2Fcps%2Fintegration%2Fperformance%2Fcps%2FWritePerfTest.groovy;h=019561174017adbb29838acde979c70eda71fae1;hb=HEAD;hp=c3dd2af1461314f2ee4f13e58171e8034132dc49;hpb=1e5290cd5e69960d48fb20d56fafb4eef54d5f34;p=cps.git diff --git a/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/WritePerfTest.groovy b/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/WritePerfTest.groovy index c3dd2af146..f468b36e40 100644 --- a/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/WritePerfTest.groovy +++ b/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/WritePerfTest.groovy @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= - * Copyright (C) 2023-2024 Nordix Foundation + * Copyright (C) 2023-2025 OpenInfra Foundation Europe. All rights reserved. + * Modifications Copyright (C) 2024 TechMahindra Ltd. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the 'License'); * you may not use this file except in compliance with the License. @@ -20,8 +21,10 @@ package org.onap.cps.integration.performance.cps -import java.time.OffsetDateTime import org.onap.cps.integration.performance.base.CpsPerfTestBase +import org.onap.cps.utils.ContentType + +import java.time.OffsetDateTime class WritePerfTest extends CpsPerfTestBase { @@ -36,18 +39,16 @@ class WritePerfTest extends CpsPerfTestBase { resourceMeter.start() cpsDataService.saveData(CPS_PERFORMANCE_TEST_DATASPACE, WRITE_TEST_ANCHOR, jsonData, OffsetDateTime.now()) resourceMeter.stop() - then: 'the operation takes less than #expectedDuration and memory used is within limit' - recordAndAssertResourceUsage("Writing ${totalNodes} devices", - expectedDuration, resourceMeter.getTotalTimeInSeconds(), - memoryLimit, resourceMeter.getTotalMemoryUsageInMB()) + then: 'the operation takes less than #expectedDuration with a margin of 100%' + recordAndAssertResourceUsage("CPS:Writing ${totalNodes} devices", expectedDuration, resourceMeter.getTotalTimeInSeconds(), resourceMeter.getTotalMemoryUsageInMB(), referenceGraph) cleanup: cpsAnchorService.deleteAnchor(CPS_PERFORMANCE_TEST_DATASPACE, WRITE_TEST_ANCHOR) where: - totalNodes || expectedDuration | memoryLimit - 50 || 1.6 | 100 - 100 || 3.3 | 200 - 200 || 6.8 | 400 - 400 || 13.0 | 500 + totalNodes || expectedDuration | referenceGraph + 50 || 1.45 | false + 100 || 2.9 | false + 200 || 6.2 | true + 400 || 13.0 | false } def 'Writing bookstore data has exponential time.'() { @@ -61,18 +62,16 @@ class WritePerfTest extends CpsPerfTestBase { resourceMeter.start() cpsDataService.saveData(CPS_PERFORMANCE_TEST_DATASPACE, WRITE_TEST_ANCHOR, '/bookstore/categories[@code=1]', booksData, OffsetDateTime.now()) resourceMeter.stop() - then: 'the operation takes less than #expectedDuration and memory used is within limit' - recordAndAssertResourceUsage("Writing ${totalBooks} books", - expectedDuration, resourceMeter.totalTimeInSeconds, - memoryLimit, resourceMeter.totalMemoryUsageInMB) + then: 'the operation takes less than #expectedDuration with a margin of 100%' + recordAndAssertResourceUsage("CPS:Writing ${totalBooks} books", expectedDuration, resourceMeter.totalTimeInSeconds, resourceMeter.totalMemoryUsageInMB, referenceGraph) cleanup: cpsAnchorService.deleteAnchor(CPS_PERFORMANCE_TEST_DATASPACE, WRITE_TEST_ANCHOR) where: - totalBooks || expectedDuration | memoryLimit - 800 || 0.3 | 50 - 1600 || 0.8 | 100 - 3200 || 2.6 | 150 - 6400 || 6.7 | 200 + totalBooks || expectedDuration | referenceGraph + 800 || 0.31 | false + 1600 || 0.8 | false + 3200 || 2.2 | false + 6400 || 6.9 | true } def 'Writing openroadm list data using saveListElements.'() { @@ -87,20 +86,18 @@ class WritePerfTest extends CpsPerfTestBase { ']}' when: 'device nodes are added' resourceMeter.start() - cpsDataService.saveListElements(CPS_PERFORMANCE_TEST_DATASPACE, WRITE_TEST_ANCHOR, '/openroadm-devices', jsonListData, OffsetDateTime.now()) + cpsDataService.saveListElements(CPS_PERFORMANCE_TEST_DATASPACE, WRITE_TEST_ANCHOR, '/openroadm-devices', jsonListData, OffsetDateTime.now(), ContentType.JSON) resourceMeter.stop() - then: 'the operation takes less than #expectedDuration and memory used is within limit' - recordAndAssertResourceUsage("Saving list of ${totalNodes} devices", - expectedDuration, resourceMeter.totalTimeInSeconds, - memoryLimit, resourceMeter.totalMemoryUsageInMB) + then: 'the operation takes less than #expectedDuration with a margin of 100%' + recordAndAssertResourceUsage("CPS:Saving list of ${totalNodes} devices", expectedDuration, resourceMeter.totalTimeInSeconds, resourceMeter.totalMemoryUsageInMB) cleanup: cpsAnchorService.deleteAnchor(CPS_PERFORMANCE_TEST_DATASPACE, WRITE_TEST_ANCHOR) where: - totalNodes || expectedDuration | memoryLimit - 50 || 1.5 | 100 - 100 || 3.0 | 200 - 200 || 6.3 | 400 - 400 || 14.0 | 500 + totalNodes || expectedDuration + 50 || 1.5 + 100 || 3.0 + 200 || 6.4 + 400 || 14.0 } }