summaryrefslogtreecommitdiffstats
path: root/cps-ncmp-service/src/test
diff options
context:
space:
mode:
authorseanbeirne <sean.beirne@est.tech>2023-02-20 15:00:11 +0000
committerPriyank Maheshwari <priyank.maheshwari@est.tech>2023-02-22 13:46:12 +0000
commiteba77598601a7e3430f9582dfe433495ded3244c (patch)
tree50cc6a9fcd4b3584e4749e4889d23c175f45addf /cps-ncmp-service/src/test
parent1450fd0687433278ce61ae56dfcbf42e0edddce3 (diff)
Omit descendants when not need in ncmp inventory queries
-Seperated tests by Id and details Issue-ID: CPS-1494 Signed-off-by: seanbeirne <sean.beirne@est.tech> Change-Id: Ia1c2b637aa5ab2ffe3a92930d74af1dd7d0dbe92
Diffstat (limited to 'cps-ncmp-service/src/test')
-rw-r--r--cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/NetworkCmProxyCmHandlerQueryServiceSpec.groovy46
1 files changed, 37 insertions, 9 deletions
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/NetworkCmProxyCmHandlerQueryServiceSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/NetworkCmProxyCmHandlerQueryServiceSpec.groovy
index 5cd702a6b9..a918801c7e 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/NetworkCmProxyCmHandlerQueryServiceSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/NetworkCmProxyCmHandlerQueryServiceSpec.groovy
@@ -49,33 +49,44 @@ class NetworkCmProxyCmHandlerQueryServiceSpec extends Specification {
def objectUnderTest = new NetworkCmProxyCmHandlerQueryServiceImpl(cmHandleQueries, mockInventoryPersistence)
def objectUnderTestSpy = new NetworkCmProxyCmHandlerQueryServiceImpl(partiallyMockedCmHandleQueries, mockInventoryPersistence)
- def 'Retrieve cm handles with cpsPath when combined with no Module Query.'() {
+ def 'Retrieve cm handle objects with cpsPath when combined with no Module Query.'() {
given: 'a cmHandleWithCpsPath condition property'
def cmHandleQueryParameters = new CmHandleQueryServiceParameters()
def conditionProperties = createConditionProperties('cmHandleWithCpsPath', [['cpsPath' : '/some/cps/path']])
cmHandleQueryParameters.setCmHandleQueryParameters([conditionProperties])
- and: 'cmHandleQueries returns a non null query result'
+ and: 'the query to get the cm handle datanodes including all descendants returns a datanode'
cmHandleQueries.queryCmHandleDataNodesByCpsPath('/some/cps/path', FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS) >> [new DataNode(leaves: ['id':'some-cmhandle-id'])]
and: 'CmHandleQueries returns cmHandles with the relevant query result'
cmHandleQueries.combineCmHandleQueries(*_) >> ['PNFDemo1': new NcmpServiceCmHandle(cmHandleId: 'PNFDemo1'), 'PNFDemo3': new NcmpServiceCmHandle(cmHandleId: 'PNFDemo3')]
- when: 'the query is executed for both cm handle ids and details'
- def returnedCmHandlesJustIds = objectUnderTest.queryCmHandleIds(cmHandleQueryParameters)
+ when: 'the query is executed for cm handle details'
def returnedCmHandlesWithData = objectUnderTest.queryCmHandles(cmHandleQueryParameters)
+ then: 'the correct ncmp service cm handles are returned'
+ returnedCmHandlesWithData.stream().map(CmHandle -> CmHandle.cmHandleId).collect(Collectors.toSet()) == ['PNFDemo1', 'PNFDemo3'] as Set
+ }
+
+ def 'Retrieve cm handle ids with cpsPath when combined with no Module Query.'() {
+ given: 'a cmHandleWithCpsPath condition property'
+ def cmHandleQueryParameters = new CmHandleQueryServiceParameters()
+ def conditionProperties = createConditionProperties('cmHandleWithCpsPath', [['cpsPath' : '/some/cps/path']])
+ cmHandleQueryParameters.setCmHandleQueryParameters([conditionProperties])
+ and: 'the query get the cm handle datanodes excluding all descendants returns a datanode'
+ cmHandleQueries.queryCmHandleDataNodesByCpsPath('/some/cps/path', FetchDescendantsOption.OMIT_DESCENDANTS) >> [new DataNode(leaves: ['id':'some-cmhandle-id'])]
+ and: 'CmHandleQueries returns cmHandles with the relevant query result'
+ cmHandleQueries.combineCmHandleQueries(*_) >> ['PNFDemo1': new NcmpServiceCmHandle(cmHandleId: 'PNFDemo1'), 'PNFDemo3': new NcmpServiceCmHandle(cmHandleId: 'PNFDemo3')]
+ when: 'the query is executed for cm handle ids'
+ def returnedCmHandlesJustIds = objectUnderTest.queryCmHandleIds(cmHandleQueryParameters)
then: 'the correct expected cm handles ids are returned'
returnedCmHandlesJustIds == ['PNFDemo1', 'PNFDemo3'] as Set
- and: 'the correct ncmp service cm handles are returned'
- returnedCmHandlesWithData.stream().map(CmHandle -> CmHandle.cmHandleId).collect(Collectors.toSet()) == ['PNFDemo1', 'PNFDemo3'] as Set
}
- def 'Retrieve cm handles with cpsPath where #scenario.'() {
+ def 'Retrieve cm handle details with cpsPath where #scenario.'() {
given: 'a cmHandleWithCpsPath condition property'
def cmHandleQueryParameters = new CmHandleQueryServiceParameters()
def conditionProperties = createConditionProperties('cmHandleWithCpsPath', [['cpsPath' : '/some/cps/path']])
cmHandleQueryParameters.setCmHandleQueryParameters([conditionProperties])
and: 'cmHandleQueries throws a path parsing exception'
cmHandleQueries.queryCmHandleDataNodesByCpsPath('/some/cps/path', FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS) >> { throw thrownException }
- when: 'the query is executed for both cm handle ids and details'
- objectUnderTest.queryCmHandleIds(cmHandleQueryParameters)
+ when: 'the query is executed for cm handle details'
objectUnderTest.queryCmHandles(cmHandleQueryParameters)
then: 'a data validation exception is thrown'
thrown(expectedException)
@@ -85,6 +96,23 @@ class NetworkCmProxyCmHandlerQueryServiceSpec extends Specification {
'any other Exception is thrown' | new DataInUseException('some message', 'some details') || DataInUseException
}
+ def 'Retrieve cm handle ids with cpsPath where #scenario.'() {
+ given: 'a cmHandleWithCpsPath condition property'
+ def cmHandleQueryParameters = new CmHandleQueryServiceParameters()
+ def conditionProperties = createConditionProperties('cmHandleWithCpsPath', [['cpsPath' : '/some/cps/path']])
+ cmHandleQueryParameters.setCmHandleQueryParameters([conditionProperties])
+ and: 'cmHandleQueries throws a path parsing exception'
+ cmHandleQueries.queryCmHandleDataNodesByCpsPath('/some/cps/path', FetchDescendantsOption.OMIT_DESCENDANTS) >> { throw thrownException }
+ when: 'the query is executed for cm handle ids'
+ objectUnderTest.queryCmHandleIds(cmHandleQueryParameters)
+ then: 'a data validation exception is thrown'
+ thrown(expectedException)
+ where: 'the following data is used'
+ scenario | thrownException || expectedException
+ 'a PathParsingException is thrown' | new PathParsingException('some message', 'some details') || DataValidationException
+ 'any other Exception is thrown' | new DataInUseException('some message', 'some details') || DataInUseException
+ }
+
def 'Query cm handles with public properties when combined with empty modules query result.'() {
given: 'a public properties condition property'
def cmHandleQueryParameters = new CmHandleQueryServiceParameters()