From 286ef6e7dc5baea219a29bd5f81ea3eabf96e7b4 Mon Sep 17 00:00:00 2001 From: Jakub Dudycz Date: Thu, 15 Mar 2018 14:46:35 +0100 Subject: AbstractListener unit tests Improved code coverage. Change-Id: I131f8bbbc72e0587572baa340d10fb56f6a1c5bc Issue-ID: APPC-747 Signed-off-by: Jakub Dudycz --- .../onap/appc/listener/AbstractListenerTest.java | 154 ++++++++++++++++++++ .../listener/AppcEventListenerActivatorTest.java | 81 +++++++++++ .../onap/appc/listener/ListenerPropertiesTest.java | 157 +++++++++++++++++++++ .../onap/appc/listener/TestAbstractListener.java | 101 ------------- .../listener/TestAppcDmaapListenerActivator.java | 81 ----------- .../onap/appc/listener/TestListenerProperties.java | 157 --------------------- 6 files changed, 392 insertions(+), 339 deletions(-) create mode 100644 appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/AbstractListenerTest.java create mode 100644 appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/AppcEventListenerActivatorTest.java create mode 100644 appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/ListenerPropertiesTest.java delete mode 100644 appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/TestAbstractListener.java delete mode 100644 appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/TestAppcDmaapListenerActivator.java delete mode 100644 appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/TestListenerProperties.java (limited to 'appc-event-listener/appc-event-listener-bundle/src/test') diff --git a/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/AbstractListenerTest.java b/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/AbstractListenerTest.java new file mode 100644 index 000000000..9a408ac42 --- /dev/null +++ b/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/AbstractListenerTest.java @@ -0,0 +1,154 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Copyright (C) 2017 Amdocs + * ============================================================================= + * 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.listener; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.mockito.Matchers.any; +import static org.mockito.Matchers.anyLong; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import java.util.Properties; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; + +import java.util.concurrent.TimeUnit; +import org.junit.Before; +import org.junit.Test; +import org.onap.appc.listener.AbstractListener; +import org.onap.appc.listener.ListenerProperties; +import sun.awt.windows.ThemeReader; + +public class AbstractListenerTest { + + private DummyListener listener; + private ListenerProperties props; + + @Before + public void setup() throws Exception { + Properties regularProps = new Properties(); + regularProps.load(getClass().getResourceAsStream("/org/onap/appc/default.properties")); + props = new ListenerProperties("", regularProps); + listener = new DummyListener(props); + } + + @Test + public void stop_should_shutdown_executor() { + + EventHandler mockEventHandler = mock(EventHandler.class); + listener.setEventHandler(mockEventHandler); + + Thread thread = new Thread(listener); + thread.start(); + + assertTrue(thread.isAlive()); + assertTrue(listener.getRun()); + assertFalse(listener.getExecutor().isShutdown()); + assertFalse(listener.getExecutor().isTerminated()); + + listener.stop(); + + assertFalse(listener.getRun()); + assertTrue(listener.getExecutor().isShutdown()); + assertTrue(listener.getExecutor().isTerminated()); + + verify(mockEventHandler).closeClients(); + + } + + @Test + public void stopNow_should_clear_executors_queue_and_call_stop() throws InterruptedException { + EventHandler mockEventHandler = mock(EventHandler.class); + listener.setEventHandler(mockEventHandler); + + ThreadPoolExecutor mockExecutor = mock(ThreadPoolExecutor.class); + BlockingQueue mockBlockingQueue = mock(BlockingQueue.class); + listener.setExecutor(mockExecutor); + when(mockExecutor.getQueue()).thenReturn(mockBlockingQueue); + + Thread thread = new Thread(listener); + thread.start(); + + assertTrue(thread.isAlive()); + assertTrue(listener.getRun()); + + listener.stopNow(); + + assertFalse(listener.getRun()); + verify(mockExecutor).shutdown(); + verify(mockExecutor).awaitTermination(anyLong(), any(TimeUnit.class)); + verify(mockBlockingQueue).clear(); + verify(mockEventHandler).closeClients(); + } + + @Test + public void getBenchmark_result_should_contain_listenerId() { + String out = listener.getBenchmark(); + assertNotNull(out); + assertTrue(out.contains(listener.getListenerId())); + } + + @Test + public void getListenerId_should_return_properties_prefix_by_default() { + assertEquals(props.getPrefix(), listener.getListenerId()); + listener.setListenerId("newId"); + assertEquals("newId", listener.getListenerId()); + } + + + private class DummyListener extends AbstractListener { + + DummyListener(ListenerProperties props) { + super(props); + } + + boolean getRun() { + return run.get(); + } + + public ThreadPoolExecutor getExecutor() { + return executor; + } + + void setEventHandler(EventHandler eventHandler){ + dmaap = eventHandler; + } + + void setExecutor(ThreadPoolExecutor executor){ + this.executor = executor; + } + + @Override + public void run() { + + while (run.get()) { + } + } + } +} diff --git a/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/AppcEventListenerActivatorTest.java b/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/AppcEventListenerActivatorTest.java new file mode 100644 index 000000000..817c8faee --- /dev/null +++ b/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/AppcEventListenerActivatorTest.java @@ -0,0 +1,81 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Copyright (C) 2017 Amdocs + * ============================================================================= + * 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.listener; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.fail; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Properties; + +import org.junit.Test; +import org.mockito.Mockito; + +import static org.mockito.Mockito.doReturn; + +import org.onap.appc.listener.AppcEventListenerActivator; + +public class AppcEventListenerActivatorTest { + + @Test + public void testStartStopDefaultProperties() { + AppcEventListenerActivator appc = new AppcEventListenerActivator(); + try { + appc.start(null); + Thread.sleep(1000); + appc.stop(null); + } catch (Exception e) { + e.printStackTrace(); + fail(e.getMessage()); + } + assertNotNull(appc.getName()); + } + + @Test + public void testStartStopEmptyProperties() { + InputStream input = getClass().getResourceAsStream("/org/onap/appc/empty.properties"); + Properties props = new Properties(); + try { + props.load(input); + } catch (IOException e) { + e.printStackTrace(); + } + + AppcEventListenerActivator appc = new AppcEventListenerActivator(); + AppcEventListenerActivator spyAppc = Mockito.spy(appc); + doReturn(props).when(spyAppc).getProperties(); + + try { + spyAppc.start(null); + Thread.sleep(1000); + spyAppc.stop(null); + } catch (Exception e) { + e.printStackTrace(); + fail(e.getMessage()); + } + assertNotNull(spyAppc.getName()); + } +} diff --git a/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/ListenerPropertiesTest.java b/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/ListenerPropertiesTest.java new file mode 100644 index 000000000..79a18ceaf --- /dev/null +++ b/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/ListenerPropertiesTest.java @@ -0,0 +1,157 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Copyright (C) 2017 Amdocs + * ============================================================================= + * 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.listener; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Properties; + +import org.junit.Before; +import org.junit.Test; +import org.onap.appc.adapter.factory.MessageService; +import org.onap.appc.listener.AbstractListener; +import org.onap.appc.listener.ListenerProperties; +import org.onap.appc.listener.ListenerProperties.KEYS; + +public class ListenerPropertiesTest { + + private Properties good, bad, both; + private String prefix; + + private ListenerProperties props; + + @Before + public void setup() { + prefix = "test"; + good = new Properties(); + bad = new Properties(); + both = new Properties(); + + good.setProperty(String.format("%s.%s", prefix, "a"), "1"); + good.setProperty(String.format("%s.%s", prefix, "a.b"), "2"); + good.setProperty(String.format("%s.%s", prefix, "a.b.c"), "3"); + + bad.setProperty(prefix, "NA"); + bad.setProperty(prefix + ".", "NA"); + bad.setProperty(String.format("%s.%s", prefix + "x", "bad"), "NA"); + bad.setProperty(String.format("%s.%s", "x" + prefix, "bad"), "NA"); + + for (String key : good.stringPropertyNames()) { + both.put(key, good.getProperty(key)); + } + for (String key : bad.stringPropertyNames()) { + both.put(key, bad.getProperty(key)); + } + + props = new ListenerProperties(prefix, both); + } + + @Test + public void testConstructor() { + props = new ListenerProperties(prefix, good); + assertEquals(prefix, props.getPrefix()); + assertEquals(good.size(), props.getProperties().size()); + + props = new ListenerProperties(prefix, bad); + assertEquals(prefix, props.getPrefix()); + assertTrue(props.getProperties().isEmpty()); + + props = new ListenerProperties(prefix, both); + assertEquals(prefix, props.getPrefix()); + assertEquals(good.size(), props.getProperties().size()); + + for (Object val : props.getProperties().values()) { + assertFalse("NA".equals(val.toString())); + } + + assertTrue(props.toString().contains(prefix)); + } + + @Test + public void testGetClass() { + assertNull(props.getListenerClass()); + props.setListenerClass(AbstractListener.class); + assertNotNull(props.getListenerClass()); + assertEquals(AbstractListener.class, props.getListenerClass()); + } + + @Test + public void testMessageServices() { + // Hardcode count so tests must be updated when values are added + assertEquals(1, MessageService.values().length); + + // Bad Input + MessageService def = MessageService.DMaaP; + assertEquals(def, MessageService.parse(null)); + assertEquals(def, MessageService.parse("")); + assertEquals(def, MessageService.parse("NotDMaaP")); + + // DMaaP case sensitivity + assertEquals(MessageService.DMaaP, MessageService.parse("dmaap")); + assertEquals(MessageService.DMaaP, MessageService.parse("DMAAP")); + assertEquals(MessageService.DMaaP, MessageService.parse("DMaaP")); + } + + @Test + public void testKeys() { + // Hardcode count so tests must be updated when values are added + assertEquals(15, ListenerProperties.KEYS.values().length); + + Properties tmp = new Properties(); + try { + tmp.load(getClass().getResourceAsStream("/org/onap/appc/default.properties")); + } catch (Exception e) { + fail("Could not load properties to test"); + } + String realPrefix = tmp.getProperty("test.prefix"); + assertNotNull(realPrefix); + props = new ListenerProperties(realPrefix, tmp); + + for (KEYS key : ListenerProperties.KEYS.values()) { + assertNotNull(key.getFullProp(realPrefix)); + assertNotNull(props.getProperty(key)); + assertNotNull(props.getProperty(key.getPropertySuffix())); + } + } + + @Test + public void testDisabled() throws Exception { + assertFalse(props.isDisabled()); + props.getProperties().put(KEYS.DISABLED.getPropertySuffix(), "TRUE"); + assertTrue(props.isDisabled()); + props.getProperties().put(KEYS.DISABLED.getPropertySuffix(), "N/A"); + assertFalse(props.isDisabled()); + props.getProperties().put(KEYS.DISABLED.getPropertySuffix(), "fAlse"); + assertFalse(props.isDisabled()); + props.getProperties().remove(KEYS.DISABLED.getPropertySuffix()); + assertFalse(props.isDisabled()); + } + +} diff --git a/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/TestAbstractListener.java b/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/TestAbstractListener.java deleted file mode 100644 index a21bcd416..000000000 --- a/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/TestAbstractListener.java +++ /dev/null @@ -1,101 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ============================================================================= - * 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.listener; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.util.Properties; -import java.util.concurrent.ThreadPoolExecutor; - -import org.junit.Before; -import org.junit.Test; -import org.onap.appc.listener.AbstractListener; -import org.onap.appc.listener.ListenerProperties; - -public class TestAbstractListener { - - private class DummyListener extends AbstractListener { - public DummyListener(ListenerProperties props) { - super(props); - } - - public boolean getRun() { - return run.get(); - } - - public ThreadPoolExecutor getExecutor() { - return executor; - } - } - - private DummyListener listener; - private ListenerProperties props; - - @Before - public void setup() throws Exception { - Properties regularProps = new Properties(); - regularProps.load(getClass().getResourceAsStream("/org/onap/appc/default.properties")); - props = new ListenerProperties("", regularProps); - listener = new DummyListener(props); - } - - @Test - public void testRun() { - Thread t = new Thread(listener); - t.run(); - assertFalse(t.isAlive()); // Should die immediately - } - - @Test - public void testStop() { - listener.stop(); - assertFalse(listener.getRun()); - assertTrue(listener.getExecutor().isShutdown()); - } - - @Test - public void testStopNow() { - listener.stopNow(); - assertFalse(listener.getRun()); - assertTrue(listener.getExecutor().isShutdown()); - } - - @Test - public void testBenchmark() { - String out = listener.getBenchmark(); - assertNotNull(out); - assertTrue(out.contains(listener.getListenerId())); - } - - @Test - public void testListenerId() { - assertEquals(props.getPrefix(), listener.getListenerId()); - listener.setListenerId("newId"); - assertEquals("newId", listener.getListenerId()); - } -} diff --git a/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/TestAppcDmaapListenerActivator.java b/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/TestAppcDmaapListenerActivator.java deleted file mode 100644 index f8cbdb3dc..000000000 --- a/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/TestAppcDmaapListenerActivator.java +++ /dev/null @@ -1,81 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ============================================================================= - * 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.listener; - -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.fail; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Properties; - -import org.junit.Test; -import org.mockito.Mockito; - -import static org.mockito.Mockito.doReturn; - -import org.onap.appc.listener.AppcEventListenerActivator; - -public class TestAppcDmaapListenerActivator { - - @Test - public void testStartStopDefaultProperties() { - AppcEventListenerActivator appc = new AppcEventListenerActivator(); - try { - appc.start(null); - Thread.sleep(1000); - appc.stop(null); - } catch (Exception e) { - e.printStackTrace(); - fail(e.getMessage()); - } - assertNotNull(appc.getName()); - } - - @Test - public void testStartStopEmptyProperties() { - InputStream input = getClass().getResourceAsStream("/org/onap/appc/empty.properties"); - Properties props = new Properties(); - try { - props.load(input); - } catch (IOException e) { - e.printStackTrace(); - } - - AppcEventListenerActivator appc = new AppcEventListenerActivator(); - AppcEventListenerActivator spyAppc = Mockito.spy(appc); - doReturn(props).when(spyAppc).getProperties(); - - try { - spyAppc.start(null); - Thread.sleep(1000); - spyAppc.stop(null); - } catch (Exception e) { - e.printStackTrace(); - fail(e.getMessage()); - } - assertNotNull(spyAppc.getName()); - } -} diff --git a/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/TestListenerProperties.java b/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/TestListenerProperties.java deleted file mode 100644 index 42c263394..000000000 --- a/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/TestListenerProperties.java +++ /dev/null @@ -1,157 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ============================================================================= - * 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.listener; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import java.util.Properties; - -import org.junit.Before; -import org.junit.Test; -import org.onap.appc.adapter.factory.MessageService; -import org.onap.appc.listener.AbstractListener; -import org.onap.appc.listener.ListenerProperties; -import org.onap.appc.listener.ListenerProperties.KEYS; - -public class TestListenerProperties { - - private Properties good, bad, both; - private String prefix; - - private ListenerProperties props; - - @Before - public void setup() { - prefix = "test"; - good = new Properties(); - bad = new Properties(); - both = new Properties(); - - good.setProperty(String.format("%s.%s", prefix, "a"), "1"); - good.setProperty(String.format("%s.%s", prefix, "a.b"), "2"); - good.setProperty(String.format("%s.%s", prefix, "a.b.c"), "3"); - - bad.setProperty(prefix, "NA"); - bad.setProperty(prefix + ".", "NA"); - bad.setProperty(String.format("%s.%s", prefix + "x", "bad"), "NA"); - bad.setProperty(String.format("%s.%s", "x" + prefix, "bad"), "NA"); - - for (String key : good.stringPropertyNames()) { - both.put(key, good.getProperty(key)); - } - for (String key : bad.stringPropertyNames()) { - both.put(key, bad.getProperty(key)); - } - - props = new ListenerProperties(prefix, both); - } - - @Test - public void testConstructor() { - props = new ListenerProperties(prefix, good); - assertEquals(prefix, props.getPrefix()); - assertEquals(good.size(), props.getProperties().size()); - - props = new ListenerProperties(prefix, bad); - assertEquals(prefix, props.getPrefix()); - assertTrue(props.getProperties().isEmpty()); - - props = new ListenerProperties(prefix, both); - assertEquals(prefix, props.getPrefix()); - assertEquals(good.size(), props.getProperties().size()); - - for (Object val : props.getProperties().values()) { - assertFalse("NA".equals(val.toString())); - } - - assertTrue(props.toString().contains(prefix)); - } - - @Test - public void testGetClass() { - assertNull(props.getListenerClass()); - props.setListenerClass(AbstractListener.class); - assertNotNull(props.getListenerClass()); - assertEquals(AbstractListener.class, props.getListenerClass()); - } - - @Test - public void testMessageServices() { - // Hardcode count so tests must be updated when values are added - assertEquals(1, MessageService.values().length); - - // Bad Input - MessageService def = MessageService.DMaaP; - assertEquals(def, MessageService.parse(null)); - assertEquals(def, MessageService.parse("")); - assertEquals(def, MessageService.parse("NotDMaaP")); - - // DMaaP case sensitivity - assertEquals(MessageService.DMaaP, MessageService.parse("dmaap")); - assertEquals(MessageService.DMaaP, MessageService.parse("DMAAP")); - assertEquals(MessageService.DMaaP, MessageService.parse("DMaaP")); - } - - @Test - public void testKeys() { - // Hardcode count so tests must be updated when values are added - assertEquals(15, ListenerProperties.KEYS.values().length); - - Properties tmp = new Properties(); - try { - tmp.load(getClass().getResourceAsStream("/org/onap/appc/default.properties")); - } catch (Exception e) { - fail("Could not load properties to test"); - } - String realPrefix = tmp.getProperty("test.prefix"); - assertNotNull(realPrefix); - props = new ListenerProperties(realPrefix, tmp); - - for (KEYS key : ListenerProperties.KEYS.values()) { - assertNotNull(key.getFullProp(realPrefix)); - assertNotNull(props.getProperty(key)); - assertNotNull(props.getProperty(key.getPropertySuffix())); - } - } - - @Test - public void testDisabled() throws Exception { - assertFalse(props.isDisabled()); - props.getProperties().put(KEYS.DISABLED.getPropertySuffix(), "TRUE"); - assertTrue(props.isDisabled()); - props.getProperties().put(KEYS.DISABLED.getPropertySuffix(), "N/A"); - assertFalse(props.isDisabled()); - props.getProperties().put(KEYS.DISABLED.getPropertySuffix(), "fAlse"); - assertFalse(props.isDisabled()); - props.getProperties().remove(KEYS.DISABLED.getPropertySuffix()); - assertFalse(props.isDisabled()); - } - -} -- cgit 1.2.3-korg