05cd997850306886a95fad80066afb09675ce7c3
[ccsdk/cds.git] /
1 /*
2  * Copyright © 2019 IBM, Bell Canada.
3  *
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
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16 package org.onap.ccsdk.cds.blueprintsprocessor.services.workflow
17
18 import kotlinx.coroutines.runBlocking
19 import org.junit.Test
20 import org.junit.runner.RunWith
21 import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceInput
22 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants
23 import org.onap.ccsdk.cds.controllerblueprints.core.utils.BluePrintMetadataUtils
24 import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils
25 import org.springframework.beans.factory.annotation.Autowired
26 import org.springframework.test.context.ContextConfiguration
27 import org.springframework.test.context.junit4.SpringRunner
28 import kotlin.test.assertEquals
29 import kotlin.test.assertNotNull
30
31 @RunWith(SpringRunner::class)
32 @ContextConfiguration(classes = [WorkflowServiceConfiguration::class])
33
34 class NodeTemplateExecutionServiceTest {
35     @Autowired
36     lateinit var nodeTemplateExecutionService: NodeTemplateExecutionService
37
38     @Test
39     fun testExecuteNodeTemplate() {
40         runBlocking {
41             val bluePrintRuntimeService = BluePrintMetadataUtils.getBluePrintRuntime("1234",
42                     "./../../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration")
43
44             val executionServiceInput = JacksonUtils.readValueFromClassPathFile("execution-input/resource-assignment-input.json",
45                     ExecutionServiceInput::class.java)!!
46
47             // Assign Workflow inputs Mock
48             val input = executionServiceInput.payload.get("resource-assignment-request")
49             bluePrintRuntimeService.assignWorkflowInputs("resource-assignment", input)
50
51             val nodeTemplate = "resource-assignment"
52
53             val executionServiceOutput = nodeTemplateExecutionService
54                     .executeNodeTemplate(bluePrintRuntimeService, nodeTemplate, executionServiceInput)
55
56             assertNotNull(executionServiceOutput, "failed to get response")
57             assertEquals(BluePrintConstants.STATUS_SUCCESS, executionServiceOutput.status.message,
58                     "failed to get successful response")
59         }
60     }
61 }