Metadata for name, version, tags and type 39/99539/1
authorBrinda Santh <bs2796@att.com>
Wed, 11 Dec 2019 23:32:24 +0000 (18:32 -0500)
committerBrinda Santh <bs2796@att.com>
Wed, 11 Dec 2019 23:32:24 +0000 (18:32 -0500)
Mandate Tosca.meta template name, version, type and tags.

Auto copy metadata from Tosca.meta to ServiceTemplate definitions.

Optimize Blueprint context and runtime creation from file path.

Removed attached CBA zip file in test repository dirs

Issue-ID: CCSDK-1992
Signed-off-by: Brinda Santh <bs2796@att.com>
Change-Id: I5d9d7a4599234a38d431328dbd9b74bd831e0115

30 files changed:
components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/TOSCA-Metadata/TOSCA.meta
components/model-catalog/blueprint-model/test-blueprint/capability_cli/TOSCA-Metadata/TOSCA.meta
components/model-catalog/blueprint-model/test-blueprint/resource-audit/TOSCA-Metadata/TOSCA.meta
components/model-catalog/blueprint-model/uat-blueprints/echo/TOSCA-Metadata/TOSCA.meta
ms/blueprintsprocessor/functions/ansible-awx-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/ansible/executor/ComponentRemoteAnsibleExecutorTest.kt
ms/blueprintsprocessor/functions/config-snapshots/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/config/snapshots/ComponentConfigSnapshotsExecutorTest.kt
ms/blueprintsprocessor/functions/python-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutorTest.kt
ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockDatabaseConfiguration.kt
ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/utils/ResourceAssignmentUtilsTest.kt
ms/blueprintsprocessor/modules/blueprints/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/BluePrintConstants.kt
ms/blueprintsprocessor/modules/blueprints/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/data/BluePrintModel.kt
ms/blueprintsprocessor/modules/blueprints/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/interfaces/BlueprintValidator.kt
ms/blueprintsprocessor/modules/blueprints/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/utils/BluePrintFileUtils.kt
ms/blueprintsprocessor/modules/blueprints/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/utils/BluePrintMetadataUtils.kt
ms/blueprintsprocessor/modules/blueprints/blueprint-core/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/service/BluePrintContextTest.kt
ms/blueprintsprocessor/modules/blueprints/blueprint-core/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/service/BluePrintRuntimeServiceTest.kt
ms/blueprintsprocessor/modules/blueprints/blueprint-core/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/service/BluePrintTemplateServiceTest.kt
ms/blueprintsprocessor/modules/blueprints/blueprint-core/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/utils/BluePrintMetadataUtilsTest.kt
ms/blueprintsprocessor/modules/blueprints/blueprint-core/src/test/resources/compile/TOSCA-Metadata/TOSCA.meta
ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BluePrintDesignTimeValidatorService.kt
ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BluePrintDesignTimeValidatorServiceTest.kt
ms/blueprintsprocessor/modules/commons/db-lib/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/BlueprintProcessorCatalogServiceImplTest.kt
ms/blueprintsprocessor/modules/commons/db-lib/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/mock/MockBlueprintProcessorCatalogServiceImpl.kt
ms/blueprintsprocessor/modules/commons/db-lib/src/test/resources/test-cba.zip [deleted file]
ms/blueprintsprocessor/modules/inbounds/designer-api/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/designer/api/BluePrintManagementGRPCHandlerTest.kt
ms/blueprintsprocessor/modules/inbounds/designer-api/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/designer/api/enhancer/BluePrintEnhancerServiceImplTest.kt
ms/blueprintsprocessor/modules/inbounds/designer-api/src/test/resources/test-cba.zip [deleted file]
ms/blueprintsprocessor/modules/inbounds/selfservice-api/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/selfservice/api/ExecutionServiceControllerTest.kt
ms/blueprintsprocessor/modules/inbounds/selfservice-api/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/selfservice/api/validation/BluePrintRuntimeValidatorServiceTest.kt
ms/blueprintsprocessor/modules/inbounds/selfservice-api/src/test/resources/test-cba.zip [deleted file]

index 854c20b..7d3d919 100644 (file)
@@ -2,7 +2,8 @@ TOSCA-Meta-File-Version: 1.0.0
 CSAR-Version: 1.0
 Created-By: Brinda Santh <brindasanth@in.ibm.com>
 Entry-Definitions: Definitions/activation-blueprint.json
 CSAR-Version: 1.0
 Created-By: Brinda Santh <brindasanth@in.ibm.com>
 Entry-Definitions: Definitions/activation-blueprint.json
-Template-Tags: Brinda Santh, activation-blueprint
 Template-Name: baseconfiguration
 Template-Version: 1.0.0
 Template-Name: baseconfiguration
 Template-Version: 1.0.0
+Template-Type: DEFAULT
+Template-Tags: Brinda Santh, activation-blueprint
 
 
index 6c4bb36..178034b 100644 (file)
@@ -4,4 +4,5 @@ Created-By: Brinda Santh
 Entry-Definitions: Definitions/capability-cli-blueprint.json
 Template-Name: capability-cli
 Template-Version: 1.0.0
 Entry-Definitions: Definitions/capability-cli-blueprint.json
 Template-Name: capability-cli
 Template-Version: 1.0.0
+Template-Type: DEFAULT
 Template-Tags: capability-cli-blueprint
 Template-Tags: capability-cli-blueprint
index d2f533c..ed032d5 100644 (file)
@@ -4,4 +4,5 @@ Created-By: Brinda Santh
 Entry-Definitions: cba.resource.audit.ResourceAuditDefinitions.kt
 Template-Name: resource-audit
 Template-Version: 1.0.0
 Entry-Definitions: cba.resource.audit.ResourceAuditDefinitions.kt
 Template-Name: resource-audit
 Template-Version: 1.0.0
+Template-Type: KOTLIN_DSL
 Template-Tags: resource-audit
\ No newline at end of file
 Template-Tags: resource-audit
\ No newline at end of file
index 83fffa4..fe425c1 100644 (file)
@@ -2,6 +2,6 @@ TOSCA-Meta-File-Version: 1.0.0
 CSAR-Version: 1.0
 Created-By: Rodrigo Ottero
 Entry-Definitions: Definitions/echo-test.json
 CSAR-Version: 1.0
 Created-By: Rodrigo Ottero
 Entry-Definitions: Definitions/echo-test.json
-Template-Name: echo-test
+Template-Name: echo_test
 Template-Version: 1.0.0
 Template-Tags: echo-test
 Template-Version: 1.0.0
 Template-Tags: echo-test
index 262563d..db71283 100644 (file)
@@ -194,7 +194,7 @@ class ComponentRemoteAnsibleExecutorTest {
         awxRemoteExecutor: ComponentRemoteAnsibleExecutor,
         executionServiceInput: ExecutionServiceInput
     ): BluePrintRuntimeService<MutableMap<String, JsonNode>> {
         awxRemoteExecutor: ComponentRemoteAnsibleExecutor,
         executionServiceInput: ExecutionServiceInput
     ): BluePrintRuntimeService<MutableMap<String, JsonNode>> {
-        val bluePrintRuntimeService = BluePrintMetadataUtils.getBluePrintRuntime(
+        val bluePrintRuntimeService = BluePrintMetadataUtils.bluePrintRuntime(
             "123456-1000",
             "./../../../../components/model-catalog/blueprint-model/test-blueprint/remote_ansible"
         )
             "123456-1000",
             "./../../../../components/model-catalog/blueprint-model/test-blueprint/remote_ansible"
         )
index 450da1c..c6166eb 100644 (file)
@@ -55,7 +55,7 @@ class ComponentConfigSnapshotsExecutorTest {
     @Autowired
     lateinit var cfgSnapshotService: ResourceConfigSnapshotService
     lateinit var cfgSnapshotComponent: ComponentConfigSnapshotsExecutor
     @Autowired
     lateinit var cfgSnapshotService: ResourceConfigSnapshotService
     lateinit var cfgSnapshotComponent: ComponentConfigSnapshotsExecutor
-    private var bluePrintRuntimeService = BluePrintMetadataUtils.getBluePrintRuntime(
+    private var bluePrintRuntimeService = BluePrintMetadataUtils.bluePrintRuntime(
         "123456-1000",
         "./../../../../components/model-catalog/blueprint-model/test-blueprint/remote_scripts"
     )
         "123456-1000",
         "./../../../../components/model-catalog/blueprint-model/test-blueprint/remote_scripts"
     )
index 847b080..3d58afa 100644 (file)
@@ -102,7 +102,7 @@ class ComponentRemotePythonExecutorTest {
      * Mocked input information for remote python executor.
      */
     fun getMockedOutput(svc: DefaultBluePrintRuntimeService):
      * Mocked input information for remote python executor.
      */
     fun getMockedOutput(svc: DefaultBluePrintRuntimeService):
-            ExecutionServiceInput {
+        ExecutionServiceInput {
         val stepMetaData: MutableMap<String, JsonNode> = hashMapOf()
 
         stepMetaData.putJsonElement(
         val stepMetaData: MutableMap<String, JsonNode> = hashMapOf()
 
         stepMetaData.putJsonElement(
@@ -165,13 +165,12 @@ class ComponentRemotePythonExecutorTest {
                 "ComponentRemotePythonExecutor", "process"
             )
         } returns operationOutputs
                 "ComponentRemotePythonExecutor", "process"
             )
         } returns operationOutputs
-        val bluePrintRuntimeService = BluePrintMetadataUtils
-            .getBluePrintRuntime(
-                "123456-1000",
-                "./../../../../components/model-" +
-                        "catalog/blueprint-model/test-blueprint/" +
-                        "remote_scripts"
-            )
+        val bluePrintRuntimeService = BluePrintMetadataUtils.bluePrintRuntime(
+            "123456-1000",
+            "./../../../../components/model-" +
+                "catalog/blueprint-model/test-blueprint/" +
+                "remote_scripts"
+        )
         every {
             svc.resolveNodeTemplateArtifactDefinition(
                 "execute-remote-python", "component-script"
         every {
             svc.resolveNodeTemplateArtifactDefinition(
                 "execute-remote-python", "component-script"
index 774c402..2219f23 100644 (file)
@@ -15,7 +15,7 @@
  */
 package org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.mock
 
  */
 package org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.mock
 
-import io.mockk.every
+import io.mockk.coEvery
 import io.mockk.mockk
 import org.onap.ccsdk.cds.blueprintsprocessor.db.BluePrintDBLibGenericService
 import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BluePrintValidatorService
 import io.mockk.mockk
 import org.onap.ccsdk.cds.blueprintsprocessor.db.BluePrintDBLibGenericService
 import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BluePrintValidatorService
@@ -38,8 +38,8 @@ open class MockBlueprintProcessorCatalogServiceImpl {
     @Bean(name = ["bluePrintRuntimeValidatorService"])
     open fun bluePrintRuntimeValidatorService(): BluePrintValidatorService {
         val bluePrintValidatorService = mockk<BluePrintValidatorService>()
     @Bean(name = ["bluePrintRuntimeValidatorService"])
     open fun bluePrintRuntimeValidatorService(): BluePrintValidatorService {
         val bluePrintValidatorService = mockk<BluePrintValidatorService>()
-        every { bluePrintValidatorService.validateBluePrints(any<String>()) } returns true
-        every { bluePrintValidatorService.validateBluePrints(any<BluePrintRuntimeService<*>>()) } returns true
+        coEvery { bluePrintValidatorService.validateBluePrints(any<String>()) } returns true
+        coEvery { bluePrintValidatorService.validateBluePrints(any<BluePrintRuntimeService<*>>()) } returns true
         return bluePrintValidatorService
     }
 }
         return bluePrintValidatorService
     }
 }
index c564d33..a358f6a 100644 (file)
@@ -25,6 +25,7 @@ import com.fasterxml.jackson.databind.JsonNode
 import com.fasterxml.jackson.databind.node.TextNode
 import io.mockk.every
 import io.mockk.spyk
 import com.fasterxml.jackson.databind.node.TextNode
 import io.mockk.every
 import io.mockk.spyk
+import kotlinx.coroutines.runBlocking
 import org.junit.Before
 import org.junit.Test
 import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.ResourceAssignmentRuntimeService
 import org.junit.Before
 import org.junit.Test
 import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.ResourceAssignmentRuntimeService
@@ -63,9 +64,11 @@ class ResourceAssignmentUtilsTest {
     @Before
     fun setup() {
 
     @Before
     fun setup() {
 
-        val bluePrintContext = BluePrintMetadataUtils.getBluePrintContext(
-            "./../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration"
-        )
+        val bluePrintContext = runBlocking {
+            BluePrintMetadataUtils.getBluePrintContext(
+                "./../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration"
+            )
+        }
 
         resourceAssignmentRuntimeService = spyk(ResourceAssignmentRuntimeService("1234", bluePrintContext))
 
 
         resourceAssignmentRuntimeService = spyk(ResourceAssignmentRuntimeService("1234", bluePrintContext))
 
@@ -94,11 +97,11 @@ class ResourceAssignmentUtilsTest {
             id = "ipAddress"
         }
 
             id = "ipAddress"
         }
 
-        var mapOfPropertiesIpAddress = mutableMapOf<String, PropertyDefinition>()
+        val mapOfPropertiesIpAddress = mutableMapOf<String, PropertyDefinition>()
         mapOfPropertiesIpAddress["port"] = propertiesDefinition1
         mapOfPropertiesIpAddress["ip"] = propertiesDefinition2
 
         mapOfPropertiesIpAddress["port"] = propertiesDefinition1
         mapOfPropertiesIpAddress["ip"] = propertiesDefinition2
 
-        var mapOfPropertiesHost = mutableMapOf<String, PropertyDefinition>()
+        val mapOfPropertiesHost = mutableMapOf<String, PropertyDefinition>()
         mapOfPropertiesHost["name"] = propertiesDefinition3
         mapOfPropertiesHost["ipAddress"] = propertiesDefinition4
 
         mapOfPropertiesHost["name"] = propertiesDefinition3
         mapOfPropertiesHost["ipAddress"] = propertiesDefinition4
 
index 3016228..fcc921c 100644 (file)
@@ -59,6 +59,10 @@ object BluePrintConstants {
     const val DATA_TYPE_MAP: String = "map"
     const val DATA_TYPE_JSON: String = "json"
 
     const val DATA_TYPE_MAP: String = "map"
     const val DATA_TYPE_JSON: String = "json"
 
+    const val BLUEPRINT_TYPE_DEFAULT = "DEFAULT"
+    const val BLUEPRINT_TYPE_KOTLIN_DSL = "KOTLIN_DSL"
+    const val BLUEPRINT_TYPE_GENERIC_SCRIPT = "GENERIC_SCRIPT"
+
     const val SCRIPT_KOTLIN = "kotlin"
     const val SCRIPT_JYTHON = "jython"
     const val SCRIPT_INTERNAL = "internal"
     const val SCRIPT_KOTLIN = "kotlin"
     const val SCRIPT_JYTHON = "jython"
     const val SCRIPT_INTERNAL = "internal"
@@ -183,6 +187,7 @@ object BluePrintConstants {
 
     const val METADATA_TEMPLATE_NAME = "template_name"
     const val METADATA_TEMPLATE_VERSION = "template_version"
 
     const val METADATA_TEMPLATE_NAME = "template_name"
     const val METADATA_TEMPLATE_VERSION = "template_version"
+    const val METADATA_TEMPLATE_TYPE = "template_type"
     const val METADATA_TEMPLATE_AUTHOR = "template_author"
     const val METADATA_TEMPLATE_TAGS = "template_tags"
     const val METADATA_WORKFLOW_NAME = "workflow_name"
     const val METADATA_TEMPLATE_AUTHOR = "template_author"
     const val METADATA_TEMPLATE_TAGS = "template_tags"
     const val METADATA_WORKFLOW_NAME = "workflow_name"
index 71a31dc..67a0623 100644 (file)
@@ -646,7 +646,8 @@ class ToscaMetaData {
     lateinit var csarVersion: String
     lateinit var createdBy: String
     lateinit var entityDefinitions: String
     lateinit var csarVersion: String
     lateinit var createdBy: String
     lateinit var entityDefinitions: String
-    var templateName: String? = null
-    var templateVersion: String? = null
-    var templateTags: String? = null
+    lateinit var templateName: String
+    lateinit var templateVersion: String
+    lateinit var templateTags: String
+    var templateType: String = BluePrintConstants.BLUEPRINT_TYPE_DEFAULT
 }
 }
index c6339f4..0d9876b 100644 (file)
@@ -61,10 +61,10 @@ interface BluePrintAttributeDefinitionValidator : BluePrintValidator<AttributeDe
 interface BluePrintValidatorService {
 
     @Throws(BluePrintException::class)
 interface BluePrintValidatorService {
 
     @Throws(BluePrintException::class)
-    fun validateBluePrints(basePath: String): Boolean
+    suspend fun validateBluePrints(basePath: String): Boolean
 
     @Throws(BluePrintException::class)
 
     @Throws(BluePrintException::class)
-    fun validateBluePrints(bluePrintRuntimeService: BluePrintRuntimeService<*>): Boolean
+    suspend fun validateBluePrints(bluePrintRuntimeService: BluePrintRuntimeService<*>): Boolean
 }
 
 interface BluePrintTypeValidatorService {
 }
 
 interface BluePrintTypeValidatorService {
index 9e10473..60d26a7 100755 (executable)
@@ -232,7 +232,8 @@ class BluePrintFileUtils {
                     "\nCreated-By: <AUTHOR NAME>" +
                     "\nEntry-Definitions: Definitions/<BLUEPRINT_NAME>.json" +
                     "\nTemplate-Name: <BLUEPRINT_NAME>" +
                     "\nCreated-By: <AUTHOR NAME>" +
                     "\nEntry-Definitions: Definitions/<BLUEPRINT_NAME>.json" +
                     "\nTemplate-Name: <BLUEPRINT_NAME>" +
-                    "\nTemplate-Tags: <BLUEPRINT_VERSION>" +
+                    "\nTemplate-Version: <BLUEPRINT_VERSION>" +
+                    "\nTemplate-Type: <BLUEPRINT_TYPE>" +
                     "\nTemplate-Tags: <TAGS>"
         }
 
                     "\nTemplate-Tags: <TAGS>"
         }
 
index 4d7647f..64be589 100644 (file)
@@ -20,8 +20,10 @@ package org.onap.ccsdk.cds.controllerblueprints.core.utils
 import com.fasterxml.jackson.databind.JsonNode
 import kotlinx.coroutines.runBlocking
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants
 import com.fasterxml.jackson.databind.JsonNode
 import kotlinx.coroutines.runBlocking
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants
+import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintException
 import org.onap.ccsdk.cds.controllerblueprints.core.asJsonPrimitive
 import org.onap.ccsdk.cds.controllerblueprints.core.checkNotEmpty
 import org.onap.ccsdk.cds.controllerblueprints.core.asJsonPrimitive
 import org.onap.ccsdk.cds.controllerblueprints.core.checkNotEmpty
+import org.onap.ccsdk.cds.controllerblueprints.core.data.ServiceTemplate
 import org.onap.ccsdk.cds.controllerblueprints.core.data.ToscaMetaData
 import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BluePrintDefinitions
 import org.onap.ccsdk.cds.controllerblueprints.core.normalizedFile
 import org.onap.ccsdk.cds.controllerblueprints.core.data.ToscaMetaData
 import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BluePrintDefinitions
 import org.onap.ccsdk.cds.controllerblueprints.core.normalizedFile
@@ -91,6 +93,7 @@ class BluePrintMetadataUtils {
                             "Template-Name" -> toscaMetaData.templateName = value
                             "Template-Version" -> toscaMetaData.templateVersion = value
                             "Template-Tags" -> toscaMetaData.templateTags = value
                             "Template-Name" -> toscaMetaData.templateName = value
                             "Template-Version" -> toscaMetaData.templateVersion = value
                             "Template-Tags" -> toscaMetaData.templateTags = value
+                            "Template-Type" -> toscaMetaData.templateType = value
                         }
                     }
                 }
                         }
                     }
                 }
@@ -98,37 +101,58 @@ class BluePrintMetadataUtils {
             return toscaMetaData
         }
 
             return toscaMetaData
         }
 
-        fun getBluePrintRuntime(id: String, blueprintBasePath: String):
-                BluePrintRuntimeService<MutableMap<String, JsonNode>> {
+        /** Get the default blueprint runtime for [id] and [blueprintBasePath] */
+        suspend fun getBluePrintRuntime(id: String, blueprintBasePath: String):
+            BluePrintRuntimeService<MutableMap<String, JsonNode>> {
             val bluePrintContext: BluePrintContext = getBluePrintContext(blueprintBasePath)
             return getBluePrintRuntime(id, bluePrintContext)
         }
 
             val bluePrintContext: BluePrintContext = getBluePrintContext(blueprintBasePath)
             return getBluePrintRuntime(id, bluePrintContext)
         }
 
+        /** Get the default blocking blueprint runtime api for [id] and [blueprintBasePath] used in testing */
+        fun bluePrintRuntime(id: String, blueprintBasePath: String):
+            BluePrintRuntimeService<MutableMap<String, JsonNode>> = runBlocking {
+            val bluePrintContext: BluePrintContext = getBluePrintContext(blueprintBasePath)
+            getBluePrintRuntime(id, bluePrintContext)
+        }
+
+        /** Get the default blueprint runtime from [bluePrintContext] */
         fun getBluePrintRuntime(id: String, bluePrintContext: BluePrintContext):
         fun getBluePrintRuntime(id: String, bluePrintContext: BluePrintContext):
-                BluePrintRuntimeService<MutableMap<String, JsonNode>> {
+            BluePrintRuntimeService<MutableMap<String, JsonNode>> {
             checkNotEmpty(bluePrintContext.rootPath) { "blueprint context root path is missing." }
             checkNotEmpty(bluePrintContext.entryDefinition) { "blueprint context entry definition is missing." }
             val blueprintBasePath = bluePrintContext.rootPath
             val bluePrintRuntimeService = DefaultBluePrintRuntimeService(id, bluePrintContext)
             checkNotEmpty(bluePrintContext.rootPath) { "blueprint context root path is missing." }
             checkNotEmpty(bluePrintContext.entryDefinition) { "blueprint context entry definition is missing." }
             val blueprintBasePath = bluePrintContext.rootPath
             val bluePrintRuntimeService = DefaultBluePrintRuntimeService(id, bluePrintContext)
-            bluePrintRuntimeService.put(BluePrintConstants.PROPERTY_BLUEPRINT_BASE_PATH, blueprintBasePath.asJsonPrimitive())
+            bluePrintRuntimeService.put(
+                BluePrintConstants.PROPERTY_BLUEPRINT_BASE_PATH,
+                blueprintBasePath.asJsonPrimitive()
+            )
             bluePrintRuntimeService.put(BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID, id.asJsonPrimitive())
             return bluePrintRuntimeService
         }
 
             bluePrintRuntimeService.put(BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID, id.asJsonPrimitive())
             return bluePrintRuntimeService
         }
 
+        /** Get the blueprint runtime for enhancement start for [id] and [blueprintBasePath] */
         suspend fun getBaseEnhancementBluePrintRuntime(id: String, blueprintBasePath: String):
         suspend fun getBaseEnhancementBluePrintRuntime(id: String, blueprintBasePath: String):
-                BluePrintRuntimeService<MutableMap<String, JsonNode>> {
+            BluePrintRuntimeService<MutableMap<String, JsonNode>> {
 
             val bluePrintContext: BluePrintContext = getBaseEnhancementBluePrintContext(blueprintBasePath)
 
             val bluePrintRuntimeService = DefaultBluePrintRuntimeService(id, bluePrintContext)
 
             val bluePrintContext: BluePrintContext = getBaseEnhancementBluePrintContext(blueprintBasePath)
 
             val bluePrintRuntimeService = DefaultBluePrintRuntimeService(id, bluePrintContext)
-            bluePrintRuntimeService.put(BluePrintConstants.PROPERTY_BLUEPRINT_BASE_PATH, blueprintBasePath.asJsonPrimitive())
+            bluePrintRuntimeService.put(
+                BluePrintConstants.PROPERTY_BLUEPRINT_BASE_PATH,
+                blueprintBasePath.asJsonPrimitive()
+            )
             bluePrintRuntimeService.put(BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID, id.asJsonPrimitive())
 
             return bluePrintRuntimeService
         }
 
             bluePrintRuntimeService.put(BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID, id.asJsonPrimitive())
 
             return bluePrintRuntimeService
         }
 
-        fun getBluePrintRuntime(id: String, blueprintBasePath: String, executionContext: MutableMap<String, JsonNode>):
-                BluePrintRuntimeService<MutableMap<String, JsonNode>> {
+        /** Get the default blueprint runtime for enhancement start for [id],  [blueprintBasePath] and [executionContext] */
+        suspend fun getBluePrintRuntime(
+            id: String,
+            blueprintBasePath: String,
+            executionContext: MutableMap<String, JsonNode>
+        ):
+            BluePrintRuntimeService<MutableMap<String, JsonNode>> {
             val bluePrintContext: BluePrintContext = getBluePrintContext(blueprintBasePath)
             val bluePrintRuntimeService = DefaultBluePrintRuntimeService(id, bluePrintContext)
             executionContext.forEach {
             val bluePrintContext: BluePrintContext = getBluePrintContext(blueprintBasePath)
             val bluePrintRuntimeService = DefaultBluePrintRuntimeService(id, bluePrintContext)
             executionContext.forEach {
@@ -139,27 +163,55 @@ class BluePrintMetadataUtils {
             return bluePrintRuntimeService
         }
 
             return bluePrintRuntimeService
         }
 
-        fun getBluePrintContext(blueprintBasePath: String): BluePrintContext = runBlocking {
+        /** Get the default blueprint context for [blueprintBasePath]*/
+        suspend fun getBluePrintContext(blueprintBasePath: String): BluePrintContext {
 
             val toscaMetaData: ToscaMetaData = toscaMetaData(blueprintBasePath)
 
 
             val toscaMetaData: ToscaMetaData = toscaMetaData(blueprintBasePath)
 
-            log.info("Reading blueprint path($blueprintBasePath) and entry definition file (${toscaMetaData.entityDefinitions})")
+            log.info(
+                "Reading blueprint type(${toscaMetaData.templateType}) path($blueprintBasePath) " +
+                    "and entry definition file (${toscaMetaData.entityDefinitions})"
+            )
 
             // If the EntryDefinition is Kotlin file, compile and get Service Template
 
             // If the EntryDefinition is Kotlin file, compile and get Service Template
-            if (toscaMetaData.entityDefinitions.endsWith("kt")) {
-                readBlueprintKotlinFile(toscaMetaData, blueprintBasePath)
-            } else {
-                readBlueprintFile(toscaMetaData.entityDefinitions, blueprintBasePath)
+            val bluePrintContext = when (toscaMetaData.templateType.toUpperCase()) {
+                BluePrintConstants.BLUEPRINT_TYPE_KOTLIN_DSL -> readBlueprintKotlinFile(
+                    toscaMetaData,
+                    blueprintBasePath
+                )
+                BluePrintConstants.BLUEPRINT_TYPE_GENERIC_SCRIPT -> readBlueprintGenericScript(
+                    toscaMetaData,
+                    blueprintBasePath
+                )
+                BluePrintConstants.BLUEPRINT_TYPE_DEFAULT -> readBlueprintFile(
+                    toscaMetaData.entityDefinitions,
+                    blueprintBasePath
+                )
+                else ->
+                    throw BluePrintException(
+                        "Unknown blueprint type(${toscaMetaData.templateType}), " +
+                            "It should be any one of these types[${BluePrintConstants.BLUEPRINT_TYPE_KOTLIN_DSL}," +
+                            "${BluePrintConstants.BLUEPRINT_TYPE_GENERIC_SCRIPT}, " +
+                            "${BluePrintConstants.BLUEPRINT_TYPE_DEFAULT}]"
+                    )
             }
             }
+            // Copy the metadata info
+            copyMetaInfoToServiceTemplate(toscaMetaData, bluePrintContext.serviceTemplate)
+
+            return bluePrintContext
         }
 
         private suspend fun getBaseEnhancementBluePrintContext(blueprintBasePath: String): BluePrintContext {
             val toscaMetaData: ToscaMetaData = toscaMetaData(blueprintBasePath)
         }
 
         private suspend fun getBaseEnhancementBluePrintContext(blueprintBasePath: String): BluePrintContext {
             val toscaMetaData: ToscaMetaData = toscaMetaData(blueprintBasePath)
+
             // Clean Type files
             BluePrintFileUtils.deleteBluePrintTypes(blueprintBasePath)
             val rootFilePath: String = blueprintBasePath.plus(File.separator).plus(toscaMetaData.entityDefinitions)
             val rootServiceTemplate = ServiceTemplateUtils.getServiceTemplate(rootFilePath)
 
             // Clean Type files
             BluePrintFileUtils.deleteBluePrintTypes(blueprintBasePath)
             val rootFilePath: String = blueprintBasePath.plus(File.separator).plus(toscaMetaData.entityDefinitions)
             val rootServiceTemplate = ServiceTemplateUtils.getServiceTemplate(rootFilePath)
 
+            // Copy the metadata info
+            copyMetaInfoToServiceTemplate(toscaMetaData, rootServiceTemplate)
+
             // Clean the Import Definitions
             BluePrintFileUtils.cleanImportTypes(rootServiceTemplate)
 
             // Clean the Import Definitions
             BluePrintFileUtils.cleanImportTypes(rootServiceTemplate)
 
@@ -169,10 +221,22 @@ class BluePrintMetadataUtils {
             return blueprintContext
         }
 
             return blueprintContext
         }
 
+        /** copy metadata defined in [toscaMetaData] to [serviceTemplate] */
+        private fun copyMetaInfoToServiceTemplate(toscaMetaData: ToscaMetaData, serviceTemplate: ServiceTemplate) {
+            if (serviceTemplate.metadata == null) serviceTemplate.metadata = mutableMapOf()
+            val metadata = serviceTemplate.metadata!!
+            metadata[BluePrintConstants.METADATA_TEMPLATE_AUTHOR] = toscaMetaData.createdBy
+            metadata[BluePrintConstants.METADATA_TEMPLATE_NAME] = toscaMetaData.templateName
+            metadata[BluePrintConstants.METADATA_TEMPLATE_VERSION] = toscaMetaData.templateVersion
+            metadata[BluePrintConstants.METADATA_TEMPLATE_TAGS] = toscaMetaData.templateTags
+            metadata[BluePrintConstants.METADATA_TEMPLATE_TYPE] = toscaMetaData.templateType
+        }
+
         private suspend fun readBlueprintFile(entityDefinitions: String, basePath: String): BluePrintContext {
             val normalizedBasePath = normalizedPathName(basePath)
             val rootFilePath = normalizedPathName(normalizedBasePath, entityDefinitions)
             val rootServiceTemplate = ServiceTemplateUtils.getServiceTemplate(rootFilePath)
         private suspend fun readBlueprintFile(entityDefinitions: String, basePath: String): BluePrintContext {
             val normalizedBasePath = normalizedPathName(basePath)
             val rootFilePath = normalizedPathName(normalizedBasePath, entityDefinitions)
             val rootServiceTemplate = ServiceTemplateUtils.getServiceTemplate(rootFilePath)
+
             // Recursively Import Template files
             val schemaImportResolverUtils = BluePrintImportService(rootServiceTemplate, normalizedBasePath)
             val completeServiceTemplate = schemaImportResolverUtils.getImportResolvedServiceTemplate()
             // Recursively Import Template files
             val schemaImportResolverUtils = BluePrintImportService(rootServiceTemplate, normalizedBasePath)
             val completeServiceTemplate = schemaImportResolverUtils.getImportResolvedServiceTemplate()
@@ -185,17 +249,14 @@ class BluePrintMetadataUtils {
         /** Reade the Service Template Definitions from the Kotlin file */
         private suspend fun readBlueprintKotlinFile(toscaMetaData: ToscaMetaData, basePath: String): BluePrintContext {
 
         /** Reade the Service Template Definitions from the Kotlin file */
         private suspend fun readBlueprintKotlinFile(toscaMetaData: ToscaMetaData, basePath: String): BluePrintContext {
 
-            checkNotNull(toscaMetaData.templateName) { "couldn't find 'Template-Name' key in TOSCA.meta" }
-            checkNotNull(toscaMetaData.templateVersion) { "couldn't find 'Template-Version' key in TOSCA.meta" }
-
             val definitionClassName = toscaMetaData.entityDefinitions.removeSuffix(".kt")
             val normalizedBasePath = normalizedPathName(basePath)
 
             val bluePrintScriptsService = BluePrintScriptsServiceImpl()
             val bluePrintDefinitions = bluePrintScriptsService
                 .scriptInstance<BluePrintDefinitions>(
             val definitionClassName = toscaMetaData.entityDefinitions.removeSuffix(".kt")
             val normalizedBasePath = normalizedPathName(basePath)
 
             val bluePrintScriptsService = BluePrintScriptsServiceImpl()
             val bluePrintDefinitions = bluePrintScriptsService
                 .scriptInstance<BluePrintDefinitions>(
-                    normalizedBasePath, toscaMetaData.templateName!!,
-                    toscaMetaData.templateVersion!!, definitionClassName, false
+                    normalizedBasePath, toscaMetaData.templateName,
+                    toscaMetaData.templateVersion, definitionClassName, false
                 )
             // Get the Service Template
             val serviceTemplate = bluePrintDefinitions.serviceTemplate()
                 )
             // Get the Service Template
             val serviceTemplate = bluePrintDefinitions.serviceTemplate()
@@ -209,5 +270,10 @@ class BluePrintMetadataUtils {
             blueprintContext.otherDefinitions = bluePrintDefinitions.otherDefinitions()
             return blueprintContext
         }
             blueprintContext.otherDefinitions = bluePrintDefinitions.otherDefinitions()
             return blueprintContext
         }
+
+        /** Reade the Service Template Definitions from the generic script types */
+        private fun readBlueprintGenericScript(toscaMetaData: ToscaMetaData, basePath: String): BluePrintContext {
+            return BluePrintContext(ServiceTemplate())
+        }
     }
 }
     }
 }
index 597194c..38f6ea2 100644 (file)
@@ -18,6 +18,7 @@
 package org.onap.ccsdk.cds.controllerblueprints.core.service
 
 import com.fasterxml.jackson.databind.ObjectMapper
 package org.onap.ccsdk.cds.controllerblueprints.core.service
 
 import com.fasterxml.jackson.databind.ObjectMapper
+import kotlinx.coroutines.runBlocking
 import org.junit.Test
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintException
 import org.junit.Test
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintException
@@ -58,16 +59,20 @@ class BluePrintContextTest {
 
     @Test
     fun testBluePrintContextCreation() {
 
     @Test
     fun testBluePrintContextCreation() {
-        val bluePrintContext = BluePrintMetadataUtils.getBluePrintContext(blueprintBasePath)
-        assertNotNull(bluePrintContext, "Failed to populate Blueprint context")
+        runBlocking {
+            val bluePrintContext = BluePrintMetadataUtils.getBluePrintContext(blueprintBasePath)
+            assertNotNull(bluePrintContext, "Failed to populate Blueprint context")
+        }
     }
 
     @Test
     fun testChainedProperty() {
     }
 
     @Test
     fun testChainedProperty() {
-        val bluePrintContext = BluePrintMetadataUtils.getBluePrintContext(blueprintBasePath)
-        val nodeType = bluePrintContext.nodeTypeChained("component-resource-resolution")
-        assertNotNull(nodeType, "Failed to get chained node type")
-        log.trace("Properties {}", JacksonUtils.getJson(nodeType, true))
+        runBlocking {
+            val bluePrintContext = BluePrintMetadataUtils.getBluePrintContext(blueprintBasePath)
+            val nodeType = bluePrintContext.nodeTypeChained("component-resource-resolution")
+            assertNotNull(nodeType, "Failed to get chained node type")
+            log.trace("Properties {}", JacksonUtils.getJson(nodeType, true))
+        }
     }
 
     @Test
     }
 
     @Test
index dea4622..b079d42 100644 (file)
@@ -70,9 +70,9 @@ class BluePrintRuntimeServiceTest {
         )
 
         val assignmentParams = "{\n" +
         )
 
         val assignmentParams = "{\n" +
-                "            \"ipAddress\": \"127.0.0.1\",\n" +
-                "            \"hostName\": \"vnf-host\"\n" +
-                "          }"
+            "            \"ipAddress\": \"127.0.0.1\",\n" +
+            "            \"hostName\": \"vnf-host\"\n" +
+            "          }"
 
         bluePrintRuntimeService.setNodeTemplateAttributeValue(
             "resource-assignment", "assignment-params",
 
         bluePrintRuntimeService.setNodeTemplateAttributeValue(
             "resource-assignment", "assignment-params",
@@ -84,8 +84,16 @@ class BluePrintRuntimeServiceTest {
             "netconf"
         )
         assertNotNull(capProperties, "Failed to populate capability property values")
             "netconf"
         )
         assertNotNull(capProperties, "Failed to populate capability property values")
-        assertEquals(capProperties["target-ip-address"], "127.0.0.1".asJsonPrimitive(), "Failed to populate parameter target-ip-address")
-        assertEquals(capProperties["port-number"], JacksonUtils.jsonNodeFromObject(830), "Failed to populate parameter port-number")
+        assertEquals(
+            capProperties["target-ip-address"],
+            "127.0.0.1".asJsonPrimitive(),
+            "Failed to populate parameter target-ip-address"
+        )
+        assertEquals(
+            capProperties["port-number"],
+            JacksonUtils.jsonNodeFromObject(830),
+            "Failed to populate parameter port-number"
+        )
     }
 
     @Test
     }
 
     @Test
@@ -108,8 +116,16 @@ class BluePrintRuntimeServiceTest {
             )
 
         assertNotNull(inContext, "Failed to populate interface input property values")
             )
 
         assertNotNull(inContext, "Failed to populate interface input property values")
-        assertEquals(inContext["action-name"], JacksonUtils.jsonNodeFromObject("sample-action"), "Failed to populate parameter action-name")
-        assertEquals(inContext["request-id"], JacksonUtils.jsonNodeFromObject("12345"), "Failed to populate parameter action-name")
+        assertEquals(
+            inContext["action-name"],
+            JacksonUtils.jsonNodeFromObject("sample-action"),
+            "Failed to populate parameter action-name"
+        )
+        assertEquals(
+            inContext["request-id"],
+            JacksonUtils.jsonNodeFromObject("12345"),
+            "Failed to populate parameter action-name"
+        )
     }
 
     @Test
     }
 
     @Test
@@ -118,7 +134,11 @@ class BluePrintRuntimeServiceTest {
 
         val bluePrintRuntimeService = getBluePrintRuntimeService()
 
 
         val bluePrintRuntimeService = getBluePrintRuntimeService()
 
-        bluePrintRuntimeService.setNodeTemplateAttributeValue("resource-assignment", "assignment-params", NullNode.getInstance())
+        bluePrintRuntimeService.setNodeTemplateAttributeValue(
+            "resource-assignment",
+            "assignment-params",
+            NullNode.getInstance()
+        )
 
         bluePrintRuntimeService.resolveNodeTemplateInterfaceOperationOutputs(
             "resource-assignment",
 
         bluePrintRuntimeService.resolveNodeTemplateInterfaceOperationOutputs(
             "resource-assignment",
@@ -135,7 +155,11 @@ class BluePrintRuntimeServiceTest {
             "resource-assignment",
             "ResourceResolutionComponent", "process", "resource-assignment-params"
         )
             "resource-assignment",
             "ResourceResolutionComponent", "process", "resource-assignment-params"
         )
-        assertEquals(NullNode.getInstance(), outputParams, "Failed to get operation property resource-assignment-params")
+        assertEquals(
+            NullNode.getInstance(),
+            outputParams,
+            "Failed to get operation property resource-assignment-params"
+        )
     }
 
     @Test
     }
 
     @Test
@@ -154,7 +178,8 @@ class BluePrintRuntimeServiceTest {
 
         val keys = listOf("context1", "context2")
 
 
         val keys = listOf("context1", "context2")
 
-        val jsonValueNode = bluePrintRuntimeService.getJsonForNodeTemplateAttributeProperties("resource-assignment-ra-component", keys)
+        val jsonValueNode =
+            bluePrintRuntimeService.getJsonForNodeTemplateAttributeProperties("resource-assignment-ra-component", keys)
         assertNotNull(jsonValueNode, "Failed to get Json for Node Template Context Properties")
         log.info("JSON Prepared Value Context {}", jsonValueNode)
     }
         assertNotNull(jsonValueNode, "Failed to get Json for Node Template Context Properties")
         log.info("JSON Prepared Value Context {}", jsonValueNode)
     }
@@ -189,7 +214,7 @@ class BluePrintRuntimeServiceTest {
 
     private fun getBluePrintRuntimeService(): BluePrintRuntimeService<MutableMap<String, JsonNode>> {
         val blueprintBasePath = normalizedPathName(TestConstants.PATH_TEST_BLUEPRINTS_BASECONFIG)
 
     private fun getBluePrintRuntimeService(): BluePrintRuntimeService<MutableMap<String, JsonNode>> {
         val blueprintBasePath = normalizedPathName(TestConstants.PATH_TEST_BLUEPRINTS_BASECONFIG)
-        val blueprintRuntime = BluePrintMetadataUtils.getBluePrintRuntime("1234", blueprintBasePath)
+        val blueprintRuntime = BluePrintMetadataUtils.bluePrintRuntime("1234", blueprintBasePath)
         val checkProcessId = blueprintRuntime.get(BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID)
         val checkBasePath = blueprintRuntime.get(BluePrintConstants.PROPERTY_BLUEPRINT_BASE_PATH)
 
         val checkProcessId = blueprintRuntime.get(BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID)
         val checkBasePath = blueprintRuntime.get(BluePrintConstants.PROPERTY_BLUEPRINT_BASE_PATH)
 
index e525bfc..0e93ccf 100644 (file)
@@ -34,7 +34,7 @@ class BluePrintTemplateServiceTest {
     @BeforeTest
     fun setup() {
         val blueprintBasePath = TestConstants.PATH_TEST_BLUEPRINTS_BASECONFIG
     @BeforeTest
     fun setup() {
         val blueprintBasePath = TestConstants.PATH_TEST_BLUEPRINTS_BASECONFIG
-        blueprintRuntime = BluePrintMetadataUtils.getBluePrintRuntime("1234", blueprintBasePath)
+        blueprintRuntime = BluePrintMetadataUtils.bluePrintRuntime("1234", blueprintBasePath)
     }
 
     @Test
     }
 
     @Test
index 302daf6..6ccfe1e 100644 (file)
@@ -48,20 +48,22 @@ class BluePrintMetadataUtilsTest {
 
     @Test
     fun testKotlinBluePrintContext() {
 
     @Test
     fun testKotlinBluePrintContext() {
-        val path = normalizedPathName("src/test/resources/compile")
-        val blueprintContext = BluePrintMetadataUtils.getBluePrintContext(path)
-        assertNotNull(blueprintContext, "failed to get blueprint context")
-        assertNotNull(blueprintContext.serviceTemplate, "failed to get blueprint context service template")
-        assertNotNull(blueprintContext.serviceTemplate, "failed to get blueprint context service template")
-        assertNotNull(blueprintContext.otherDefinitions, "failed to get blueprint contextother definitions")
+        runBlocking {
+            val path = normalizedPathName("src/test/resources/compile")
+            val blueprintContext = BluePrintMetadataUtils.getBluePrintContext(path)
+            assertNotNull(blueprintContext, "failed to get blueprint context")
+            assertNotNull(blueprintContext.serviceTemplate, "failed to get blueprint context service template")
+            assertNotNull(blueprintContext.serviceTemplate, "failed to get blueprint context service template")
+            assertNotNull(blueprintContext.otherDefinitions, "failed to get blueprint contextother definitions")
 
 
-        var cachePresent = BluePrintCompileCache.hasClassLoader(path)
-        assertTrue(cachePresent, "failed to generate cache key ($path)")
+            var cachePresent = BluePrintCompileCache.hasClassLoader(path)
+            assertTrue(cachePresent, "failed to generate cache key ($path)")
 
 
-        /** Cleaning Cache */
-        BluePrintCompileCache.cleanClassLoader(path)
-        cachePresent = BluePrintCompileCache.hasClassLoader(path)
-        assertTrue(!cachePresent, "failed to remove cache key ($path)")
+            /** Cleaning Cache */
+            BluePrintCompileCache.cleanClassLoader(path)
+            cachePresent = BluePrintCompileCache.hasClassLoader(path)
+            assertTrue(!cachePresent, "failed to remove cache key ($path)")
+        }
     }
 
     @Test
     }
 
     @Test
index b1ffabd..d139c2d 100644 (file)
@@ -2,6 +2,7 @@ TOSCA-Meta-File-Version: 1.0.0
 CSAR-Version: 1.0
 Created-By: Brinda Santh <brindasanth@in.ibm.com>
 Entry-Definitions: cba.scripts.ActivateBlueprintDefinitions.kt
 CSAR-Version: 1.0
 Created-By: Brinda Santh <brindasanth@in.ibm.com>
 Entry-Definitions: cba.scripts.ActivateBlueprintDefinitions.kt
-Template-Tags: Brinda Santh, activation-blueprint
 Template-Name: activate-blueprint
 Template-Version: 1.0.0
 Template-Name: activate-blueprint
 Template-Version: 1.0.0
+Template-Type: KOTLIN_DSL
+Template-Tags: Brinda Santh, activation-blueprint
index 5df2dec..67bdd03 100644 (file)
@@ -41,13 +41,13 @@ open class BluePrintDesignTimeValidatorService(
 
     private val log = LoggerFactory.getLogger(BluePrintDesignTimeValidatorService::class.toString())
 
 
     private val log = LoggerFactory.getLogger(BluePrintDesignTimeValidatorService::class.toString())
 
-    override fun validateBluePrints(basePath: String): Boolean {
+    override suspend fun validateBluePrints(basePath: String): Boolean {
 
         val bluePrintRuntimeService = BluePrintMetadataUtils.getBluePrintRuntime(UUID.randomUUID().toString(), basePath)
         return validateBluePrints(bluePrintRuntimeService)
     }
 
 
         val bluePrintRuntimeService = BluePrintMetadataUtils.getBluePrintRuntime(UUID.randomUUID().toString(), basePath)
         return validateBluePrints(bluePrintRuntimeService)
     }
 
-    override fun validateBluePrints(bluePrintRuntimeService: BluePrintRuntimeService<*>): Boolean {
+    override suspend fun validateBluePrints(bluePrintRuntimeService: BluePrintRuntimeService<*>): Boolean {
 
         bluePrintTypeValidatorService.validateServiceTemplate(
             bluePrintRuntimeService, "service_template",
 
         bluePrintTypeValidatorService.validateServiceTemplate(
             bluePrintRuntimeService, "service_template",
@@ -76,7 +76,7 @@ open class BluePrintDesignTimeValidatorService(
         if (resourceDefinitionFile.exists()) {
             val resourceDefinitionMap = JacksonUtils.getMapFromFile(resourceDefinitionFile, ResourceDefinition::class.java)
 
         if (resourceDefinitionFile.exists()) {
             val resourceDefinitionMap = JacksonUtils.getMapFromFile(resourceDefinitionFile, ResourceDefinition::class.java)
 
-            resourceDefinitionMap?.forEach { resourceDefinitionName, resourceDefinition ->
+            resourceDefinitionMap.forEach { resourceDefinitionName, resourceDefinition ->
                 resourceDefinitionValidator.validate(bluePrintRuntimeService, resourceDefinitionName, resourceDefinition)
             }
         }
                 resourceDefinitionValidator.validate(bluePrintRuntimeService, resourceDefinitionName, resourceDefinition)
             }
         }
index 19d1ef0..dcf3529 100644 (file)
@@ -19,6 +19,7 @@ package org.onap.ccsdk.cds.controllerblueprints.validation
 
 import io.mockk.every
 import io.mockk.mockk
 
 import io.mockk.every
 import io.mockk.mockk
+import kotlinx.coroutines.runBlocking
 import org.junit.Test
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintError
 import org.onap.ccsdk.cds.controllerblueprints.core.data.NodeTemplate
 import org.junit.Test
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintError
 import org.onap.ccsdk.cds.controllerblueprints.core.data.NodeTemplate
@@ -35,18 +36,21 @@ import kotlin.test.assertTrue
 class BluePrintDesignTimeValidatorServiceTest {
 
     private val blueprintBasePath = "./../../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration"
 class BluePrintDesignTimeValidatorServiceTest {
 
     private val blueprintBasePath = "./../../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration"
-    private val bluePrintRuntime = BluePrintMetadataUtils.getBluePrintRuntime("1234", blueprintBasePath)
+    private val bluePrintRuntime = BluePrintMetadataUtils.bluePrintRuntime("1234", blueprintBasePath)
     private val mockBluePrintTypeValidatorService = MockBluePrintTypeValidatorService()
     private val resourceDefinitionValidator = mockk<ResourceDefinitionValidator>()
     private val mockBluePrintTypeValidatorService = MockBluePrintTypeValidatorService()
     private val resourceDefinitionValidator = mockk<ResourceDefinitionValidator>()
-    private val defaultBluePrintValidatorService = BluePrintDesignTimeValidatorService(mockBluePrintTypeValidatorService, resourceDefinitionValidator)
+    private val defaultBluePrintValidatorService =
+        BluePrintDesignTimeValidatorService(mockBluePrintTypeValidatorService, resourceDefinitionValidator)
     private val workflowValidator = BluePrintWorkflowValidatorImpl(mockBluePrintTypeValidatorService)
 
     @Test
     fun testValidateOfType() {
     private val workflowValidator = BluePrintWorkflowValidatorImpl(mockBluePrintTypeValidatorService)
 
     @Test
     fun testValidateOfType() {
-        every { resourceDefinitionValidator.validate(bluePrintRuntime, any(), any()) } returns Unit
+        runBlocking {
+            every { resourceDefinitionValidator.validate(bluePrintRuntime, any(), any()) } returns Unit
 
 
-        val valid = defaultBluePrintValidatorService.validateBluePrints(bluePrintRuntime)
-        assertTrue(valid, "failed in blueprint Validation")
+            val valid = defaultBluePrintValidatorService.validateBluePrints(bluePrintRuntime)
+            assertTrue(valid, "failed in blueprint Validation")
+        }
     }
 
     @Test
     }
 
     @Test
@@ -95,14 +99,19 @@ class BluePrintDesignTimeValidatorServiceTest {
         assertEquals(1, bluePrintRuntime.getBluePrintError().errors.size)
         assertEquals(
             "Failed to validate Workflow(resource-assignment)'s step(test)'s definition : " +
         assertEquals(1, bluePrintRuntime.getBluePrintError().errors.size)
         assertEquals(
             "Failed to validate Workflow(resource-assignment)'s step(test)'s definition : " +
-                    "resource-assignment/steps/test : NodeType(TestNodeType) derived from is 'tosca.nodes.TEST', " +
-                    "Expected 'tosca.nodes.Workflow' or 'tosca.nodes.Component'", bluePrintRuntime.getBluePrintError().errors[0]
+                "resource-assignment/steps/test : NodeType(TestNodeType) derived from is 'tosca.nodes.TEST', " +
+                "Expected 'tosca.nodes.Workflow' or 'tosca.nodes.Component'",
+            bluePrintRuntime.getBluePrintError().errors[0]
         )
     }
 
     @Test
     fun testValidateWorkflowSuccess() {
         val workflowName = "resource-assignment"
         )
     }
 
     @Test
     fun testValidateWorkflowSuccess() {
         val workflowName = "resource-assignment"
-        workflowValidator.validate(bluePrintRuntime, workflowName, bluePrintRuntime.bluePrintContext().workflowByName(workflowName))
+        workflowValidator.validate(
+            bluePrintRuntime,
+            workflowName,
+            bluePrintRuntime.bluePrintContext().workflowByName(workflowName)
+        )
     }
 }
     }
 }
index e86dfab..5d546c2 100644 (file)
@@ -25,6 +25,7 @@ import org.onap.ccsdk.cds.blueprintsprocessor.db.mock.MockBlueprintProcessorCata
 import org.onap.ccsdk.cds.blueprintsprocessor.db.primary.service.BlueprintCatalogServiceImpl
 import org.onap.ccsdk.cds.blueprintsprocessor.db.primary.service.BlueprintProcessorCatalogServiceImpl
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants
 import org.onap.ccsdk.cds.blueprintsprocessor.db.primary.service.BlueprintCatalogServiceImpl
 import org.onap.ccsdk.cds.blueprintsprocessor.db.primary.service.BlueprintProcessorCatalogServiceImpl
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants
+import org.onap.ccsdk.cds.controllerblueprints.core.compress
 import org.onap.ccsdk.cds.controllerblueprints.core.deleteDir
 import org.onap.ccsdk.cds.controllerblueprints.core.normalizedFile
 import org.onap.ccsdk.cds.controllerblueprints.core.service.BluePrintRuntimeService
 import org.onap.ccsdk.cds.controllerblueprints.core.deleteDir
 import org.onap.ccsdk.cds.controllerblueprints.core.normalizedFile
 import org.onap.ccsdk.cds.controllerblueprints.core.service.BluePrintRuntimeService
@@ -62,8 +63,14 @@ class BlueprintProcessorCatalogServiceImplTest {
 
     @BeforeTest
     fun setup() {
 
     @BeforeTest
     fun setup() {
+
         deleteDir("target", "blueprints")
         deleteDir("target", "blueprints")
-        bluePrintRuntimeService = BluePrintMetadataUtils.getBluePrintRuntime(
+
+        // Create sample CBA zip
+        normalizedFile("./../../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration")
+            .compress(normalizedFile("./target/blueprints/generated-cba.zip"))
+
+        bluePrintRuntimeService = BluePrintMetadataUtils.bluePrintRuntime(
             blueprintId,
             "./../../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration"
         )
             blueprintId,
             "./../../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration"
         )
@@ -76,11 +83,9 @@ class BlueprintProcessorCatalogServiceImplTest {
 
     @Test
     fun `test catalog service`() {
 
     @Test
     fun `test catalog service`() {
-        // TODO: I thing this test function should be remve and replace by the other one.
-        runBlocking {
-            // FIXME("Create ZIP from test blueprints")
 
 
-            val file = normalizedFile("./src/test/resources/test-cba.zip")
+        runBlocking {
+            val file = normalizedFile("./target/blueprints/generated-cba.zip")
             assertTrue(file.exists(), "couldn't get file ${file.absolutePath}")
 
             blueprintsProcessorCatalogService.saveToDatabase("1234", file)
             assertTrue(file.exists(), "couldn't get file ${file.absolutePath}")
 
             blueprintsProcessorCatalogService.saveToDatabase("1234", file)
@@ -93,7 +98,7 @@ class BlueprintProcessorCatalogServiceImplTest {
     @Test
     fun `test save function`() {
         runBlocking {
     @Test
     fun `test save function`() {
         runBlocking {
-            val file = normalizedFile("./src/test/resources/test-cba.zip")
+            val file = normalizedFile("./target/blueprints/generated-cba.zip")
             assertTrue(file.exists(), "couldnt get file ${file.absolutePath}")
             val metadata = bluePrintRuntimeService.bluePrintContext().metadata!!
             metadata[BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID] = blueprintId
             assertTrue(file.exists(), "couldnt get file ${file.absolutePath}")
             val metadata = bluePrintRuntimeService.bluePrintContext().metadata!!
             metadata[BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID] = blueprintId
@@ -105,7 +110,7 @@ class BlueprintProcessorCatalogServiceImplTest {
     @Test
     fun `test get function`() {
         runBlocking {
     @Test
     fun `test get function`() {
         runBlocking {
-            val file = normalizedFile("./src/test/resources/test-cba.zip")
+            val file = normalizedFile("./target/blueprints/generated-cba.zip")
             assertTrue(file.exists(), "couldnt get file ${file.absolutePath}")
             val metadata = bluePrintRuntimeService.bluePrintContext().metadata!!
             metadata[BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID] = blueprintId
             assertTrue(file.exists(), "couldnt get file ${file.absolutePath}")
             val metadata = bluePrintRuntimeService.bluePrintContext().metadata!!
             metadata[BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID] = blueprintId
@@ -117,10 +122,10 @@ class BlueprintProcessorCatalogServiceImplTest {
         assertTrue(
             File(
                 blueprintCoreConfiguration.bluePrintLoadConfiguration().blueprintArchivePath +
         assertTrue(
             File(
                 blueprintCoreConfiguration.bluePrintLoadConfiguration().blueprintArchivePath +
-                        "/baseconfiguration"
+                    "/baseconfiguration"
             ).deleteRecursively(), "Couldn't get blueprint archive " +
             ).deleteRecursively(), "Couldn't get blueprint archive " +
-                    "${blueprintCoreConfiguration.bluePrintLoadConfiguration().blueprintArchivePath}/baseconfiguration " +
-                    "from data base."
+                "${blueprintCoreConfiguration.bluePrintLoadConfiguration().blueprintArchivePath}/baseconfiguration " +
+                "from data base."
         )
     }
 
         )
     }
 
index 8dcf426..248181f 100644 (file)
@@ -15,7 +15,7 @@
  */
 package org.onap.ccsdk.cds.blueprintsprocessor.db.mock
 
  */
 package org.onap.ccsdk.cds.blueprintsprocessor.db.mock
 
-import io.mockk.every
+import io.mockk.coEvery
 import io.mockk.mockk
 import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BluePrintValidatorService
 import org.onap.ccsdk.cds.controllerblueprints.core.service.BluePrintRuntimeService
 import io.mockk.mockk
 import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BluePrintValidatorService
 import org.onap.ccsdk.cds.controllerblueprints.core.service.BluePrintRuntimeService
@@ -28,8 +28,8 @@ open class MockBlueprintProcessorCatalogServiceImpl {
     @Bean(name = ["bluePrintRuntimeValidatorService"])
     open fun bluePrintRuntimeValidatorService(): BluePrintValidatorService {
         val bluePrintValidatorService = mockk<BluePrintValidatorService>()
     @Bean(name = ["bluePrintRuntimeValidatorService"])
     open fun bluePrintRuntimeValidatorService(): BluePrintValidatorService {
         val bluePrintValidatorService = mockk<BluePrintValidatorService>()
-        every { bluePrintValidatorService.validateBluePrints(any<String>()) } returns true
-        every { bluePrintValidatorService.validateBluePrints(any<BluePrintRuntimeService<*>>()) } returns true
+        coEvery { bluePrintValidatorService.validateBluePrints(any<String>()) } returns true
+        coEvery { bluePrintValidatorService.validateBluePrints(any<BluePrintRuntimeService<*>>()) } returns true
         return bluePrintValidatorService
     }
 }
         return bluePrintValidatorService
     }
 }
diff --git a/ms/blueprintsprocessor/modules/commons/db-lib/src/test/resources/test-cba.zip b/ms/blueprintsprocessor/modules/commons/db-lib/src/test/resources/test-cba.zip
deleted file mode 100644 (file)
index 785ec6c..0000000
Binary files a/ms/blueprintsprocessor/modules/commons/db-lib/src/test/resources/test-cba.zip and /dev/null differ
index 582fd9a..35e4405 100644 (file)
@@ -30,6 +30,7 @@ import org.onap.ccsdk.cds.blueprintsprocessor.grpc.service.TokenAuthGrpcClientSe
 import org.onap.ccsdk.cds.controllerblueprints.common.api.ActionIdentifiers
 import org.onap.ccsdk.cds.controllerblueprints.common.api.CommonHeader
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants
 import org.onap.ccsdk.cds.controllerblueprints.common.api.ActionIdentifiers
 import org.onap.ccsdk.cds.controllerblueprints.common.api.CommonHeader
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants
+import org.onap.ccsdk.cds.controllerblueprints.core.compress
 import org.onap.ccsdk.cds.controllerblueprints.core.deleteDir
 import org.onap.ccsdk.cds.controllerblueprints.core.normalizedFile
 import org.onap.ccsdk.cds.controllerblueprints.management.api.BluePrintBootstrapInput
 import org.onap.ccsdk.cds.controllerblueprints.core.deleteDir
 import org.onap.ccsdk.cds.controllerblueprints.core.normalizedFile
 import org.onap.ccsdk.cds.controllerblueprints.management.api.BluePrintBootstrapInput
@@ -66,9 +67,15 @@ class BluePrintManagementGRPCHandlerTest {
 
     @BeforeTest
     fun init() {
 
     @BeforeTest
     fun init() {
+
+        deleteDir("target", "blueprints")
+
+        // Create sample CBA zip
+        normalizedFile("./../../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration")
+            .compress(normalizedFile("./target/blueprints/generated-cba.zip"))
+
         // Create a server, add service, start, and register for automatic graceful shutdown.
         grpcServerRule.serviceRegistry.addService(bluePrintManagementGRPCHandler)
         // Create a server, add service, start, and register for automatic graceful shutdown.
         grpcServerRule.serviceRegistry.addService(bluePrintManagementGRPCHandler)
-        deleteDir("target", "blueprints")
     }
 
     @AfterTest
     }
 
     @AfterTest
@@ -84,7 +91,7 @@ class BluePrintManagementGRPCHandlerTest {
         val bootstrapOutput = blockingStub.bootstrapBlueprint(req)
         assertEquals(200, bootstrapOutput.status.code)
         assertTrue(
         val bootstrapOutput = blockingStub.bootstrapBlueprint(req)
         assertEquals(200, bootstrapOutput.status.code)
         assertTrue(
-            bootstrapOutput.status.message.contentEquals(BluePrintConstants.STATUS_SUCCESS),
+            bootstrapOutput.status.message!!.contentEquals(BluePrintConstants.STATUS_SUCCESS),
             "failed to get success status"
         )
         assertEquals(id, bootstrapOutput.commonHeader.requestId)
             "failed to get success status"
         )
         assertEquals(id, bootstrapOutput.commonHeader.requestId)
@@ -99,7 +106,7 @@ class BluePrintManagementGRPCHandlerTest {
 
         assertEquals(200, output.status.code)
         assertTrue(
 
         assertEquals(200, output.status.code)
         assertTrue(
-            output.status.message.contentEquals(BluePrintConstants.STATUS_SUCCESS),
+            output.status.message!!.contentEquals(BluePrintConstants.STATUS_SUCCESS),
             "failed to get success status"
         )
         assertEquals(id, output.commonHeader.requestId)
             "failed to get success status"
         )
         assertEquals(id, output.commonHeader.requestId)
@@ -110,7 +117,7 @@ class BluePrintManagementGRPCHandlerTest {
         val downloadOutput = blockingStub.downloadBlueprint(downloadReq)
         assertEquals(200, downloadOutput.status.code)
         assertTrue(
         val downloadOutput = blockingStub.downloadBlueprint(downloadReq)
         assertEquals(200, downloadOutput.status.code)
         assertTrue(
-            downloadOutput.status.message.contentEquals(BluePrintConstants.STATUS_SUCCESS),
+            downloadOutput.status.message!!.contentEquals(BluePrintConstants.STATUS_SUCCESS),
             "failed to get success status"
         )
         assertNotNull(downloadOutput.fileChunk?.chunk, "failed to get cba file chunks")
             "failed to get success status"
         )
         assertNotNull(downloadOutput.fileChunk?.chunk, "failed to get cba file chunks")
@@ -126,7 +133,7 @@ class BluePrintManagementGRPCHandlerTest {
         var output = blockingStub.uploadBlueprint(req)
         assertEquals(200, output.status.code)
         assertTrue(
         var output = blockingStub.uploadBlueprint(req)
         assertEquals(200, output.status.code)
         assertTrue(
-            output.status.message.contentEquals(BluePrintConstants.STATUS_SUCCESS),
+            output.status.message!!.contentEquals(BluePrintConstants.STATUS_SUCCESS),
             "failed to get success status"
         )
         assertEquals(id, output.commonHeader.requestId)
             "failed to get success status"
         )
         assertEquals(id, output.commonHeader.requestId)
@@ -174,7 +181,7 @@ class BluePrintManagementGRPCHandlerTest {
     }
 
     private fun createUploadInputRequest(id: String, action: String): BluePrintUploadInput {
     }
 
     private fun createUploadInputRequest(id: String, action: String): BluePrintUploadInput {
-        val file = normalizedFile("./src/test/resources/test-cba.zip")
+        val file = normalizedFile("./target/blueprints/generated-cba.zip")
         assertTrue(file.exists(), "couldnt get file ${file.absolutePath}")
 
         val commonHeader = CommonHeader
         assertTrue(file.exists(), "couldnt get file ${file.absolutePath}")
 
         val commonHeader = CommonHeader
index 2762725..a866dca 100644 (file)
@@ -65,34 +65,28 @@ class BluePrintEnhancerServiceImplTest {
             resourceDictionaryLoadService.loadPathsResourceDictionary(dictPaths)
 
             testBaseConfigEnhancementAndValidation()
             resourceDictionaryLoadService.loadPathsResourceDictionary(dictPaths)
 
             testBaseConfigEnhancementAndValidation()
-            testVFWEnhancementAndValidation()
             testGoldenEnhancementAndValidation()
             testRemoteScriptsEnhancementAndValidation()
             testCapabilityCliEnhancementAndValidation()
         }
     }
 
             testGoldenEnhancementAndValidation()
             testRemoteScriptsEnhancementAndValidation()
             testCapabilityCliEnhancementAndValidation()
         }
     }
 
-    fun testBaseConfigEnhancementAndValidation() {
+    private fun testBaseConfigEnhancementAndValidation() {
         val basePath = "./../../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration"
         testComponentInvokeEnhancementAndValidation(basePath, "base-enhance")
     }
 
         val basePath = "./../../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration"
         testComponentInvokeEnhancementAndValidation(basePath, "base-enhance")
     }
 
-    fun testVFWEnhancementAndValidation() {
-        val basePath = "./../../../../../components/model-catalog/blueprint-model/service-blueprint/vFW"
-        testComponentInvokeEnhancementAndValidation(basePath, "vFW-enhance")
-    }
-
-    fun testGoldenEnhancementAndValidation() {
+    private fun testGoldenEnhancementAndValidation() {
         val basePath = "./../../../../../components/model-catalog/blueprint-model/test-blueprint/golden"
         testComponentInvokeEnhancementAndValidation(basePath, "golden-enhance")
     }
 
         val basePath = "./../../../../../components/model-catalog/blueprint-model/test-blueprint/golden"
         testComponentInvokeEnhancementAndValidation(basePath, "golden-enhance")
     }
 
-    fun testRemoteScriptsEnhancementAndValidation() {
+    private fun testRemoteScriptsEnhancementAndValidation() {
         val basePath = "./../../../../../components/model-catalog/blueprint-model/test-blueprint/remote_scripts"
         testComponentInvokeEnhancementAndValidation(basePath, "remote_scripts-enhance")
     }
 
         val basePath = "./../../../../../components/model-catalog/blueprint-model/test-blueprint/remote_scripts"
         testComponentInvokeEnhancementAndValidation(basePath, "remote_scripts-enhance")
     }
 
-    fun testCapabilityCliEnhancementAndValidation() {
+    private fun testCapabilityCliEnhancementAndValidation() {
         val basePath = "./../../../../../components/model-catalog/blueprint-model/test-blueprint/capability_cli"
         testComponentInvokeEnhancementAndValidation(basePath, "capability_cli-enhance")
     }
         val basePath = "./../../../../../components/model-catalog/blueprint-model/test-blueprint/capability_cli"
         testComponentInvokeEnhancementAndValidation(basePath, "capability_cli-enhance")
     }
@@ -111,8 +105,8 @@ class BluePrintEnhancerServiceImplTest {
             Assert.assertTrue("blueprint($basePath) validation failed ", valid)
 
             // Enable this to get the enhanced zip file
             Assert.assertTrue("blueprint($basePath) validation failed ", valid)
 
             // Enable this to get the enhanced zip file
-            //            val compressFile = normalizedFile("target/blueprints/enrichment", "$targetDirName.zip")
-            //            normalizedFile(targetPath).compress(compressFile)
+            // val compressFile = normalizedFile("target/blueprints/enrichment", "$targetDirName.zip")
+            // normalizedFile(targetPath).compress(compressFile)
 
             deleteDir(targetPath)
         }
 
             deleteDir(targetPath)
         }
diff --git a/ms/blueprintsprocessor/modules/inbounds/designer-api/src/test/resources/test-cba.zip b/ms/blueprintsprocessor/modules/inbounds/designer-api/src/test/resources/test-cba.zip
deleted file mode 100644 (file)
index 785ec6c..0000000
Binary files a/ms/blueprintsprocessor/modules/inbounds/designer-api/src/test/resources/test-cba.zip and /dev/null differ
index a6ebe9c..3119b80 100644 (file)
@@ -22,6 +22,7 @@ import org.junit.Test
 import org.junit.runner.RunWith
 import org.onap.ccsdk.cds.blueprintsprocessor.core.BluePrintCoreConfiguration
 import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceInput
 import org.junit.runner.RunWith
 import org.onap.ccsdk.cds.blueprintsprocessor.core.BluePrintCoreConfiguration
 import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceInput
+import org.onap.ccsdk.cds.controllerblueprints.core.compress
 import org.onap.ccsdk.cds.controllerblueprints.core.deleteDir
 import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BluePrintCatalogService
 import org.onap.ccsdk.cds.controllerblueprints.core.normalizedFile
 import org.onap.ccsdk.cds.controllerblueprints.core.deleteDir
 import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BluePrintCatalogService
 import org.onap.ccsdk.cds.controllerblueprints.core.normalizedFile
@@ -62,6 +63,10 @@ class ExecutionServiceControllerTest {
     @BeforeTest
     fun init() {
         deleteDir("target", "blueprints")
     @BeforeTest
     fun init() {
         deleteDir("target", "blueprints")
+
+        // Create sample CBA zip
+        normalizedFile("./../../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration")
+            .compress(normalizedFile("./target/blueprints/generated-cba.zip"))
     }
 
     @AfterTest
     }
 
     @AfterTest
@@ -110,7 +115,7 @@ class ExecutionServiceControllerTest {
     }
 
     private fun loadTestCbaFile(): File {
     }
 
     private fun loadTestCbaFile(): File {
-        val testCbaFile = normalizedFile("./src/test/resources/test-cba.zip")
+        val testCbaFile = normalizedFile("./target/blueprints/generated-cba.zip")
         assertTrue(testCbaFile.exists(), "couldn't get file ${testCbaFile.absolutePath}")
         return testCbaFile
     }
         assertTrue(testCbaFile.exists(), "couldn't get file ${testCbaFile.absolutePath}")
         return testCbaFile
     }
index 75d9f48..a367c8d 100644 (file)
@@ -16,6 +16,7 @@
 
 package org.onap.ccsdk.cds.blueprintsprocessor.selfservice.api.validation
 
 
 package org.onap.ccsdk.cds.blueprintsprocessor.selfservice.api.validation
 
+import kotlinx.coroutines.runBlocking
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.onap.ccsdk.cds.blueprintsprocessor.selfservice.api.mock.MockResourceSource
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.onap.ccsdk.cds.blueprintsprocessor.selfservice.api.mock.MockResourceSource
@@ -37,10 +38,12 @@ class BluePrintRuntimeValidatorServiceTest {
 
     @Test
     fun testBlueprintRuntimeValidation() {
 
     @Test
     fun testBlueprintRuntimeValidation() {
-        val blueprintBasePath =
-            "./../../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration"
-        assertNotNull(bluePrintRuntimeValidatorService, " failed to initilize bluePrintRuntimeValidatorService")
+        runBlocking {
+            val blueprintBasePath =
+                "./../../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration"
+            assertNotNull(bluePrintRuntimeValidatorService, " failed to initilize bluePrintRuntimeValidatorService")
 
 
-        bluePrintRuntimeValidatorService.validateBluePrints(blueprintBasePath)
+            bluePrintRuntimeValidatorService.validateBluePrints(blueprintBasePath)
+        }
     }
 }
     }
 }
diff --git a/ms/blueprintsprocessor/modules/inbounds/selfservice-api/src/test/resources/test-cba.zip b/ms/blueprintsprocessor/modules/inbounds/selfservice-api/src/test/resources/test-cba.zip
deleted file mode 100644 (file)
index 785ec6c..0000000
Binary files a/ms/blueprintsprocessor/modules/inbounds/selfservice-api/src/test/resources/test-cba.zip and /dev/null differ