CPS-2181 - #1 Included Module Set Tag in NCMP calls to DMI for Yang Module Resources
[cps.git] / cps-ncmp-service / src / test / groovy / org / onap / cps / ncmp / api / impl / operations / DmiModelOperationsSpec.groovy
index e99e8a3..9aab467 100644 (file)
@@ -58,7 +58,7 @@ class DmiModelOperationsSpec extends DmiOperationsBaseSpec {
             def moduleReferencesAsLisOfMaps = [[moduleName: 'mod1', revision: 'A'], [moduleName: 'mod2', revision: 'X']]
             def expectedUrl = "${dmiServiceName}/dmi/v1/ch/${cmHandleId}/modules"
             def responseFromDmi = new ResponseEntity([schemas: moduleReferencesAsLisOfMaps], HttpStatus.OK)
-            mockDmiRestClient.postOperationWithJsonData(expectedUrl, '{"cmHandleProperties":{},"moduleSetTag":"tag1"}', READ, NO_AUTH_HEADER)
+            mockDmiRestClient.postOperationWithJsonData(expectedUrl, '{"cmHandleProperties":{},"moduleSetTag":""}', READ, NO_AUTH_HEADER)
                     >> responseFromDmi
         when: 'get module references is called'
             def result = objectUnderTest.getModuleReferences(yangModelCmHandle)
@@ -91,7 +91,7 @@ class DmiModelOperationsSpec extends DmiOperationsBaseSpec {
         and: 'a positive response from DMI service when it is called with tha expected parameters'
             def responseFromDmi = new ResponseEntity<String>(HttpStatus.OK)
             mockDmiRestClient.postOperationWithJsonData("${dmiServiceName}/dmi/v1/ch/${cmHandleId}/modules",
-                    '{"cmHandleProperties":' + expectedAdditionalPropertiesInRequest + ',"moduleSetTag":"tag1"}', READ, NO_AUTH_HEADER) >> responseFromDmi
+                    '{"cmHandleProperties":' + expectedAdditionalPropertiesInRequest + ',"moduleSetTag":""}', READ, NO_AUTH_HEADER) >> responseFromDmi
         when: 'a get module references is called'
             def result = objectUnderTest.getModuleReferences(yangModelCmHandle)
         then: 'the result is the response from DMI service'
@@ -139,7 +139,7 @@ class DmiModelOperationsSpec extends DmiOperationsBaseSpec {
     def 'Retrieving yang resources, DMI property handling #scenario.'() {
         given: 'a cm handle'
             mockYangModelCmHandleRetrieval(dmiProperties)
-        and: 'a positive response from DMI service when it is called with the expected parameters'
+        and: 'a positive response from DMI service when it is called with the expected moduleSetTag, modules and properties'
             def responseFromDmi = new ResponseEntity<>([[moduleName: 'mod1', revision: 'A', yangSource: 'some yang source']], HttpStatus.OK)
             mockDmiRestClient.postOperationWithJsonData("${dmiServiceName}/dmi/v1/ch/${cmHandleId}/moduleResources",
                     '{"data":{"modules":[{"name":"mod1","revision":"A"},{"name":"mod2","revision":"X"}]},"cmHandleProperties":' + expectedAdditionalPropertiesInRequest + '}',
@@ -154,6 +154,24 @@ class DmiModelOperationsSpec extends DmiOperationsBaseSpec {
             'without properties'                    | []                          || '{}'
     }
 
+    def 'Retrieving yang resources  #scenario'() {
+        given: 'a cm handle'
+            mockYangModelCmHandleRetrieval([], moduleSetTag)
+        and: 'a positive response from DMI service when it is called with the expected moduleSetTag'
+            def responseFromDmi = new ResponseEntity<>([[moduleName: 'mod1', revision: 'A', yangSource: 'some yang source']], HttpStatus.OK)
+            mockDmiRestClient.postOperationWithJsonData("${dmiServiceName}/dmi/v1/ch/${cmHandleId}/moduleResources",
+                '{' + expectedModuleSetTagInRequest + '"data":{"modules":[{"name":"mod1","revision":"A"},{"name":"mod2","revision":"X"}]},"cmHandleProperties":{}}',
+                READ, NO_AUTH_HEADER) >> responseFromDmi
+        when: 'get new yang resources from DMI service'
+            def result = objectUnderTest.getNewYangResourcesFromDmi(yangModelCmHandle, newModuleReferences)
+        then: 'the result is the response from DMI service'
+            assert result == [mod1:'some yang source']
+        where: 'the following Module Set Tags are used'
+            scenario                 | moduleSetTag    || expectedModuleSetTagInRequest
+            'Without module set tag' | ''              || ''
+            'With module set tag'    | 'moduleSetTag1' || '"moduleSetTag":"moduleSetTag1",'
+    }
+
     def 'Retrieving yang resources from DMI with no module references.'() {
         given: 'a cm handle'
             mockYangModelCmHandleRetrieval([])