Merge "Modify cmHandle registration for alternateId"
authorToine Siebelink <toine.siebelink@est.tech>
Thu, 14 Dec 2023 08:36:36 +0000 (08:36 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 14 Dec 2023 08:36:36 +0000 (08:36 +0000)
1  2 
cps-ncmp-rest/docs/openapi/components.yaml
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/inventory/sync/ModuleSyncServiceSpec.groovy

@@@ -140,6 -140,9 +140,9 @@@ components
              type: string
              enum: [COMPLETE, NONE]
              example: "COMPLETE"
+         alternateId:
+           type: string
+           example: "my-alternate-id"
      RestCmHandleProperties:
        type: object
        additionalProperties:
            example: [ my-cm-handle1, my-cm-handle2, my-cm-handle3 ]
          moduleSetTag:
            type: string
 +          default: ""
            example: 'my-module-set-tag'
  
      #Response Schemas
@@@ -62,7 -62,7 +62,7 @@@ class ModuleSyncServiceSpec extends Spe
              def ncmpServiceCmHandle = new NcmpServiceCmHandle()
              ncmpServiceCmHandle.setCompositeState(new CompositeStateBuilder().withCmHandleState(CmHandleState.ADVISED).build())
              ncmpServiceCmHandle.cmHandleId = 'ch-1'
-             def yangModelCmHandle = YangModelCmHandle.toYangModelCmHandle('some service name', '', '', ncmpServiceCmHandle, moduleSetTag)
+             def yangModelCmHandle = YangModelCmHandle.toYangModelCmHandle('some service name', '', '', ncmpServiceCmHandle, moduleSetTag, '')
          and: 'DMI operations returns some module references'
              def moduleReferences =  [ new ModuleReference('module1','1'), new ModuleReference('module2','2') ]
              mockDmiModelOperations.getModuleReferences(yangModelCmHandle) >> moduleReferences
@@@ -76,7 -76,7 +76,7 @@@
          when: 'module sync is triggered'
              objectUnderTest.syncAndCreateOrUpgradeSchemaSetAndAnchor(yangModelCmHandle)
          then: 'create schema set from module is invoked with correct parameters'
 -            1 * mockCpsModuleService.createOrUpgradeSchemaSetFromModules(NFP_OPERATIONAL_DATASTORE_DATASPACE_NAME, 'ch-1', newModuleNameContentToMap, moduleReferences)
 +            1 * mockCpsModuleService.createSchemaSetFromModules(NFP_OPERATIONAL_DATASTORE_DATASPACE_NAME, 'ch-1', newModuleNameContentToMap, moduleReferences)
          and: 'anchor is created with the correct parameters'
              1 * mockCpsAdminService.createAnchor(NFP_OPERATIONAL_DATASTORE_DATASPACE_NAME, 'ch-1', 'ch-1')
          where: 'the following parameters are used'
@@@ -91,7 -91,7 +91,7 @@@
              ncmpServiceCmHandle.setCompositeState(new CompositeStateBuilder().withLockReason(MODULE_UPGRADE, 'Upgrade to ModuleSetTag: tag-1').build())
              def dmiServiceName = 'some service name'
              ncmpServiceCmHandle.cmHandleId = 'upgraded-ch'
-             def yangModelCmHandle = YangModelCmHandle.toYangModelCmHandle(dmiServiceName, '', '', ncmpServiceCmHandle,'tag-1')
+             def yangModelCmHandle = YangModelCmHandle.toYangModelCmHandle(dmiServiceName, '', '', ncmpServiceCmHandle,'tag-1', '')
          and: 'some module references'
              def moduleReferences =  [ new ModuleReference('module1','1') ]
          and: 'cache or DMI operations returns some module references for upgraded cm handle'
              mockCmHandleQueries.cmHandleHasState('otherId', CmHandleState.READY) >> true
          when: 'module sync is triggered'
              objectUnderTest.syncAndCreateOrUpgradeSchemaSetAndAnchor(yangModelCmHandle)
 -        then: 'create schema set from module is invoked for the upgraded cm handle'
 -            1 * mockCpsModuleService.createOrUpgradeSchemaSetFromModules(NFP_OPERATIONAL_DATASTORE_DATASPACE_NAME, 'upgraded-ch', [:], moduleReferences)
 +        then: 'update schema set from module is invoked for the upgraded cm handle'
 +            expectedCallsToUpgradeSchemaSet * mockCpsModuleService.upgradeSchemaSetFromModules(NFP_OPERATIONAL_DATASTORE_DATASPACE_NAME, 'upgraded-ch', [:], moduleReferences)
 +        and: 'create schema set from module is invoked for the upgraded cm handle'
 +            expectedCallsToCeateSchemaSet * mockCpsModuleService.createSchemaSetFromModules(NFP_OPERATIONAL_DATASTORE_DATASPACE_NAME, 'upgraded-ch', [:], moduleReferences)
          and: 'No anchor is created for the upgraded cm handle'
              0 * mockCpsAdminService.createAnchor(*_)
          where: 'the following parameters are used'
 -            scenario      | populateCache | existingCmHandlesWithSameTag
 -            'new'         | false         | []
 -            'in cache'    | true          | []
 -            'in database' | false         | [cmHandleWithModuleSetTag]
 +            scenario      | populateCache | existingCmHandlesWithSameTag || expectedCallsToUpgradeSchemaSet | expectedCallsToCeateSchemaSet
 +            'new'         | false         | []                           || 0                               | 1
 +            'in cache'    | true          | []                           || 1                               | 0
 +            'in database' | false         | [cmHandleWithModuleSetTag]   || 1                               | 0
      }
  
      def 'upgrade model for a existing cm handle'() {
              ncmpServiceCmHandle.setCompositeState(new CompositeStateBuilder()
                  .withLockReason(MODULE_UPGRADE, 'Upgrade to ModuleSetTag: targetModuleSetTag').build())
              ncmpServiceCmHandle.setCmHandleId('cmHandleId-1')
-             def yangModelCmHandle = YangModelCmHandle.toYangModelCmHandle('some service name', '', '', ncmpServiceCmHandle, 'targetModuleSetTag')
+             def yangModelCmHandle = YangModelCmHandle.toYangModelCmHandle('some service name', '', '', ncmpServiceCmHandle, 'targetModuleSetTag', '')
              mockCmHandleQueries.cmHandleHasState('cmHandleId-1', CmHandleState.READY) >> true
          and: 'the module service returns some module references'
              def moduleReferences = [new ModuleReference('module1', '1'), new ModuleReference('module2', '2')]
          when: 'module upgrade is triggered'
              objectUnderTest.syncAndCreateOrUpgradeSchemaSetAndAnchor(yangModelCmHandle)
          then: 'the upgrade is delegated to the module service (with the correct parameters)'
 -            1 * mockCpsModuleService.createOrUpgradeSchemaSetFromModules(NFP_OPERATIONAL_DATASTORE_DATASPACE_NAME, 'cmHandleId-1', Collections.emptyMap(), moduleReferences)
 +            1 * mockCpsModuleService.upgradeSchemaSetFromModules(NFP_OPERATIONAL_DATASTORE_DATASPACE_NAME, 'cmHandleId-1', Collections.emptyMap(), moduleReferences)
      }
  
      def 'Delete Schema Set for CmHandle'() {