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("service-instance-id",
29 "VFW Service Instance Name") {
30 tags("service-instance-name, vfw, resources")
31 updatedBy("brindasanth@onap.com")
32 property("string", true)
34 sourceInput("input", "") {}
35 sourceDefault("default", "") {}
36 sourceDb("sdnctl", "") {
39 query("SELECT name FROM SERVICE_INSTANCE WHERE id = \$id")
40 endpointSelector("db-source-endpoint")
42 map("id", "\$service-instance-id")
45 map("service-instance-name", "\$name")
47 keyDependencies(arrayListOf("service-instance-id"))
50 sourceRest("odl-mdsal", "") {
53 endpointSelector("rest-source-endpoint")
54 expressionType("JSON_PATH")
55 urlPath("/service-instance/\$id")
58 payload("sample payload")
60 map("id", "\$service-instance-id")
63 map("service-instance-name", "\$name")
65 keyDependencies(arrayListOf("service-instance-id"))
68 sourceCapability("custom-component", "") {
71 scriptClassReference("Scripts/ServiceInstance.kt")
72 keyDependencies(arrayListOf("service-instance-id"))
77 //println(resourceDefinition.asJsonString(true))
78 assertNotNull(testResourceDefinition, "failed to generate testResourceDefinition")
80 val testResourceDefinitions = BluePrintTypes.resourceDefinitions {
81 resourceDefinition(testResourceDefinition)
83 assertNotNull(testResourceDefinitions, "failed to generate testResourceDefinitions")
84 assertEquals(1, testResourceDefinitions.size, "testResourceDefinitions size doesn't match")
88 fun testResourceAssignment() {
89 val testResourceAssignment = BluePrintTypes.resourceAssignment("instance-name",
90 "service-instance-name", "odl-mdsal") {
92 property("string", true)
93 dependencies(arrayListOf("service-instance-id"))
95 //println(resourceAssignment.asJsonString(true))
96 assertNotNull(testResourceAssignment, "failed to generate resourceAssignment")
98 val testResourceAssignments = BluePrintTypes.resourceAssignments {
99 resourceAssignment(testResourceAssignment)
100 resourceAssignment("instance-name1",
101 "service-instance-name", "odl-mdsal") {
103 property("string", true)
104 dependencies(arrayListOf("service-instance-id"))
107 //println(testResourceAssignments.asJsonString(true))
108 assertNotNull(testResourceAssignments, "failed to generate testResourceAssignments")
109 assertEquals(2, testResourceAssignments.size, "testResourceAssignments size doesn't match")