From e8db37654457e9a83136da39006e962048295cf5 Mon Sep 17 00:00:00 2001 From: Steve Siani Date: Thu, 28 Mar 2019 15:27:35 -0400 Subject: Complementary Junit test coverage Change-Id: I5eec76918c63d1fa248a9fc353f8dc02ae925364 Issue-ID: CCSDK-1187 Signed-off-by: Steve Siani --- .../db/BlueprintProcessorCatalogServiceImplTest.kt | 61 +++++++++++++++++++++- .../MockBlueprintProcessorCatalogServiceImpl.kt | 29 ++++++++++ 2 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 ms/blueprintsprocessor/modules/commons/db-lib/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/mock/MockBlueprintProcessorCatalogServiceImpl.kt (limited to 'ms/blueprintsprocessor/modules/commons') diff --git a/ms/blueprintsprocessor/modules/commons/db-lib/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/BlueprintProcessorCatalogServiceImplTest.kt b/ms/blueprintsprocessor/modules/commons/db-lib/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/BlueprintProcessorCatalogServiceImplTest.kt index 2fda15906..e40efd0c4 100644 --- a/ms/blueprintsprocessor/modules/commons/db-lib/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/BlueprintProcessorCatalogServiceImplTest.kt +++ b/ms/blueprintsprocessor/modules/commons/db-lib/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/BlueprintProcessorCatalogServiceImplTest.kt @@ -1,6 +1,8 @@ /* * Copyright (C) 2019 Bell Canada. * + * Copyright (C) 2019 IBM, Bell Canada. + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -21,11 +23,18 @@ import org.junit.runner.RunWith 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.blueprintsprocessor.core.BluePrintCoreConfiguration +import org.onap.ccsdk.cds.blueprintsprocessor.db.mock.MockBlueprintProcessorCatalogServiceImpl +import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants +import org.onap.ccsdk.cds.controllerblueprints.core.service.BluePrintRuntimeService +import org.onap.ccsdk.cds.controllerblueprints.core.utils.BluePrintMetadataUtils import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.autoconfigure.EnableAutoConfiguration import org.springframework.context.annotation.ComponentScan +import org.springframework.test.context.ContextConfiguration import org.springframework.test.context.TestPropertySource import org.springframework.test.context.junit4.SpringRunner +import java.io.File import kotlin.test.AfterTest import kotlin.test.BeforeTest import kotlin.test.assertTrue @@ -33,15 +42,29 @@ import kotlin.test.assertTrue @RunWith(SpringRunner::class) @EnableAutoConfiguration @ComponentScan(basePackages = ["org.onap.ccsdk.cds.blueprintsprocessor", "org.onap.ccsdk.cds.controllerblueprints"]) +@ContextConfiguration(classes = [BlueprintProcessorCatalogServiceImpl::class, BluePrintCoreConfiguration::class, + MockBlueprintProcessorCatalogServiceImpl::class]) @TestPropertySource(locations = ["classpath:application-test.properties"]) class BlueprintProcessorCatalogServiceImplTest { @Autowired lateinit var blueprintCatalog: BluePrintCatalogService + @Autowired + lateinit var blueprintProcessorCatalogServiceImpl: BlueprintProcessorCatalogServiceImpl + + @Autowired + lateinit var blueprintCoreConfiguration: BluePrintCoreConfiguration + + private lateinit var bluePrintRuntimeService: BluePrintRuntimeService<*> + + private val blueprintId = "1234" + @BeforeTest fun setup() { deleteDir("target", "blueprints") + bluePrintRuntimeService = BluePrintMetadataUtils.getBluePrintRuntime(blueprintId, + "./../../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration") } @AfterTest @@ -51,6 +74,7 @@ class BlueprintProcessorCatalogServiceImplTest { @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") @@ -58,11 +82,46 @@ class BlueprintProcessorCatalogServiceImplTest { assertTrue(file.exists(), "couldn't get file ${file.absolutePath}") blueprintCatalog.saveToDatabase("1234", file) - blueprintCatalog.getFromDatabase("baseconfiguration", "1.0.0") blueprintCatalog.deleteFromDatabase("baseconfiguration", "1.0.0") + } + } + + @Test + fun `test save function`() { + runBlocking { + val file = normalizedFile("./src/test/resources/test-cba.zip") + assertTrue(file.exists(), "couldnt get file ${file.absolutePath}") + val metadata = bluePrintRuntimeService.bluePrintContext().metadata!! + metadata[BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID] = blueprintId + blueprintProcessorCatalogServiceImpl.save(metadata, file) + } + } + + @Test + fun `test get function`() { + runBlocking { + val file = normalizedFile("./src/test/resources/test-cba.zip") + assertTrue(file.exists(), "couldnt get file ${file.absolutePath}") + val metadata = bluePrintRuntimeService.bluePrintContext().metadata!! + metadata[BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID] = blueprintId + + blueprintProcessorCatalogServiceImpl.save(metadata, file) + blueprintProcessorCatalogServiceImpl.get("baseconfiguration", "1.0.0", true) + } + + assertTrue(File(blueprintCoreConfiguration.bluePrintPathConfiguration().blueprintArchivePath + + "/baseconfiguration").deleteRecursively(),"Couldn't get blueprint archive " + + "${blueprintCoreConfiguration.bluePrintPathConfiguration().blueprintArchivePath}/baseconfiguration " + + "from data base.") + } + + @Test + fun `test delete function`() { + runBlocking { + blueprintProcessorCatalogServiceImpl.delete("baseconfiguration", "1.0.0") } } } \ No newline at end of file diff --git a/ms/blueprintsprocessor/modules/commons/db-lib/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/mock/MockBlueprintProcessorCatalogServiceImpl.kt b/ms/blueprintsprocessor/modules/commons/db-lib/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/mock/MockBlueprintProcessorCatalogServiceImpl.kt new file mode 100644 index 000000000..08de33270 --- /dev/null +++ b/ms/blueprintsprocessor/modules/commons/db-lib/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/mock/MockBlueprintProcessorCatalogServiceImpl.kt @@ -0,0 +1,29 @@ +/* + * Copyright © 2019 IBM, Bell Canada. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.onap.ccsdk.cds.blueprintsprocessor.db.mock + +import io.mockk.mockk +import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BluePrintValidatorService +import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Configuration +@Configuration +open class MockBlueprintProcessorCatalogServiceImpl { + + @Bean(name = ["blueprintProcessorCatalogServiceImpl"]) + open fun createBlueprintProcessorCatalogServiceImpl(): BluePrintValidatorService { + return mockk() + } +} \ No newline at end of file -- cgit 1.2.3-korg