From 20e7a733d8a3657fd9932eaf8144f47777965533 Mon Sep 17 00:00:00 2001 From: lukegleeson Date: Thu, 20 Oct 2022 10:14:00 +0100 Subject: Query data NCMP-Operational with CPSpath New GET Endpoint: /v1/ch/{cm-handle}/data/ds/{ncmp-datastore-name}/query?cps-path={CPSPath} Implemented error for {ncmp-datastore-name} other than operational - (Toine) Refactored and renamed (abstract) handler for better re-use Mainly by introducing a separate handler for OperationalQuery Reviewers Toine, Sourabh, Priyank Issue-ID: CPS-1002 Signed-off-by: lukegleeson Change-Id: Iaca018869d95d4ce800072431baa190050a6dad0 --- .../impl/NetworkCmProxyQueryServiceImplSpec.groovy | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/NetworkCmProxyQueryServiceImplSpec.groovy (limited to 'cps-ncmp-service/src/test/groovy') diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/NetworkCmProxyQueryServiceImplSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/NetworkCmProxyQueryServiceImplSpec.groovy new file mode 100644 index 0000000000..1e86a0b80a --- /dev/null +++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/NetworkCmProxyQueryServiceImplSpec.groovy @@ -0,0 +1,46 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2022 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.cps.ncmp.api.impl + +import org.onap.cps.api.CpsQueryService +import org.onap.cps.spi.FetchDescendantsOption +import org.onap.cps.spi.model.DataNode +import spock.lang.Specification + +class NetworkCmProxyQueryServiceImplSpec extends Specification { + + def mockCpsQueryService = Mock(CpsQueryService) + + def objectUnderTest = new NetworkCmProxyQueryServiceImpl(mockCpsQueryService) + + def 'Query resource data for operational from DMI.'() { + given: 'a list of datanodes' + def dataNodes = [new DataNode(xpath: '/cps/path'), new DataNode(xpath: '/cps/path/child')] + and: 'the list of datanodes is returned for query data node' + 1 * mockCpsQueryService.queryDataNodes('NFP-Operational', 'ncmp-dmi-registry', + '//cps/path', FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS) >> dataNodes + when: 'query resource data operational for cm-handle is called' + def response = objectUnderTest.queryResourceDataOperational('ncmp-dmi-registry', + '//cps/path', FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS) + then: 'the expected datanodes are returned from the DMI' + response == dataNodes + } +} -- cgit 1.2.3-korg