/*
* ============LICENSE_START=======================================================
- * Copyright (C) 2022 Nordix Foundation
+ * Copyright (C) 2022-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.
package org.onap.cps.ncmp.rest.controller
import org.mapstruct.factory.Mappers
+import org.onap.cps.ncmp.api.impl.trustlevel.TrustLevel
import org.onap.cps.ncmp.api.models.NcmpServiceCmHandle
+import org.onap.cps.ncmp.rest.model.CmHandleQueryParameters
+import org.onap.cps.ncmp.rest.model.ConditionProperties
import org.onap.cps.ncmp.rest.model.RestDmiPluginRegistration
import org.onap.cps.ncmp.rest.model.RestInputCmHandle
import org.onap.cps.ncmp.rest.model.RestModuleDefinition
import org.onap.cps.ncmp.rest.model.RestModuleReference
+import org.onap.cps.ncmp.api.models.CmHandleQueryServiceParameters
import org.onap.cps.spi.model.ModuleDefinition
import org.onap.cps.spi.model.ModuleReference
import spock.lang.Specification
def 'Convert a created REST CM Handle Input to an NCMP Service CM Handle with #scenario'() {
given: 'a rest cm handle input'
- def inputRestCmHandle = new RestInputCmHandle(cmHandle : 'example-id', cmHandleProperties: dmiProperties,
- publicCmHandleProperties: publicProperties)
+ def inputRestCmHandle = new RestInputCmHandle(cmHandle : 'example-id', cmHandleProperties: registrationDmiProperties,
+ publicCmHandleProperties: registrationPublicProperties, trustLevel: registrationTrustLevel, alternateId: 'my-alternate-id', moduleSetTag: 'my-module-set-tag')
def restDmiPluginRegistration = new RestDmiPluginRegistration(
createdCmHandles: [inputRestCmHandle])
when: 'to plugin dmi registration is called'
and: 'the converted cm handle has the same id'
result.createdCmHandles[0].cmHandleId == 'example-id'
and: '(empty) properties are converted correctly'
- result.createdCmHandles[0].dmiProperties == expectedDmiProperties
- result.createdCmHandles[0].publicProperties == expectedPublicProperties
+ result.createdCmHandles[0].dmiProperties == mappedDmiProperties
+ result.createdCmHandles[0].publicProperties == mappedPublicProperties
+ result.createdCmHandles[0].registrationTrustLevel == mappedTrustLevel
+ and: 'alternate ID and module set tag converted correctly'
+ result.createdCmHandles[0].alternateId == 'my-alternate-id'
+ result.createdCmHandles[0].moduleSetTag == 'my-module-set-tag'
where: 'the following parameters are used'
- scenario | dmiProperties | publicProperties || expectedDmiProperties | expectedPublicProperties
- 'dmi and public properties' | ['Property-Example': 'example property'] | ['Public-Property-Example': 'public example property'] || ['Property-Example': 'example property'] | ['Public-Property-Example': 'public example property']
- 'no properties' | null | null || [:] | [:]
+ scenario | registrationDmiProperties | registrationPublicProperties | registrationTrustLevel || mappedDmiProperties | mappedPublicProperties | mappedTrustLevel
+ 'dmi and public properties' | ['Property-Example': 'example property'] | ['Public-Property-Example': 'public example property'] | 'COMPLETE' || ['Property-Example': 'example property'] | ['Public-Property-Example': 'public example property'] | TrustLevel.COMPLETE
+ 'no properties' | null | null | null || [:] | [:] | null
}
def 'Handling empty dmi registration'() {
' content: content\n' +
'}'
}
+
+ def 'Convert a CmHandle REST query to CmHandle query service parameters.'() {
+ given: 'a CmHandle REST query with two conditions'
+ def conditionParameter1 = new ConditionProperties(conditionName: 'some condition', conditionParameters: [[p1:1]] )
+ def conditionParameter2 = new ConditionProperties(conditionName: 'other condition', conditionParameters: [[p2:2]] )
+ def cmHandleQuery = new CmHandleQueryParameters()
+ cmHandleQuery.cmHandleQueryParameters = [conditionParameter1, conditionParameter2]
+ when: 'it is converted into CmHandle query service parameters'
+ def result = objectUnderTest.toCmHandleQueryServiceParameters(cmHandleQuery)
+ then: 'the result is of the correct class'
+ assert result instanceof CmHandleQueryServiceParameters
+ and: 'the result has the same conditions'
+ assert result.cmHandleQueryParameters.size() == 2
+ assert result.cmHandleQueryParameters[0].conditionName == 'some condition'
+ assert result.cmHandleQueryParameters[0].conditionParameters == [[p1:1]]
+ assert result.cmHandleQueryParameters[1].conditionName == 'other condition'
+ assert result.cmHandleQueryParameters[1].conditionParameters == [[p2:2]]
+ }
}