Add moduleSetTag to the request towards dmi plugin
[cps.git] / cps-ncmp-service / src / test / groovy / org / onap / cps / ncmp / api / impl / operations / DmiOperationsBaseSpec.groovy
index 7b295f6..b7af502 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  ============LICENSE_START=======================================================
- *  Copyright (C) 2021-2022 Nordix Foundation
+ *  Copyright (C) 2021-2023 Nordix Foundation
  *  ================================================================================
  *  Licensed under the Apache License, Version 2.0 (the "License");
  *  you may not use this file except in compliance with the License.
  *  limitations under the License.
  *
  *  SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
+ *  ============LICENSE_END=========================================================
  */
 
 package org.onap.cps.ncmp.api.impl.operations
 
 import com.fasterxml.jackson.databind.ObjectMapper
 import org.onap.cps.ncmp.api.impl.client.DmiRestClient
-import org.onap.cps.ncmp.api.models.PersistenceCmHandle
+import org.onap.cps.ncmp.api.impl.config.NcmpConfiguration
+import org.onap.cps.ncmp.api.impl.yangmodels.YangModelCmHandle
+import org.onap.cps.ncmp.api.impl.utils.DmiServiceUrlBuilder
+import org.onap.cps.ncmp.api.impl.inventory.CmHandleState
+import org.onap.cps.ncmp.api.impl.inventory.CompositeState
+import org.onap.cps.ncmp.api.impl.inventory.InventoryPersistence
+import org.onap.cps.spi.utils.CpsValidator
 import org.spockframework.spring.SpringBean
 import spock.lang.Shared
 import spock.lang.Specification
@@ -30,27 +36,44 @@ import spock.lang.Specification
 abstract class DmiOperationsBaseSpec extends Specification {
 
     @Shared
-    def dmiSampleProperty = new PersistenceCmHandle.Property('prop1', 'val1')
+    def yangModelCmHandleProperty = new YangModelCmHandle.Property('prop1', 'val1')
 
     @SpringBean
     DmiRestClient mockDmiRestClient = Mock()
 
     @SpringBean
-    PersistenceCmHandleRetriever mockCmHandlePropertiesRetriever = Mock()
+    InventoryPersistence mockInventoryPersistence = Mock()
+
+    def mockCpsValidator = Mock(CpsValidator)
 
     @SpringBean
     ObjectMapper spyObjectMapper = Spy()
 
-    def persistenceCmHandle = new PersistenceCmHandle()
+    @SpringBean
+    DmiServiceUrlBuilder dmiServiceUrlBuilder = new DmiServiceUrlBuilder(new NcmpConfiguration.DmiProperties(), mockCpsValidator)
+
+    def yangModelCmHandle = new YangModelCmHandle()
     def static dmiServiceName = 'some service name'
-    def static cmHandleId = 'some cm handle'
+    def static cmHandleId = 'some-cm-handle'
     def static resourceIdentifier = 'parent/child'
 
-    def mockPersistenceCmHandleRetrieval(dmiProperties) {
-        persistenceCmHandle.dmiDataServiceName = dmiServiceName
-        persistenceCmHandle.dmiServiceName = dmiServiceName
-        persistenceCmHandle.dmiProperties = dmiProperties
-        persistenceCmHandle.id = cmHandleId
-        mockCmHandlePropertiesRetriever.retrieveCmHandleDmiServiceNameAndDmiProperties(cmHandleId) >> persistenceCmHandle
+    def mockYangModelCmHandleRetrieval(dmiProperties) {
+        populateYangModelCmHandle(dmiProperties)
+        mockInventoryPersistence.getYangModelCmHandle(cmHandleId) >> yangModelCmHandle
+    }
+
+    def mockYangModelCmHandleCollectionRetrieval(dmiProperties) {
+        populateYangModelCmHandle(dmiProperties)
+        mockInventoryPersistence.getYangModelCmHandles(_) >> [yangModelCmHandle]
+    }
+
+    def populateYangModelCmHandle(dmiProperties) {
+        yangModelCmHandle.dmiDataServiceName = dmiServiceName
+        yangModelCmHandle.dmiServiceName = dmiServiceName
+        yangModelCmHandle.dmiProperties = dmiProperties
+        yangModelCmHandle.id = cmHandleId
+        yangModelCmHandle.compositeState = new CompositeState()
+        yangModelCmHandle.compositeState.cmHandleState = CmHandleState.READY
+        yangModelCmHandle.moduleSetTag = 'tag1'
     }
 }