2 * Copyright © 2019 IBM.
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.
17 package org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution
19 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintTypes
20 import kotlin.test.Test
21 import kotlin.test.assertEquals
22 import kotlin.test.assertNotNull
24 class ResourceDefinitionDSLTest {
27 fun testResourceDefinitionDSL() {
28 val testResourceDefinition = BluePrintTypes.resourceDefinition(
29 "service-instance-id",
30 "VFW Service Instance Name"
32 tags("service-instance-name, vfw, resources")
33 updatedBy("brindasanth@onap.com")
34 property("string", true)
36 sourceInput("input", "") {}
37 sourceDefault("default", "") {}
38 sourceDb("sdnctl", "") {
41 query("SELECT name FROM SERVICE_INSTANCE WHERE id = \$id")
42 endpointSelector("db-source-endpoint")
44 map("id", "\$service-instance-id")
47 map("service-instance-name", "\$name")
49 keyDependencies(arrayListOf("service-instance-id"))
52 sourceRest("odl-mdsal", "") {
55 endpointSelector("rest-source-endpoint")
56 expressionType("JSON_PATH")
57 urlPath("/service-instance/\$id")
60 payload("sample payload")
62 map("id", "\$service-instance-id")
65 map("service-instance-name", "\$name")
67 keyDependencies(arrayListOf("service-instance-id"))
70 sourceCapability("custom-component", "") {
73 scriptClassReference("Scripts/ServiceInstance.kt")
74 keyDependencies(arrayListOf("service-instance-id"))
79 // println(resourceDefinition.asJsonString(true))
80 assertNotNull(testResourceDefinition, "failed to generate testResourceDefinition")
82 val testResourceDefinitions = BluePrintTypes.resourceDefinitions {
83 resourceDefinition(testResourceDefinition)
85 assertNotNull(testResourceDefinitions, "failed to generate testResourceDefinitions")
86 assertEquals(1, testResourceDefinitions.size, "testResourceDefinitions size doesn't match")
90 fun testResourceAssignment() {
91 val testResourceAssignment = BluePrintTypes.resourceAssignment(
93 "service-instance-name", "odl-mdsal"
96 property("string", true)
97 dependencies(arrayListOf("service-instance-id"))
99 // println(resourceAssignment.asJsonString(true))
100 assertNotNull(testResourceAssignment, "failed to generate resourceAssignment")
102 val testResourceAssignments = BluePrintTypes.resourceAssignments {
103 resourceAssignment(testResourceAssignment)
106 "service-instance-name", "odl-mdsal"
109 property("string", true)
110 dependencies(arrayListOf("service-instance-id"))
113 // println(testResourceAssignments.asJsonString(true))
114 assertNotNull(testResourceAssignments, "failed to generate testResourceAssignments")
115 assertEquals(2, testResourceAssignments.size, "testResourceAssignments size doesn't match")