From 37cbf4c51a143579ab31a4b5ef2ca1e57b26cb1a Mon Sep 17 00:00:00 2001 From: Taka Date: Tue, 13 Feb 2018 16:02:05 -0500 Subject: UnitTest for Rest Healthcheck activator Change-Id: I214f14cc0dbc735d87bcbf5b59cf286d41dc826b Issue-ID: APPC-624 Signed-off-by: Taka --- .../appc-rest-healthcheck-adapter-bundle/pom.xml | 407 +++++++++++---------- .../restHealthcheck/RestHealthcheckActivator.java | 4 +- .../RestHealthcheckActivatorTest.java | 111 ++++++ 3 files changed, 318 insertions(+), 204 deletions(-) create mode 100644 appc-adapters/appc-rest-healthcheck-adapter/appc-rest-healthcheck-adapter-bundle/src/test/java/org/onap/appc/adapter/restHealthcheck/RestHealthcheckActivatorTest.java diff --git a/appc-adapters/appc-rest-healthcheck-adapter/appc-rest-healthcheck-adapter-bundle/pom.xml b/appc-adapters/appc-rest-healthcheck-adapter/appc-rest-healthcheck-adapter-bundle/pom.xml index c0a7f9f66..3a5f3cd5a 100644 --- a/appc-adapters/appc-rest-healthcheck-adapter/appc-rest-healthcheck-adapter-bundle/pom.xml +++ b/appc-adapters/appc-rest-healthcheck-adapter/appc-rest-healthcheck-adapter-bundle/pom.xml @@ -21,208 +21,211 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. --> - 4.0.0 - - org.onap.appc - appc-rest-healthcheck-adapter - 1.3.0-SNAPSHOT - - - appc-rest-healthcheck-adapter-bundle - bundle - rest healthcheck Adapter - bundle - - - - commons-codec - commons-codec - - - - commons-logging - commons-logging - 1.2 - - - - org.apache.httpcomponents - httpcore - 4.4.4 - - - - org.apache.httpcomponents - httpclient - 4.5.1 - - - org.bouncycastle - bcpkix-jdk15on - 1.47 - - - org.bouncycastle - bcprov-jdk15on - 1.47 - - - org.onap.appc - appc-common - ${project.version} - compile - - - - javax - javaee-api - 7.0 - - - - - com.att.cdp - cdp-pal-common - compile - - - - com.att.cdp - cdp-pal-openstack - compile - - - - javax.ws.rs - javax.ws.rs-api - - - - - com.sun.jersey - jersey-client - - - - com.sun.jersey - jersey-json - - - - javax.xml.bind - jaxb-api - 2.2.3 - - - - javax.xml - jaxp-api - 1.4.2 - - - - - org.glassfish.jersey.core - jersey-common - 2.9.1 + 4.0.0 + + org.onap.appc + appc-rest-healthcheck-adapter + 1.3.0-SNAPSHOT + + + appc-rest-healthcheck-adapter-bundle + bundle + rest healthcheck Adapter - bundle + + + + commons-codec + commons-codec + + + + commons-logging + commons-logging + 1.2 + + + + org.apache.httpcomponents + httpcore + 4.4.4 + + + + org.apache.httpcomponents + httpclient + 4.5.1 + + + org.bouncycastle + bcpkix-jdk15on + 1.47 + + + org.bouncycastle + bcprov-jdk15on + 1.47 + + + org.onap.appc + appc-common + ${project.version} + compile + + + + javax + javaee-api + 7.0 + + + + + com.att.cdp + cdp-pal-common + compile + + + + com.att.cdp + cdp-pal-openstack + compile + + + + javax.ws.rs + javax.ws.rs-api + + + + + com.sun.jersey + jersey-client + + + + com.sun.jersey + jersey-json + + + + javax.xml.bind + jaxb-api + 2.2.3 + + + + javax.xml + jaxp-api + 1.4.2 + + + + + org.glassfish.jersey.core + jersey-common + 2.9.1 test - - - - org.codehaus.jackson - jackson-jaxrs - 1.9.12 - - - - junit - junit - test - - - - org.onap.ccsdk.sli.core - sli-common - provided - - - - org.onap.ccsdk.sli.core - dblib-provider - - - - - - org.onap.ccsdk.sli.core - sli-provider - provided - - - - org.onap.ccsdk.sli.core - dblib-provider - - - - - - equinoxSDK381 - org.eclipse.osgi - - - - org.slf4j - slf4j-api - - - - org.slf4j - jcl-over-slf4j - - - + + + + org.codehaus.jackson + jackson-jaxrs + 1.9.12 + + + + junit + junit + test + + + org.mockito + mockito-core + + + org.onap.ccsdk.sli.core + sli-common + provided + + + + org.onap.ccsdk.sli.core + dblib-provider + + + + + + org.onap.ccsdk.sli.core + sli-provider + provided + + + + org.onap.ccsdk.sli.core + dblib-provider + + + + + + equinoxSDK381 + org.eclipse.osgi + + + + org.slf4j + slf4j-api + + + + org.slf4j + jcl-over-slf4j + + + org.mariadb.jdbc - mariadb-java-client - - - - com.vmware - vijava - 5.1 - compile - - - - xerces - xerces - 2.4.0 - provided - - - - - - - - org.apache.felix - maven-bundle-plugin - true - - - appc-rest-healthcheck-adapter - org.onap.appc.adapter.restHealthcheck.RestHealthcheckActivator - org.onap.appc.adapter.restHealthcheck - org.onap.ccsdk.sli.core.sli.*,org.osgi.framework.*,org.slf4j.*,com.vmware.*,org.apache.xerces.*,javax.net.*,javax.net.ssl.*,org.xml.sax.*,javax.xml.bind.*,javax.naming.*,javax.security.auth.* - - - *;scope=compile|runtime;artifactId=!sli-common|!appc-common|org.eclipse.osgi|slf4j-api|jcl-over-slf4j|xml-apis - - true - - - ${project.basedir}/src/main/resources/META-INF - - - - + mariadb-java-client + + + + com.vmware + vijava + 5.1 + compile + + + + xerces + xerces + 2.4.0 + provided + + + + + + + + org.apache.felix + maven-bundle-plugin + true + + + appc-rest-healthcheck-adapter + org.onap.appc.adapter.restHealthcheck.RestHealthcheckActivator + org.onap.appc.adapter.restHealthcheck + org.onap.ccsdk.sli.core.sli.*,org.osgi.framework.*,org.slf4j.*,com.vmware.*,org.apache.xerces.*,javax.net.*,javax.net.ssl.*,org.xml.sax.*,javax.xml.bind.*,javax.naming.*,javax.security.auth.* + + + *;scope=compile|runtime;artifactId=!sli-common|!appc-common|org.eclipse.osgi|slf4j-api|jcl-over-slf4j|xml-apis + + true + + + ${project.basedir}/src/main/resources/META-INF + + + + diff --git a/appc-adapters/appc-rest-healthcheck-adapter/appc-rest-healthcheck-adapter-bundle/src/main/java/org/onap/appc/adapter/restHealthcheck/RestHealthcheckActivator.java b/appc-adapters/appc-rest-healthcheck-adapter/appc-rest-healthcheck-adapter-bundle/src/main/java/org/onap/appc/adapter/restHealthcheck/RestHealthcheckActivator.java index 296ef6019..7d644a0f1 100644 --- a/appc-adapters/appc-rest-healthcheck-adapter/appc-rest-healthcheck-adapter-bundle/src/main/java/org/onap/appc/adapter/restHealthcheck/RestHealthcheckActivator.java +++ b/appc-adapters/appc-rest-healthcheck-adapter/appc-rest-healthcheck-adapter-bundle/src/main/java/org/onap/appc/adapter/restHealthcheck/RestHealthcheckActivator.java @@ -1,4 +1,3 @@ - /*- * ============LICENSE_START======================================================= * ONAP : APPC @@ -38,6 +37,7 @@ public class RestHealthcheckActivator implements BundleActivator { */ private ServiceRegistration registration = null; private static final EELFLogger logger = EELFManager.getInstance().getLogger(RestHealthcheckActivator.class); + private static final String APPNAME = "APPC Rest Healthcheck adapter"; /** * Called when this bundle is started so the Framework can perform the bundle-specific activities necessary to start @@ -94,7 +94,7 @@ public class RestHealthcheckActivator implements BundleActivator { } } public String getName() { - return "APPC Rest Healthcheck adapter"; + return APPNAME; } } diff --git a/appc-adapters/appc-rest-healthcheck-adapter/appc-rest-healthcheck-adapter-bundle/src/test/java/org/onap/appc/adapter/restHealthcheck/RestHealthcheckActivatorTest.java b/appc-adapters/appc-rest-healthcheck-adapter/appc-rest-healthcheck-adapter-bundle/src/test/java/org/onap/appc/adapter/restHealthcheck/RestHealthcheckActivatorTest.java new file mode 100644 index 000000000..dd5716d9c --- /dev/null +++ b/appc-adapters/appc-rest-healthcheck-adapter/appc-rest-healthcheck-adapter-bundle/src/test/java/org/onap/appc/adapter/restHealthcheck/RestHealthcheckActivatorTest.java @@ -0,0 +1,111 @@ +/* + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2018 AT&T 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========================================================= + */ + +package org.onap.appc.adapter.restHealthcheck; + +import static org.mockito.BDDMockito.given; +import static org.mockito.BDDMockito.then; +import static org.mockito.Matchers.eq; +import static org.mockito.Matchers.isA; +import static org.mockito.Matchers.isNull; +import static org.mockito.Mockito.only; + +import java.util.Dictionary; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.appc.adapter.restHealthcheck.impl.RestHealthcheckAdapterImpl; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceRegistration; + +@RunWith(MockitoJUnitRunner.class) +public class RestHealthcheckActivatorTest { + + @Mock + private ServiceRegistration serviceRegistration; + @Mock + private BundleContext bundleContext; + + private RestHealthcheckActivator restHealthcheckActivator = new RestHealthcheckActivator(); + + @Before + public void setUp() { + given(bundleContext.registerService(eq(RestHealthcheckAdapter.class), isA(RestHealthcheckAdapterImpl.class), isNull( + Dictionary.class))).willReturn(serviceRegistration); + } + + @Test + public void start_shouldRegisterService_whenRegistrationOccursForTheFirstTime() throws Exception { + registerService(); + + then(bundleContext).should(only()) + .registerService(eq(RestHealthcheckAdapter.class), isA(RestHealthcheckAdapterImpl.class), isNull( + Dictionary.class)); + } + + @Test + public void start_shouldRegisterServiceOnlyOnce_whenServiceRegistrationIsNotNull() throws Exception { + // GIVEN + registerService(); + + // WHEN + registerService(); + + // THEN + then(bundleContext).should(only()).registerService(eq(RestHealthcheckAdapter.class), isA(RestHealthcheckAdapterImpl.class), isNull( + Dictionary.class)); + } + + @Test + public void stop_shouldUnregisterService_whenServiceRegistrationObjectIsNotNull() throws Exception { + // GIVEN + registerService(); + + // WHEN + unregisterService(); + + // THEN + then(serviceRegistration).should().unregister(); + } + + @Test + public void stop_shouldNotAttemptToUnregisterService_whenServiceHasAlreadyBeenUnregistered() + throws Exception { + // GIVEN + registerService(); + unregisterService(); + + // WHEN + unregisterService(); + + // THEN + then(serviceRegistration).should(only()).unregister(); + } + + private void registerService() throws Exception { + restHealthcheckActivator.start(bundleContext); + } + + private void unregisterService() throws Exception { + restHealthcheckActivator.stop(bundleContext); + } +} -- cgit 1.2.3-korg