diff options
author | Toine Siebelink <toine.siebelink@est.tech> | 2024-07-10 16:43:03 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2024-07-10 16:43:03 +0000 |
commit | 93b52651f0fce4a2d60cd0aa6538e4155115e649 (patch) | |
tree | 04e5f795693bc787e273606477f0079e218da5f8 | |
parent | d423e917b4ff02547b723b5a16efbe33bc4ae930 (diff) | |
parent | 7422844ab0d1e6a9b0b761dea05337e91f7bec51 (diff) |
Merge "NCMP inventory cm handle search should support cps path query"
4 files changed, 28 insertions, 15 deletions
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryServiceImpl.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryServiceImpl.java index 45922454fd..34eeaccf8f 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryServiceImpl.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryServiceImpl.java @@ -66,19 +66,20 @@ public class ParameterizedCmHandleQueryServiceImpl implements ParameterizedCmHan public Collection<String> queryCmHandleIds( final CmHandleQueryServiceParameters cmHandleQueryServiceParameters) { return executeQueries(cmHandleQueryServiceParameters, - this::executeCpsPathQuery, - this::queryCmHandlesByPublicProperties, - this::executeModuleNameQuery, + this::executeCpsPathQuery, + this::queryCmHandlesByPublicProperties, + this::executeModuleNameQuery, this::queryCmHandlesByTrustLevel); } @Override public Collection<String> queryCmHandleIdsForInventory( - final CmHandleQueryServiceParameters cmHandleQueryServiceParameters) { + final CmHandleQueryServiceParameters cmHandleQueryServiceParameters) { return executeQueries(cmHandleQueryServiceParameters, - this::queryCmHandlesByPublicProperties, - this::queryCmHandlesByPrivateProperties, - this::queryCmHandlesByDmiPlugin); + this::executeCpsPathQuery, + this::queryCmHandlesByPublicProperties, + this::queryCmHandlesByPrivateProperties, + this::queryCmHandlesByDmiPlugin); } @Override diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/models/InventoryQueryConditions.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/models/InventoryQueryConditions.java index fce285b415..e0b54d2197 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/models/InventoryQueryConditions.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/models/InventoryQueryConditions.java @@ -32,7 +32,8 @@ public enum InventoryQueryConditions { HAS_ALL_PROPERTIES("hasAllProperties"), HAS_ALL_ADDITIONAL_PROPERTIES("hasAllAdditionalProperties"), - CM_HANDLE_WITH_DMI_PLUGIN("cmHandleWithDmiPlugin"); + CM_HANDLE_WITH_DMI_PLUGIN("cmHandleWithDmiPlugin"), + WITH_CPS_PATH("cmHandleWithCpsPath"); public static final List<String> ALL_CONDITION_NAMES = Arrays.stream(InventoryQueryConditions.values()) .map(InventoryQueryConditions::getName).collect(Collectors.toList()); diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryServiceSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryServiceSpec.groovy index dfd549e63e..013bace04d 100644 --- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryServiceSpec.groovy +++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryServiceSpec.groovy @@ -57,6 +57,19 @@ class ParameterizedCmHandleQueryServiceSpec extends Specification { assert result == ['some-cmhandle-id'] as Set } + def 'Query cm handle where cps path itself is ancestor axis.'() { + 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 data nodes excluding all descendants returns a datanode' + cmHandleQueries.queryCmHandleAncestorsByCpsPath('/some/cps/path', FetchDescendantsOption.OMIT_DESCENDANTS) >> [new DataNode(leaves: ['id':'some-cmhandle-id'])] + when: 'the query is executed for cm handle ids' + def result = objectUnderTest.queryCmHandleIdsForInventory(cmHandleQueryParameters) + then: 'the correct expected cm handles ids are returned' + assert result == ['some-cmhandle-id'] as Set + } + def 'Cm handle ids query with error: #scenario.'() { given: 'a cmHandleWithCpsPath condition property' def cmHandleQueryParameters = new CmHandleQueryServiceParameters() diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/models/InventoryQueryConditionsSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/models/InventoryQueryConditionsSpec.groovy index 51c1f4bb13..2e7122268f 100644 --- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/models/InventoryQueryConditionsSpec.groovy +++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/models/InventoryQueryConditionsSpec.groovy @@ -1,6 +1,6 @@ /* * ============LICENSE_START======================================================== - * Copyright (c) 2022 Nordix Foundation. + * Copyright (c) 2022-2024 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,18 +20,16 @@ package org.onap.cps.ncmp.impl.inventory.models - import spock.lang.Specification class InventoryQueryConditionsSpec extends Specification { def 'Inventory query condition names.'() { - expect: '3 conditions with the correct names' - assert InventoryQueryConditions.ALL_CONDITION_NAMES.size() == 3 + expect: '4 conditions with the correct names' + assert InventoryQueryConditions.ALL_CONDITION_NAMES.size() == 4 assert InventoryQueryConditions.ALL_CONDITION_NAMES.containsAll('hasAllProperties', 'hasAllAdditionalProperties', - 'cmHandleWithDmiPlugin') + 'cmHandleWithDmiPlugin', + 'cmHandleWithCpsPath') } - - } |