From 08898672e0de04238acdedea4266c58f17c2b7e0 Mon Sep 17 00:00:00 2001 From: ToineSiebelink Date: Mon, 12 Jun 2023 16:24:02 +0100 Subject: Move integration test (clean-up, last phase) - Moved session manager test - Improved schemaset concurrency test (retry testing) - Cleaned up all ri (container based) integration test (setup) - Applied some groovy best practice where needed - internal ri module cover now down to 29%, covred by integration instead with - Line coverage up by 41 lines to 99% (was 97%) - Branch coverage up by 3 branches to 96% (was 93%) Issue-ID: CPS-1687 Signed-off-by: ToineSiebelink Change-Id: Ifb77a053e5a5db62a3f6a32ae60a3a8b10918efd --- .../java/org/onap/cps/DatabaseTestContainer.java | 72 ---------------------- .../test/java/org/onap/cps/TestApplication.java | 33 ---------- 2 files changed, 105 deletions(-) delete mode 100755 cps-ri/src/test/java/org/onap/cps/DatabaseTestContainer.java delete mode 100644 cps-ri/src/test/java/org/onap/cps/TestApplication.java (limited to 'cps-ri/src/test/java/org/onap') diff --git a/cps-ri/src/test/java/org/onap/cps/DatabaseTestContainer.java b/cps-ri/src/test/java/org/onap/cps/DatabaseTestContainer.java deleted file mode 100755 index 61a5c042a6..0000000000 --- a/cps-ri/src/test/java/org/onap/cps/DatabaseTestContainer.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2020 Pantheon.tech - * Modifications Copyright (C) 2022 Nordix Foundation. - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.cps; - -import org.testcontainers.containers.PostgreSQLContainer; -import org.testcontainers.utility.DockerImageName; - -/** - * The Postgresql database test container wrapper. - * Singleton implementation allows saving time on database initialization which otherwise would occur on each test. - * for debugging/developing purposes you can suspend any test and connect to this database: - * docker exec -it {container-id} sh - * psql -d test -U test - */ -public class DatabaseTestContainer extends PostgreSQLContainer { - private static final String IMAGE_VERSION = "registry.nordix.org/onaptest/postgres:14.1"; - private static DatabaseTestContainer databaseTestContainer; - - private DatabaseTestContainer() { - super(DockerImageName.parse(IMAGE_VERSION).asCompatibleSubstituteFor("postgres")); - } - - /** - * Provides an instance of test container wrapper. - * The returned value expected to be assigned to static variable annotated with @ClassRule. - * This will allow to initialize DB connection env variables before DataSource object - * is initialized by Spring framework. - * - */ - public static DatabaseTestContainer getInstance() { - if (databaseTestContainer == null) { - databaseTestContainer = new DatabaseTestContainer(); - Runtime.getRuntime().addShutdownHook(new Thread(databaseTestContainer::terminate)); - } - return databaseTestContainer; - } - - @Override - public void start() { - super.start(); - System.setProperty("DB_URL", databaseTestContainer.getJdbcUrl()); - System.setProperty("DB_USERNAME", databaseTestContainer.getUsername()); - System.setProperty("DB_PASSWORD", databaseTestContainer.getPassword()); - } - - @Override - public void stop() { - // do nothing on test completion, image removal will be performed via terminate() on JVM shutdown - } - - private void terminate() { - super.stop(); - } -} diff --git a/cps-ri/src/test/java/org/onap/cps/TestApplication.java b/cps-ri/src/test/java/org/onap/cps/TestApplication.java deleted file mode 100644 index 075a241fc7..0000000000 --- a/cps-ri/src/test/java/org/onap/cps/TestApplication.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2020 Pantheon.tech - * Modifications Copyright (C) 2021 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.cps; - -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.retry.annotation.EnableRetry; - -/** - * The @SpringBootApplication annotated class is required in order to run tests - * marked with @SpringBootTest annotation. - */ -@SpringBootApplication(scanBasePackages = "org.onap.cps.spi") -@EnableRetry -public class TestApplication { -} -- cgit 1.2.3-korg