2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2021 Nordix Foundation
4 * ================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 * SPDX-License-Identifier: Apache-2.0
17 * ============LICENSE_END=========================================================
20 package org.onap.cps.api.impl
22 import org.onap.cps.api.CpsDataService
23 import org.onap.cps.api.CpsQueryService
24 import org.onap.cps.nfproxy.api.impl.NfProxyDataServiceImpl
25 import spock.lang.Specification
27 class NfProxyDataServiceImplSpec extends Specification {
28 def objectUnderTest = new NfProxyDataServiceImpl()
29 def mockcpsDataService = Mock(CpsDataService)
30 def mockcpsQueryService = Mock(CpsQueryService)
33 objectUnderTest.cpsDataService = mockcpsDataService
34 objectUnderTest.cpsQueryService = mockcpsQueryService
37 def cmHandle = 'some handle'
38 def expectedDataspaceName = 'NFP-Operational'
40 def 'Query data nodes by cps path.'() {
41 given: 'a cm Handle and a cps path'
42 def cpsPath = '/cps-path'
43 when: 'queryDataNodes is invoked'
44 objectUnderTest.queryDataNodes(cmHandle, cpsPath)
45 then: 'the persistence service is called once with the correct parameters'
46 1 * mockcpsQueryService.queryDataNodes(expectedDataspaceName, cmHandle, cpsPath)
49 def 'Update data node leaves.'() {
50 given: 'a cm Handle and a cps path'
52 def jsonData = 'some json'
53 when: 'updateNodeLeaves is invoked'
54 objectUnderTest.updateNodeLeaves(cmHandle, xpath, jsonData)
55 then: 'the persistence service is called once with the correct parameters'
56 1 * mockcpsDataService.updateNodeLeaves(expectedDataspaceName, cmHandle, xpath, jsonData)
59 def 'Replace data node tree.'() {
60 given: 'a cm Handle and a cps path'
62 def jsonData = 'some json'
63 when: 'replaceNodeTree is invoked'
64 objectUnderTest.replaceNodeTree(cmHandle, xpath, jsonData)
65 then: 'the persistence service is called once with the correct parameters'
66 1 * mockcpsDataService.replaceNodeTree(expectedDataspaceName, cmHandle, xpath, jsonData)