Formatting Code base with ktlint
[ccsdk/cds.git] / ms / blueprintsprocessor / functions / restconf-executor / src / test / kotlin / org / onap / ccsdk / cds / blueprintsprocessor / functions / restconf / executor / ComponentRestconfExecutorTest.kt
index a651dad..7d81ef3 100644 (file)
 package org.onap.ccsdk.cds.blueprintsprocessor.functions.restconf.executor
 
 import com.fasterxml.jackson.databind.JsonNode
-import com.fasterxml.jackson.databind.node.ArrayNode
 import com.fasterxml.jackson.databind.node.ObjectNode
 import io.mockk.every
 import io.mockk.mockk
 import kotlinx.coroutines.runBlocking
 import org.junit.Test
-import org.junit.runner.RunWith
 import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ActionIdentifiers
 import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.CommonHeader
 import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceInput
 import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.StepData
+import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.ComponentFunctionScriptingService
+import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.ComponentScriptExecutor
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants
 import org.onap.ccsdk.cds.controllerblueprints.core.asJsonPrimitive
 import org.onap.ccsdk.cds.controllerblueprints.core.service.BluePrintContext
 import org.onap.ccsdk.cds.controllerblueprints.core.service.DefaultBluePrintRuntimeService
 import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils
-import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration
-import org.springframework.context.annotation.ComponentScan
-import org.springframework.test.annotation.DirtiesContext
-import org.springframework.test.context.TestPropertySource
-import org.springframework.test.context.junit4.SpringRunner
+import org.springframework.context.ApplicationContext
 import kotlin.test.assertNotNull
 
-@RunWith(SpringRunner::class)
-@EnableAutoConfiguration
-@ComponentScan(basePackages = ["org.onap.ccsdk.cds.blueprintsprocessor", "org.onap.ccsdk.cds.controllerblueprints"])
-@DirtiesContext
-@TestPropertySource(properties =
-["server.port=9111",
-    "blueprintsprocessor.restconfEnabled=true",
-    "blueprintsprocessor.restclient.odlPrimary.type=basic-auth",
-    "blueprintsprocessor.restclient.odlPrimary.url=http://127.0.0.1:9111",
-    "blueprintsprocessor.restclient.odlPrimary.userId=sampleuser",
-    "blueprintsprocessor.restclient.odlPrimary.token=sampletoken"],
-        locations = ["classpath:application-test.properties"])
 class ComponentRestconfExecutorTest {
 
-    @Autowired
-    lateinit var componentRestconfExecutor: ComponentRestconfExecutor
-
     @Test
     fun `test Restconf Component Instance`() {
         runBlocking {
-            assertNotNull(componentRestconfExecutor, "failed to get ComponentRestconfExecutor instance")
+
+            val applicationContext = mockk<ApplicationContext>()
+            every { applicationContext.getBean(any()) } returns mockk()
+            val componentFunctionScriptingService = ComponentFunctionScriptingService(applicationContext, mockk())
+            val componentScriptExecutor = ComponentScriptExecutor(componentFunctionScriptingService)
+
+            assertNotNull(componentScriptExecutor, "failed to get ComponentRestconfExecutor instance")
             val executionServiceInput = ExecutionServiceInput().apply {
                 commonHeader = CommonHeader().apply {
                     requestId = "1234"
@@ -72,17 +58,16 @@ class ComponentRestconfExecutorTest {
                 payload = JacksonUtils.jsonNode("{}") as ObjectNode
             }
             val bluePrintRuntime = mockk<DefaultBluePrintRuntimeService>("1234")
-            componentRestconfExecutor.bluePrintRuntimeService = bluePrintRuntime
-            componentRestconfExecutor.stepName = "sample-step"
+            componentScriptExecutor.bluePrintRuntimeService = bluePrintRuntime
+            componentScriptExecutor.stepName = "sample-step"
 
             val operationInputs = hashMapOf<String, JsonNode>()
             operationInputs[BluePrintConstants.PROPERTY_CURRENT_NODE_TEMPLATE] = "activate-restconf".asJsonPrimitive()
             operationInputs[BluePrintConstants.PROPERTY_CURRENT_INTERFACE] = "interfaceName".asJsonPrimitive()
             operationInputs[BluePrintConstants.PROPERTY_CURRENT_OPERATION] = "operationName".asJsonPrimitive()
-            operationInputs[ComponentRestconfExecutor.SCRIPT_TYPE] = BluePrintConstants.SCRIPT_INTERNAL.asJsonPrimitive()
-            operationInputs[ComponentRestconfExecutor.SCRIPT_CLASS_REFERENCE] =
-                    "InternalSimpleRestconf_cba\$TestRestconfConfigure".asJsonPrimitive()
-            operationInputs[ComponentRestconfExecutor.INSTANCE_DEPENDENCIES] = JacksonUtils.jsonNode("[]") as ArrayNode
+            operationInputs[ComponentScriptExecutor.INPUT_SCRIPT_TYPE] = BluePrintConstants.SCRIPT_INTERNAL.asJsonPrimitive()
+            operationInputs[ComponentScriptExecutor.INPUT_SCRIPT_CLASS_REFERENCE] =
+                "internal.scripts.TestRestconfConfigure".asJsonPrimitive()
 
             val stepInputData = StepData().apply {
                 name = "activate-restconf"
@@ -93,17 +78,21 @@ class ComponentRestconfExecutorTest {
             val blueprintContext = mockk<BluePrintContext>()
             every { bluePrintRuntime.bluePrintContext() } returns blueprintContext
             every {
-                bluePrintRuntime.resolveNodeTemplateInterfaceOperationInputs("activate-restconf",
-                        "interfaceName", "operationName")
+                bluePrintRuntime.resolveNodeTemplateInterfaceOperationInputs(
+                    "activate-restconf",
+                    "interfaceName", "operationName"
+                )
             } returns operationInputs
 
             val operationOutputs = hashMapOf<String, JsonNode>()
             every {
-                bluePrintRuntime.resolveNodeTemplateInterfaceOperationOutputs("activate-restconf",
-                        "interfaceName", "operationName")
+                bluePrintRuntime.resolveNodeTemplateInterfaceOperationOutputs(
+                    "activate-restconf",
+                    "interfaceName", "operationName"
+                )
             } returns operationOutputs
 
-            componentRestconfExecutor.applyNB(executionServiceInput)
+            componentScriptExecutor.applyNB(executionServiceInput)
         }
     }
-}
\ No newline at end of file
+}