diff options
author | Taka <tc012c@att.com> | 2018-02-11 19:29:18 -0500 |
---|---|---|
committer | Patrick Brady <pb071s@att.com> | 2018-02-19 19:10:31 +0000 |
commit | bbda29c7e9f4960c65b6fe0b8cc2b266ba3d5dd0 (patch) | |
tree | c3897953c64c94558da2ce5ed72246910d861a80 /appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/test/java | |
parent | c5281dd38d7f1989bf8750c6072192cdbc46031d (diff) |
Unit Test for ansibleActivator
Change-Id: I56279239cdae934116e4d3ac8d257f593e641064
Issue-ID: APPC-600
Signed-off-by: Taka <tc012c@att.com>
Diffstat (limited to 'appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/test/java')
2 files changed, 116 insertions, 6 deletions
diff --git a/appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/test/java/org/onap/appc/adapter/ansible/AnsibleActivatorTest.java b/appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/test/java/org/onap/appc/adapter/ansible/AnsibleActivatorTest.java new file mode 100644 index 000000000..2eb1a781b --- /dev/null +++ b/appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/test/java/org/onap/appc/adapter/ansible/AnsibleActivatorTest.java @@ -0,0 +1,114 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2018 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. + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * ============LICENSE_END========================================================= + */ + +package org.onap.appc.adapter.ansible; + +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.ansible.impl.AnsibleAdapterImpl; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceRegistration; + +@RunWith(MockitoJUnitRunner.class) + +public class AnsibleActivatorTest { + + @Mock + private ServiceRegistration<AnsibleAdapter> serviceRegistration; + @Mock + private BundleContext bundleContext; + + private AnsibleActivator ansibleActivator = new AnsibleActivator(); + + @Before + public void setUp() { + given(bundleContext.registerService(eq(AnsibleAdapter.class), isA(AnsibleAdapterImpl.class), isNull( + Dictionary.class))).willReturn(serviceRegistration); + } + + @Test + public void start_shouldRegisterService_whenRegistrationOccursForTheFirstTime() throws Exception { + registerService(); + + then(bundleContext).should(only()) + .registerService(eq(AnsibleAdapter.class), isA(AnsibleAdapterImpl.class), isNull( + Dictionary.class)); + } + + @Test + public void start_shouldRegisterServiceOnlyOnce_whenServiceRegistrationIsNotNull() throws Exception { + // GIVEN + registerService(); + + // WHEN + registerService(); + + // THEN + then(bundleContext).should(only()).registerService(eq(AnsibleAdapter.class), isA(AnsibleAdapterImpl.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 { + ansibleActivator.start(bundleContext); + } + + private void unregisterService() throws Exception { + ansibleActivator.stop(bundleContext); + } +} diff --git a/appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/test/java/org/onap/appc/adapter/ansible/model/TestAnsibleAdapter.java b/appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/test/java/org/onap/appc/adapter/ansible/model/TestAnsibleAdapter.java index 9641d1986..34953d437 100644 --- a/appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/test/java/org/onap/appc/adapter/ansible/model/TestAnsibleAdapter.java +++ b/appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/test/java/org/onap/appc/adapter/ansible/model/TestAnsibleAdapter.java @@ -42,13 +42,11 @@ public class TestAnsibleAdapter { @Test public void callPrivateConstructorsMethodsForCodeCoverage() throws SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException { - /* test constructors */ Class<?>[] classesOne = {AnsibleMessageParser.class}; for(Class<?> clazz : classesOne) { Constructor<?> constructor = clazz.getDeclaredConstructor(); name = constructor.getName(); - System.out.println("the constructor name is" + name); constructor.setAccessible(true); assertNotNull(constructor.newInstance()); } @@ -56,7 +54,6 @@ public class TestAnsibleAdapter { for(Class<?> clazz : classesTwo) { Constructor<?> constructor = clazz.getDeclaredConstructor(); name = constructor.getName(); - System.out.println("the constructor name is" + name); constructor.setAccessible(true); assertNotNull(constructor.newInstance()); } @@ -64,17 +61,16 @@ public class TestAnsibleAdapter { for(Class<?> clazz : classesThree) { Constructor<?> constructor = clazz.getDeclaredConstructor(); name = constructor.getName(); - System.out.println("the constructor name is" + name); constructor.setAccessible(true); assertNotNull(constructor.newInstance()); } /* test methods */ - ansibleMessageParser = new AnsibleMessageParser(); + ansibleMessageParser = new AnsibleMessageParser(); parameterTypes = new Class[1]; parameterTypes[0] = java.lang.String.class; + m = ansibleMessageParser.getClass().getDeclaredMethod("getFilePayload", parameterTypes); - System.out.println("method name is getFilePayload"); m.setAccessible(true); assertNotNull(m.invoke(ansibleMessageParser,"{\"test\": test}")); |