diff options
Diffstat (limited to 'ms/blueprintsprocessor/modules/inbounds/health-api/src/test')
4 files changed, 46 insertions, 170 deletions
diff --git a/ms/blueprintsprocessor/modules/inbounds/health-api/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/healthapi/HealthCheckApplicationTests.kt b/ms/blueprintsprocessor/modules/inbounds/health-api/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/healthapi/HealthCheckApplicationTests.kt index cd02b65dc..b1d629da7 100644 --- a/ms/blueprintsprocessor/modules/inbounds/health-api/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/healthapi/HealthCheckApplicationTests.kt +++ b/ms/blueprintsprocessor/modules/inbounds/health-api/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/healthapi/HealthCheckApplicationTests.kt @@ -20,7 +20,9 @@ package org.onap.ccsdk.cds.blueprintsprocessor.healthapi import org.junit.Test import org.junit.runner.RunWith import org.onap.ccsdk.cds.blueprintsprocessor.core.BluePrintCoreConfiguration +import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.ComponentScriptExecutor import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BluePrintCatalogService +import org.onap.ccsdk.cds.controllerblueprints.core.service.BluePrintRuntimeService import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.autoconfigure.security.SecurityProperties import org.springframework.boot.test.autoconfigure.web.reactive.WebFluxTest @@ -30,25 +32,36 @@ import org.springframework.test.context.TestPropertySource import org.springframework.test.context.junit4.SpringRunner import org.springframework.test.web.reactive.server.WebTestClient - +/** + *Unit tests for making sure that two endpoints is up and running + * + * @author Shaaban Ebrahim + * @version 1.0 + */ @RunWith(SpringRunner::class) @WebFluxTest -@ContextConfiguration(classes = [BluePrintCoreConfiguration::class, - BluePrintCatalogService::class, SecurityProperties::class]) +@ContextConfiguration(classes = [BluePrintRuntimeService::class, BluePrintCoreConfiguration::class, + BluePrintCatalogService::class, SecurityProperties::class, ComponentScriptExecutor::class]) @ComponentScan(basePackages = ["org.onap.ccsdk.cds.blueprintsprocessor", "org.onap.ccsdk.cds.controllerblueprints"]) @TestPropertySource(locations = ["classpath:application-test.properties"]) class HealthCheckApplicationTests { - @Autowired lateinit var webTestClient: WebTestClient @Test fun testHealthApiUp() { - val result = webTestClient.get().uri("/api/v1/health") + webTestClient.get().uri("/api/v1/combinedHealth") + .exchange() + .expectStatus().is2xxSuccessful + + } + + @Test + fun testMetricsApiUp() { + webTestClient.get().uri("/api/v1/combinedMetrics") .exchange() .expectStatus().is2xxSuccessful - println(result) } diff --git a/ms/blueprintsprocessor/modules/inbounds/health-api/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/healthapi/HealthCheckServiceTest.java b/ms/blueprintsprocessor/modules/inbounds/health-api/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/healthapi/HealthCheckServiceTest.java deleted file mode 100644 index 128c80adf..000000000 --- a/ms/blueprintsprocessor/modules/inbounds/health-api/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/healthapi/HealthCheckServiceTest.java +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Copyright © 2019-2020 Orange. - * - * 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.healthapi; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; -import org.onap.ccsdk.cds.blueprintsprocessor.healthapi.domain.HealthApiResponse; -import org.onap.ccsdk.cds.blueprintsprocessor.healthapi.domain.HealthCheckStatus; -import org.onap.ccsdk.cds.blueprintsprocessor.healthapi.service.HealthCheckService; -import org.onap.ccsdk.cds.blueprintsprocessor.rest.BasicAuthRestClientProperties; -import org.onap.ccsdk.cds.blueprintsprocessor.rest.service.BasicAuthRestClientService; -import org.onap.ccsdk.cds.blueprintsprocessor.rest.service.BlueprintWebClientService.WebClientResponse; -import org.springframework.http.HttpMethod; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.anyString; - -@RunWith(MockitoJUnitRunner.class) -public class HealthCheckServiceTest { - - @Mock - private BasicAuthRestClientService basicAuthRestClientService; - - @Mock - private BasicAuthRestClientProperties restClientProperties; - - @InjectMocks - private HealthCheckService healthCheckService = new HealthCheckService(); - - @Before - public void setup() { - } - - @Test - public void testSystemIsCompletelyDown() { - - Mockito.when(basicAuthRestClientService.exchangeResource(anyString(), anyString(), anyString())). - thenThrow(new RuntimeException()); - HealthApiResponse healthApiResponse = healthCheckService.retrieveSystemStatus(); - assertNotNull(healthApiResponse); - Assert.assertEquals(healthApiResponse.getStatus(), HealthCheckStatus.DOWN); - healthApiResponse.getChecks().stream().forEach(serviceEndpoint -> { - assertNotNull(serviceEndpoint); - assertEquals(serviceEndpoint.getStatus(), HealthCheckStatus.DOWN); - - }); - - } - - - @Test - public void testSystemIsUPAndRunning() { - - Mockito.when(basicAuthRestClientService.exchangeResource(eq(HttpMethod.GET.name()), anyString(), anyString())). - thenReturn(new WebClientResponse<>(200, "Success")); - HealthApiResponse healthApiResponse = healthCheckService.retrieveSystemStatus(); - assertNotNull(healthApiResponse); - assertEquals(healthApiResponse.getStatus(), HealthCheckStatus.UP); - healthApiResponse.getChecks().stream().forEach(serviceEndpoint -> { - assertNotNull(serviceEndpoint); - assertEquals(serviceEndpoint.getStatus(), HealthCheckStatus.UP); - - }); - - } - - @Test - public void testServiceIsNotFound() { - Mockito.when(basicAuthRestClientService.exchangeResource(eq(HttpMethod.GET.name()), any(), anyString())). - thenReturn(new WebClientResponse<>(404, "failure")); - HealthApiResponse healthApiResponse = healthCheckService.retrieveSystemStatus(); - assertNotNull(healthApiResponse); - assertEquals(healthApiResponse.getStatus(), HealthCheckStatus.DOWN); - healthApiResponse.getChecks().stream().forEach(serviceEndpoint -> { - assertNotNull(serviceEndpoint); - assertEquals(serviceEndpoint.getStatus(), HealthCheckStatus.DOWN); - - }); - - } - - - @Test - public void testServiceInternalServerError() { - Mockito.when(basicAuthRestClientService.exchangeResource(eq(HttpMethod.GET.name()), any(), anyString())) - .thenReturn(new WebClientResponse<>(500, "failure")); - HealthApiResponse healthApiResponse = healthCheckService.retrieveSystemStatus(); - assertNotNull(healthApiResponse); - assertEquals(healthApiResponse.getStatus(), HealthCheckStatus.DOWN); - healthApiResponse.getChecks().stream().forEach(serviceEndpoint -> { - assertNotNull(serviceEndpoint); - assertEquals(serviceEndpoint.getStatus(), HealthCheckStatus.DOWN); - - }); - - } - - @Test - public void testServiceIsRedirected() { - Mockito.when(basicAuthRestClientService.exchangeResource(eq(HttpMethod.GET.name()), any(), anyString())) - .thenReturn(new WebClientResponse<>(300, "failure")); - HealthApiResponse healthApiResponse = healthCheckService.retrieveSystemStatus(); - assertNotNull(healthApiResponse); - assertEquals(healthApiResponse.getStatus(), HealthCheckStatus.DOWN); - healthApiResponse.getChecks().stream().forEach(serviceEndpoint -> { - assertNotNull(serviceEndpoint); - assertEquals(serviceEndpoint.getStatus(), HealthCheckStatus.DOWN); - - }); - - } - -} diff --git a/ms/blueprintsprocessor/modules/inbounds/health-api/src/test/resources/application-test.properties b/ms/blueprintsprocessor/modules/inbounds/health-api/src/test/resources/application-test.properties index c9a5700c1..8eb6db352 100644 --- a/ms/blueprintsprocessor/modules/inbounds/health-api/src/test/resources/application-test.properties +++ b/ms/blueprintsprocessor/modules/inbounds/health-api/src/test/resources/application-test.properties @@ -1,16 +1,14 @@ -# Copyright © 2019 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. +# Copyright © 2019-2020 Orange. +# 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. blueprintsprocessor.db.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1 blueprintsprocessor.db.username=sa @@ -24,8 +22,9 @@ blueprintsprocessor.db.hibernateDialect=org.hibernate.dialect.H2Dialect blueprintsprocessor.blueprintDeployPath=./target/blueprints/deploy blueprintsprocessor.blueprintWorkingPath=./target/blueprints/work blueprintsprocessor.blueprintArchivePath=./target/blueprints/archive - # Python executor blueprints.processor.functions.python.executor.executionPath=./../../../../components/scripts/python/ccsdk_blueprints blueprints.processor.functions.python.executor.modulePaths=./../../../../components/scripts/python/ccsdk_blueprints server.socket=localhost:8080 +endpoints.user.name=eHbVUbJAj4AG2522cSbrOQ== +endpoints.user.password=eHbVUbJAj4AG2522cSbrOQ== diff --git a/ms/blueprintsprocessor/modules/inbounds/health-api/src/test/resources/logback.xml b/ms/blueprintsprocessor/modules/inbounds/health-api/src/test/resources/logback.xml index c97e1cd29..11582a301 100644 --- a/ms/blueprintsprocessor/modules/inbounds/health-api/src/test/resources/logback.xml +++ b/ms/blueprintsprocessor/modules/inbounds/health-api/src/test/resources/logback.xml @@ -1,23 +1,23 @@ <!-- - ~ Copyright © 2019 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. + /* + * Copyright © 2019-2020 Orange. + * + * 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. + */ --> <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> - <!-- encoders are assigned the type - ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> <encoder> <pattern>%d{HH:mm:ss.SSS} %-5level %logger{100} - %msg%n</pattern> </encoder> |