2 * Copyright © 2019 IBM, Bell Canada.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * 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 package org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.processor
18 import kotlinx.coroutines.runBlocking
20 import org.junit.runner.RunWith
21 import org.onap.ccsdk.cds.blueprintsprocessor.core.BluePrintPropertiesService
22 import org.onap.ccsdk.cds.blueprintsprocessor.core.BluePrintPropertyConfiguration
23 import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.ResourceAssignmentRuntimeService
24 import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.mock.MockBluePrintRestLibPropertyService
25 import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.mock.MockRestResourceResolutionProcessor
26 import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.utils.ResourceAssignmentUtils
27 import org.onap.ccsdk.cds.blueprintsprocessor.rest.RestClientProperties
28 import org.onap.ccsdk.cds.controllerblueprints.core.data.PropertyDefinition
29 import org.onap.ccsdk.cds.controllerblueprints.core.utils.BluePrintMetadataUtils
30 import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceAssignment
31 import org.springframework.beans.factory.annotation.Autowired
32 import org.springframework.test.context.ContextConfiguration
33 import org.springframework.test.context.TestPropertySource
34 import org.springframework.test.context.junit4.SpringRunner
35 import kotlin.test.BeforeTest
36 import kotlin.test.assertNotNull
38 @RunWith(SpringRunner::class)
39 @ContextConfiguration(
41 MockRestResourceResolutionProcessor::class, MockBluePrintRestLibPropertyService::class,
42 BluePrintPropertyConfiguration::class, BluePrintPropertiesService::class, RestClientProperties::class
45 @TestPropertySource(locations = ["classpath:application-test.properties"])
46 class RestResourceResolutionProcessorTest {
49 lateinit var bluePrintRestLibPropertyService: MockBluePrintRestLibPropertyService
51 private lateinit var restResourceResolutionProcessor: MockRestResourceResolutionProcessor
55 restResourceResolutionProcessor = MockRestResourceResolutionProcessor(bluePrintRestLibPropertyService)
59 fun `test rest resource resolution`() {
61 val bluePrintContext = BluePrintMetadataUtils.getBluePrintContext(
62 "./../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration"
65 val resourceAssignmentRuntimeService = ResourceAssignmentRuntimeService("1234", bluePrintContext)
67 restResourceResolutionProcessor.raRuntimeService = resourceAssignmentRuntimeService
68 restResourceResolutionProcessor.resourceDictionaries = ResourceAssignmentUtils
69 .resourceDefinitions(bluePrintContext.rootPath)
71 val scriptPropertyInstances: MutableMap<String, Any> = mutableMapOf()
72 scriptPropertyInstances["mock-service1"] = MockCapabilityService()
73 scriptPropertyInstances["mock-service2"] = MockCapabilityService()
75 restResourceResolutionProcessor.scriptPropertyInstances = scriptPropertyInstances
77 val resourceAssignment = ResourceAssignment().apply {
79 dictionaryName = "vnf_name"
80 dictionarySource = "sdnc"
81 property = PropertyDefinition().apply {
86 val processorName = restResourceResolutionProcessor.applyNB(resourceAssignment)
87 assertNotNull(processorName, "couldn't get Rest resource assignment processor name")
88 println(processorName)
93 fun `test rest aai get resource resolution`() {
95 val bluePrintContext = BluePrintMetadataUtils.getBluePrintContext(
96 "./../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration"
99 val resourceAssignmentRuntimeService = ResourceAssignmentRuntimeService("1234", bluePrintContext)
101 restResourceResolutionProcessor.raRuntimeService = resourceAssignmentRuntimeService
102 restResourceResolutionProcessor.resourceDictionaries = ResourceAssignmentUtils
103 .resourceDefinitions(bluePrintContext.rootPath)
105 val scriptPropertyInstances: MutableMap<String, Any> = mutableMapOf()
106 scriptPropertyInstances["mock-service1"] = MockCapabilityService()
107 scriptPropertyInstances["mock-service2"] = MockCapabilityService()
109 restResourceResolutionProcessor.scriptPropertyInstances = scriptPropertyInstances
111 val resourceAssignment = ResourceAssignment().apply {
113 dictionaryName = "aai-get-resource"
114 dictionarySource = "aai-data"
115 property = PropertyDefinition().apply {
120 val processorName = restResourceResolutionProcessor.applyNB(resourceAssignment)
121 assertNotNull(processorName, "couldn't get AAI Rest resource assignment processor name")
122 println(processorName)
127 fun `test rest aai put resource resolution`() {
129 val bluePrintContext = BluePrintMetadataUtils.getBluePrintContext(
130 "./../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration"
133 val resourceAssignmentRuntimeService = ResourceAssignmentRuntimeService("1234", bluePrintContext)
135 restResourceResolutionProcessor.raRuntimeService = resourceAssignmentRuntimeService
136 restResourceResolutionProcessor.resourceDictionaries = ResourceAssignmentUtils
137 .resourceDefinitions(bluePrintContext.rootPath)
139 val scriptPropertyInstances: MutableMap<String, Any> = mutableMapOf()
140 scriptPropertyInstances["mock-service1"] = MockCapabilityService()
141 scriptPropertyInstances["mock-service2"] = MockCapabilityService()
143 restResourceResolutionProcessor.scriptPropertyInstances = scriptPropertyInstances
145 val resourceAssignment = ResourceAssignment().apply {
147 dictionaryName = "aai-put-resource"
148 dictionarySource = "aai-data"
149 property = PropertyDefinition().apply {
154 val processorName = restResourceResolutionProcessor.applyNB(resourceAssignment)
155 assertNotNull(processorName, "couldn't get AAI Rest resource assignment processor name")
156 println(processorName)