From b84d399884ed03d3144903ee558933ed8fb800f7 Mon Sep 17 00:00:00 2001 From: Dan Timoney Date: Mon, 16 Nov 2020 14:58:31 -0500 Subject: Add integration test for sliboot docker Added integration test for sliboot docker. Change-Id: I582d41ac1a041466e16bd0f38ef3b9ccfef4747a Issue-ID: CCSDK-2986 Signed-off-by: Dan Timoney --- ms/sliboot/pom.xml | 376 +++++++++++++-------- ms/sliboot/src/main/dc/docker-compose.yaml | 1 + ms/sliboot/src/main/resources/dblib.properties | 38 +++ .../org/onap/ccsdk/apps/ms/sliboot/SlibootIT.java | 31 ++ ms/sliboot/src/test/resources/dblib.properties | 38 +++ 5 files changed, 351 insertions(+), 133 deletions(-) create mode 100644 ms/sliboot/src/main/resources/dblib.properties create mode 100644 ms/sliboot/src/test/java/org/onap/ccsdk/apps/ms/sliboot/SlibootIT.java create mode 100644 ms/sliboot/src/test/resources/dblib.properties diff --git a/ms/sliboot/pom.xml b/ms/sliboot/pom.xml index a35a28b1..2057074f 100644 --- a/ms/sliboot/pom.xml +++ b/ms/sliboot/pom.xml @@ -29,6 +29,7 @@ ${project.artifactId}-${project.version}-exec.jar deploy true + true @@ -192,6 +193,41 @@ + + copy-dependencies + + copy-dependencies + + prepare-package + + true + ${project.build.directory}/docker-stage/opt/onap/ccsdk/lib + false + true + true + false + false + false + + + + unpack dgs + generate-sources + + unpack + + + ${basedir}/target/docker-stage/opt/onap/ccsdk + + + org.onap.ccsdk.distribution + platform-logic-installer + ${project.version} + zip + + + + @@ -238,6 +274,126 @@ + + org.apache.maven.plugins + maven-surefire-plugin + 2.19.1 + + always + + ${basedir}/src/test/resources + ${basedir}/src/test/resources/svclogic.properties + + + + + org.apache.maven.plugins + maven-failsafe-plugin + + + + integration-test + verify + + + + + true + + + + maven-resources-plugin + 2.6 + + + copy-dockerfile + + copy-resources + + initialize + + ${basedir}/target/docker-stage + + + src/main/docker + + Dockerfile + + true + + + + + + copy-config + + copy-resources + + generate-resources + + ${basedir}/target/docker-stage/opt/onap/ccsdk/config + + + src/main/resources + + *.properties + *.props + *.sql + + true + + + src/main/resources + + *.keyfile + *.jks + *.p12 + + false + + + + + + copy-script + + copy-resources + + generate-resources + + ${basedir}/target/docker-stage/opt/onap/ccsdk/bin + + + src/main/resources + + *.sh + + true + + + + + + copy-jar + + copy-resources + + package + + ${basedir}/target/docker-stage/opt/onap/ccsdk/lib + + + ${basedir}/target + + ${ccsdk.sliboot.jar} + + false + + + + + + @@ -249,140 +405,22 @@ org.apache.maven.plugins - maven-dependency-plugin - 2.10 - + maven-failsafe-plugin - - copy-dependencies - - copy-dependencies - - prepare-package - - true - ${project.build.directory}/docker-stage/opt/onap/ccsdk/lib - false - true - true - false - false - false - - - - unpack dgs - generate-sources - - unpack - - - ${basedir}/target/docker-stage/opt/onap/ccsdk - - - org.onap.ccsdk.distribution - platform-logic-installer - ${project.version} - zip - - - - - - - - maven-resources-plugin - 2.6 - - - copy-dockerfile - - copy-resources - - initialize - - ${basedir}/target/docker-stage - - - src/main/docker - - Dockerfile - - true - - - - - - copy-config - - copy-resources - - generate-resources - - ${basedir}/target/docker-stage/opt/onap/ccsdk/config - - - src/main/resources - - *.properties - *.props - *.sql - - true - - - src/main/resources - - *.keyfile - *.jks - *.p12 - - false - - - - - - copy-script - - copy-resources - - generate-resources - - ${basedir}/target/docker-stage/opt/onap/ccsdk/bin - - - src/main/resources - - *.sh - - true - - - - - - copy-jar - - copy-resources - - package - - ${basedir}/target/docker-stage/opt/onap/ccsdk/lib - - - ${basedir}/target - - ${ccsdk.sliboot.jar} - - false - - - - + + + integration-test + verify + + - + + false + + ${sliboot.port} + + + io.fabric8 docker-maven-plugin @@ -413,7 +451,78 @@ build - + + + start-it-instance + pre-integration-test + + start + + + + + mariadb:10.5 + slibootdb + + + itsASecret + sli + abc123 + sdnctl + + + custom + onap + dbhost + + + slibootdb.port:3306 + + + true + + + + + ${image.name}:${project.docker.latesttagtimestamp.version} + sliboot-container + + + sli + abc123 + sdnctl + /opt/onap/ccsdk/config + + + slibootdb + + + custom + onap + sliboot + + + sliboot.port:8080 + + + Started SlibootApp + + + + true + + + + + + + + stop-it-instance + post-integration-test + + stop + + push-images ${docker.push.phase} @@ -424,6 +533,7 @@ + diff --git a/ms/sliboot/src/main/dc/docker-compose.yaml b/ms/sliboot/src/main/dc/docker-compose.yaml index b1f25293..31d06802 100755 --- a/ms/sliboot/src/main/dc/docker-compose.yaml +++ b/ms/sliboot/src/main/dc/docker-compose.yaml @@ -34,6 +34,7 @@ services: - MYSQL_DB_USER=sli - MYSQL_DB_PASSWD=abc123 - MYSQL_DB_DATABASE=sdnctl + - SDNC_CONFIG_DIR=/opt/onap/ccsdk/config logging: driver: "json-file" options: diff --git a/ms/sliboot/src/main/resources/dblib.properties b/ms/sliboot/src/main/resources/dblib.properties new file mode 100644 index 00000000..b9d98068 --- /dev/null +++ b/ms/sliboot/src/main/resources/dblib.properties @@ -0,0 +1,38 @@ +### +# ============LICENSE_START======================================================= +# openECOMP : SDN-C +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights +# reserved. +# ================================================================================ +# 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. +# ============LICENSE_END========================================================= +### + +# dblib.properrties +org.onap.ccsdk.sli.dbtype=jdbc + +org.onap.ccsdk.sli.jdbc.hosts=dbhost +org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://dbhost:3306/sdnctl +org.onap.ccsdk.sli.jdbc.driver=org.mariadb.jdbc.Driver +org.onap.ccsdk.sli.jdbc.database=sdnctl +org.onap.ccsdk.sli.jdbc.user=sli +org.onap.ccsdk.sli.jdbc.password=abc123 +org.onap.ccsdk.sli.jdbc.connection.name=dbhost +org.onap.ccsdk.sli.jdbc.connection.timeout=50 +org.onap.ccsdk.sli.jdbc.request.timeout=100 +org.onap.ccsdk.sli.jdbc.limit.init=10 +org.onap.ccsdk.sli.jdbc.limit.min=10 +org.onap.ccsdk.sli.jdbc.limit.max=20 +org.onap.dblib.connection.recovery=false + diff --git a/ms/sliboot/src/test/java/org/onap/ccsdk/apps/ms/sliboot/SlibootIT.java b/ms/sliboot/src/test/java/org/onap/ccsdk/apps/ms/sliboot/SlibootIT.java new file mode 100644 index 00000000..9fce09dc --- /dev/null +++ b/ms/sliboot/src/test/java/org/onap/ccsdk/apps/ms/sliboot/SlibootIT.java @@ -0,0 +1,31 @@ +package org.onap.ccsdk.apps.ms.sliboot; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.io.IOException; + +import org.apache.http.client.ClientProtocolException; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.junit.Test; + +public class SlibootIT { + @Test + public void healthcheckTest() throws ClientProtocolException, IOException { + String slibootPort = System.getenv("SLIBOOT_PORT"); + if ((slibootPort == null) || (slibootPort.length() == 0)) { + slibootPort = "8080"; + } + + String testUrl = "http://localhost:" + slibootPort + "/restconf/operations/SLI-API:healthcheck/"; + + CloseableHttpClient client = HttpClients.createDefault(); + HttpPost postCmd = new HttpPost(testUrl); + postCmd.addHeader("Content-Type", "application/json"); + + CloseableHttpResponse resp = client.execute(postCmd); + assertEquals(200, resp.getStatusLine().getStatusCode()); + } +} diff --git a/ms/sliboot/src/test/resources/dblib.properties b/ms/sliboot/src/test/resources/dblib.properties new file mode 100644 index 00000000..b5f705a5 --- /dev/null +++ b/ms/sliboot/src/test/resources/dblib.properties @@ -0,0 +1,38 @@ +### +# ============LICENSE_START======================================================= +# openECOMP : SDN-C +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights +# reserved. +# ================================================================================ +# 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. +# ============LICENSE_END========================================================= +### + +# dblib.properrties +org.onap.ccsdk.sli.dbtype=jdbc + +org.onap.ccsdk.sli.jdbc.hosts=dbhost +org.onap.ccsdk.sli.jdbc.url=jdbc:derby:memory:sdnctl;create=true +org.onap.ccsdk.sli.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver +org.onap.ccsdk.sli.jdbc.database=sdnctl +org.onap.ccsdk.sli.jdbc.user=test +org.onap.ccsdk.sli.jdbc.password=test +org.onap.ccsdk.sli.jdbc.connection.name=dbhost +org.onap.ccsdk.sli.jdbc.connection.timeout=50 +org.onap.ccsdk.sli.jdbc.request.timeout=100 +org.onap.ccsdk.sli.jdbc.limit.init=10 +org.onap.ccsdk.sli.jdbc.limit.min=10 +org.onap.ccsdk.sli.jdbc.limit.max=20 +org.onap.dblib.connection.recovery=false + -- cgit 1.2.3-korg