update the package name
[dmaap/messagerouter/msgrtr.git] / src / test / java / org / onap / dmaap / mr / cambria / service / impl / MMServiceImplTest.java
-/*-\r
- * ============LICENSE_START=======================================================\r
- * ONAP Policy Engine\r
- * ================================================================================\r
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
- * ================================================================================\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- *      http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ============LICENSE_END=========================================================\r
- */\r
-\r
-package com.att.nsa.cambria.service.impl;\r
-\r
-import static org.junit.Assert.*;\r
-\r
-import java.io.ByteArrayInputStream;\r
-import java.io.IOException;\r
-import java.io.InputStream;\r
-import java.util.Arrays;\r
-import java.util.ConcurrentModificationException;\r
-import java.util.HashSet;\r
-import java.util.Map;\r
-import java.util.Set;\r
-\r
-import com.att.ajsc.beans.PropertiesMapBean;\r
-import com.att.ajsc.filemonitor.AJSCPropertiesMap;\r
-import com.att.dmf.mr.CambriaApiException;\r
-import com.att.dmf.mr.backends.ConsumerFactory;\r
-import com.att.dmf.mr.backends.ConsumerFactory.UnavailableException;\r
-import com.att.dmf.mr.beans.DMaaPContext;\r
-import com.att.dmf.mr.beans.DMaaPKafkaMetaBroker;\r
-import com.att.dmf.mr.constants.CambriaConstants;\r
-import com.att.dmf.mr.exception.DMaaPErrorMessages;\r
-import com.att.dmf.mr.metabroker.Topic;\r
-import com.att.dmf.mr.metabroker.Broker.TopicExistsException;\r
-import com.att.dmf.mr.security.DMaaPAuthenticatorImpl;\r
-import com.att.dmf.mr.service.impl.MMServiceImpl;\r
-import com.att.dmf.mr.utils.ConfigurationReader;\r
-import com.att.dmf.mr.utils.DMaaPResponseBuilder;\r
-import com.att.dmf.mr.utils.Emailer;\r
-import com.att.nsa.configs.ConfigDbException;\r
-import com.att.nsa.drumlin.till.nv.rrNvReadable.missingReqdSetting;\r
-import com.att.nsa.limits.Blacklist;\r
-import com.att.nsa.security.ReadWriteSecuredResource.AccessDeniedException;\r
-import com.att.nsa.security.db.NsaApiDb;\r
-import com.att.nsa.security.db.simple.NsaSimpleApiKey;\r
-\r
-import org.junit.After;\r
-import org.junit.Before;\r
-import org.junit.Test;\r
-import org.junit.runner.RunWith;\r
-import static org.mockito.Matchers.anyString;\r
-import org.mockito.InjectMocks;\r
-import org.mockito.Mock;\r
-import org.mockito.MockitoAnnotations;\r
-import org.powermock.api.mockito.PowerMockito;\r
-import org.powermock.core.classloader.annotations.PrepareForTest;\r
-import org.powermock.modules.junit4.PowerMockRunner;\r
-import org.springframework.mock.web.MockHttpServletRequest;\r
-import org.springframework.mock.web.MockHttpServletResponse;\r
-\r
-@RunWith(PowerMockRunner.class)\r
-@PrepareForTest({ DMaaPAuthenticatorImpl.class, DMaaPResponseBuilder.class, PropertiesMapBean.class,\r
-               AJSCPropertiesMap.class })\r
-public class MMServiceImplTest {\r
-\r
-       @InjectMocks\r
-       MMServiceImpl service;\r
-\r
-       @Mock\r
-       DMaaPContext dmaapContext;\r
-       @Mock\r
-       ConsumerFactory factory;\r
-       @Mock\r
-       private DMaaPErrorMessages errorMessages;\r
-       @Mock\r
-       ConfigurationReader configReader;\r
-       @Mock\r
-       Blacklist Blacklist;\r
-       @Mock\r
-       Emailer emailer;\r
-       @Mock\r
-       DMaaPKafkaMetaBroker dmaapKafkaMetaBroker;\r
-       @Mock\r
-       Topic metatopic;\r
-\r
-       @Before\r
-       public void setUp() throws Exception {\r
-\r
-               MockitoAnnotations.initMocks(this);\r
-               PowerMockito.mockStatic(DMaaPAuthenticatorImpl.class);\r
-               NsaSimpleApiKey user = new NsaSimpleApiKey("admin", "password");\r
-\r
-               PowerMockito.when(dmaapContext.getConfigReader()).thenReturn(configReader);\r
-               PowerMockito.when(configReader.getfConsumerFactory()).thenReturn(factory);\r
-               PowerMockito.when(configReader.getfIpBlackList()).thenReturn(Blacklist);\r
-\r
-               PowerMockito.when(configReader.getfApiKeyDb()).thenReturn(fApiKeyDb);\r
-               PowerMockito.when(configReader.getSystemEmailer()).thenReturn(emailer);\r
-               PowerMockito.when(DMaaPAuthenticatorImpl.getAuthenticatedUser(dmaapContext)).thenReturn(user);\r
-               PowerMockito.mockStatic(DMaaPResponseBuilder.class);\r
-\r
-               MockHttpServletRequest request = new MockHttpServletRequest();\r
-               MockHttpServletResponse response = new MockHttpServletResponse();\r
-               PowerMockito.when(dmaapContext.getRequest()).thenReturn(request);\r
-               PowerMockito.when(dmaapContext.getResponse()).thenReturn(response);\r
-\r
-               PowerMockito.mockStatic(AJSCPropertiesMap.class);\r
-               PowerMockito.mockStatic(PropertiesMapBean.class);\r
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "timeout")).thenReturn("1000");\r
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "pretty")).thenReturn("true");\r
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "meta")).thenReturn("true");\r
-               PowerMockito.when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);\r
-\r
-       }\r
-\r
-       @After\r
-       public void tearDown() throws Exception {\r
-       }\r
-\r
-       @Test\r
-       public void testSubscribe_Blacklistip() {\r
-\r
-               try {\r
-                       PowerMockito.when(Blacklist.contains("127.0.0.1")).thenReturn(true);\r
-                       service.subscribe(dmaapContext, "testTopic", "CG1", "23");\r
-               } catch (org.json.JSONException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (NullPointerException e) {\r
-                       // TODO Auto-generated catch block\r
-                       // e.printStackTrace();\r
-               } catch (CambriaApiException e) {\r
-                       assertTrue(true);\r
-               } catch (ConfigDbException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (TopicExistsException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (AccessDeniedException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (UnavailableException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (IOException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               }\r
-\r
-       }\r
-\r
-       @Test\r
-       public void testSubscribe_NullTopic() {\r
-\r
-               try {\r
-                       PowerMockito.when(dmaapKafkaMetaBroker.getTopic(anyString())).thenReturn(null);\r
-                       service.subscribe(dmaapContext, "testTopic", "CG1", "23");\r
-               } catch (org.json.JSONException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (NullPointerException e) {\r
-                       // TODO Auto-generated catch block\r
-                       // e.printStackTrace();\r
-                       assertTrue(true);\r
-               } catch (CambriaApiException e) {\r
-                       assertTrue(true);\r
-               } catch (ConfigDbException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (TopicExistsException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (AccessDeniedException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (UnavailableException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (IOException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               }\r
-\r
-       }\r
-       \r
-       @Test(expected = CambriaApiException.class)\r
-       public void testSubscribe_NullTopic_Error() throws ConfigDbException, TopicExistsException, AccessDeniedException, UnavailableException,\r
-       CambriaApiException, IOException {\r
-\r
-                   PowerMockito.when(configReader.getfMetrics()).thenThrow(new ConcurrentModificationException("Error occurred"));\r
-                       PowerMockito.when(dmaapKafkaMetaBroker.getTopic(anyString())).thenReturn(metatopic);\r
-                       service.subscribe(dmaapContext, "testTopic", "CG1", "23");\r
-       }\r
-\r
-       @Test\r
-       public void testPushEvents_wttransaction() {\r
-\r
-               String source = "source of my InputStream";\r
-\r
-               try {\r
-                       InputStream iStream = new ByteArrayInputStream(source.getBytes("UTF-8"));\r
-                       service.pushEvents(dmaapContext, "msgrtr.apinode.metrics.dmaap", iStream, "3", "12:00:00");\r
-\r
-               } catch (org.json.JSONException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (NullPointerException e) {\r
-                       // TODO Auto-generated catch block\r
-                       // e.printStackTrace();\r
-                       assertTrue(true);\r
-               } catch (CambriaApiException e) {\r
-                       assertTrue(true);\r
-               } catch (ConfigDbException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (TopicExistsException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (AccessDeniedException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (IOException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (missingReqdSetting e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               }\r
-       }\r
-       \r
-       @Test(expected = CambriaApiException.class)\r
-       public void testPushEvents_wttransaction_error() throws Exception {\r
-\r
-               String source = "source of my InputStream";\r
-\r
-               InputStream iStream = new ByteArrayInputStream(source.getBytes("UTF-8"));\r
-               PowerMockito.mockStatic(AJSCPropertiesMap.class);\r
-               PowerMockito.mockStatic(PropertiesMapBean.class);\r
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "event.batch.length")).thenReturn("-5");\r
-               PowerMockito.when(configReader.getfPublisher()).thenThrow(new ConcurrentModificationException("Error occurred"));\r
-               service.pushEvents(dmaapContext, "msgrtr.apinode.metrics.dmaap1", iStream, "3", "12:00:00");\r
-\r
-       }\r
-\r
-       @Test\r
-       public void testPushEvents() {\r
-\r
-               String source = "source of my InputStream";\r
-\r
-               try {\r
-                       InputStream iStream = new ByteArrayInputStream(source.getBytes("UTF-8"));\r
-                       service.pushEvents(dmaapContext, "testTopic", iStream, "3", "12:00:00");\r
-\r
-               } catch (org.json.JSONException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (NullPointerException e) {\r
-                       // TODO Auto-generated catch block\r
-                       // e.printStackTrace();\r
-                       assertTrue(true);\r
-               } catch (CambriaApiException e) {\r
-                       assertTrue(true);\r
-               } catch (ConfigDbException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (TopicExistsException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (AccessDeniedException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (IOException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (missingReqdSetting e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               }\r
-\r
-       }\r
-\r
-       @Test\r
-       public void testPushEvents_blacklistip() {\r
-\r
-               String source = "source of my InputStream";\r
-\r
-               try {\r
-                       PowerMockito.when(Blacklist.contains("127.0.0.1")).thenReturn(true);\r
-                       InputStream iStream = new ByteArrayInputStream(source.getBytes("UTF-8"));\r
-                       service.pushEvents(dmaapContext, "testTopic", iStream, "3", "12:00:00");\r
-\r
-               } catch (org.json.JSONException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (NullPointerException e) {\r
-                       // TODO Auto-generated catch block\r
-                       // e.printStackTrace();\r
-                       assertTrue(true);\r
-               } catch (CambriaApiException e) {\r
-                       assertTrue(true);\r
-               } catch (ConfigDbException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (TopicExistsException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (AccessDeniedException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (IOException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               } catch (missingReqdSetting e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               }\r
-\r
-       }\r
-\r
-       NsaApiDb<NsaSimpleApiKey> fApiKeyDb = new NsaApiDb<NsaSimpleApiKey>() {\r
-\r
-               Set<String> keys = new HashSet<>(Arrays.asList("testkey", "admin"));\r
-\r
-               @Override\r
-               public NsaSimpleApiKey createApiKey(String arg0, String arg1)\r
-                               throws com.att.nsa.security.db.NsaApiDb.KeyExistsException, ConfigDbException {\r
-                       // TODO Auto-generated method stub\r
-                       return new NsaSimpleApiKey(arg0, arg1);\r
-               }\r
-\r
-               @Override\r
-               public boolean deleteApiKey(NsaSimpleApiKey arg0) throws ConfigDbException {\r
-                       // TODO Auto-generated method stub\r
-                       return false;\r
-               }\r
-\r
-               @Override\r
-               public boolean deleteApiKey(String arg0) throws ConfigDbException {\r
-                       // TODO Auto-generated method stub\r
-                       return false;\r
-               }\r
-\r
-               @Override\r
-               public Map<String, NsaSimpleApiKey> loadAllKeyRecords() throws ConfigDbException {\r
-                       // TODO Auto-generated method stub\r
-                       return null;\r
-               }\r
-\r
-               @Override\r
-               public Set<String> loadAllKeys() throws ConfigDbException {\r
-                       // TODO Auto-generated method stub\r
-\r
-                       return keys;\r
-               }\r
-\r
-               @Override\r
-               public NsaSimpleApiKey loadApiKey(String arg0) throws ConfigDbException {\r
-                       if (!keys.contains(arg0)) {\r
-                               return null;\r
-                       }\r
-                       return new NsaSimpleApiKey(arg0, "password");\r
-               }\r
-\r
-               @Override\r
-               public void saveApiKey(NsaSimpleApiKey arg0) throws ConfigDbException {\r
-                       // TODO Auto-generated method stub\r
-\r
-               }\r
-       };\r
-\r
-}\r
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP Policy Engine
+ * ================================================================================
+ * 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=========================================================
+ */
+
+ package org.onap.dmaap.mr.cambria.service.impl;
+
+import static org.junit.Assert.*;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Arrays;
+import java.util.ConcurrentModificationException;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import com.att.ajsc.beans.PropertiesMapBean;
+import com.att.ajsc.filemonitor.AJSCPropertiesMap;
+import org.onap.dmaap.dmf.mr.CambriaApiException;
+import org.onap.dmaap.dmf.mr.backends.ConsumerFactory;
+import org.onap.dmaap.dmf.mr.backends.ConsumerFactory.UnavailableException;
+import org.onap.dmaap.dmf.mr.beans.DMaaPContext;
+import org.onap.dmaap.dmf.mr.beans.DMaaPKafkaMetaBroker;
+import org.onap.dmaap.dmf.mr.constants.CambriaConstants;
+import org.onap.dmaap.dmf.mr.exception.DMaaPErrorMessages;
+import org.onap.dmaap.dmf.mr.metabroker.Topic;
+import org.onap.dmaap.dmf.mr.metabroker.Broker.TopicExistsException;
+import org.onap.dmaap.dmf.mr.security.DMaaPAuthenticatorImpl;
+import org.onap.dmaap.dmf.mr.service.impl.MMServiceImpl;
+import org.onap.dmaap.dmf.mr.utils.ConfigurationReader;
+import org.onap.dmaap.dmf.mr.utils.DMaaPResponseBuilder;
+import org.onap.dmaap.dmf.mr.utils.Emailer;
+import com.att.nsa.configs.ConfigDbException;
+import com.att.nsa.drumlin.till.nv.rrNvReadable.missingReqdSetting;
+import com.att.nsa.limits.Blacklist;
+import com.att.nsa.security.ReadWriteSecuredResource.AccessDeniedException;
+import com.att.nsa.security.db.NsaApiDb;
+import com.att.nsa.security.db.simple.NsaSimpleApiKey;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import static org.mockito.Matchers.anyString;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+import org.springframework.mock.web.MockHttpServletRequest;
+import org.springframework.mock.web.MockHttpServletResponse;
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest({ DMaaPAuthenticatorImpl.class, DMaaPResponseBuilder.class, PropertiesMapBean.class,
+               AJSCPropertiesMap.class })
+public class MMServiceImplTest {
+
+       @InjectMocks
+       MMServiceImpl service;
+
+       @Mock
+       DMaaPContext dmaapContext;
+       @Mock
+       ConsumerFactory factory;
+       @Mock
+       private DMaaPErrorMessages errorMessages;
+       @Mock
+       ConfigurationReader configReader;
+       @Mock
+       Blacklist Blacklist;
+       @Mock
+       Emailer emailer;
+       @Mock
+       DMaaPKafkaMetaBroker dmaapKafkaMetaBroker;
+       @Mock
+       Topic metatopic;
+
+       @Before
+       public void setUp() throws Exception {
+
+               MockitoAnnotations.initMocks(this);
+               PowerMockito.mockStatic(DMaaPAuthenticatorImpl.class);
+               NsaSimpleApiKey user = new NsaSimpleApiKey("admin", "password");
+
+               PowerMockito.when(dmaapContext.getConfigReader()).thenReturn(configReader);
+               PowerMockito.when(configReader.getfConsumerFactory()).thenReturn(factory);
+               PowerMockito.when(configReader.getfIpBlackList()).thenReturn(Blacklist);
+
+               PowerMockito.when(configReader.getfApiKeyDb()).thenReturn(fApiKeyDb);
+               PowerMockito.when(configReader.getSystemEmailer()).thenReturn(emailer);
+               PowerMockito.when(DMaaPAuthenticatorImpl.getAuthenticatedUser(dmaapContext)).thenReturn(user);
+               PowerMockito.mockStatic(DMaaPResponseBuilder.class);
+
+               MockHttpServletRequest request = new MockHttpServletRequest();
+               MockHttpServletResponse response = new MockHttpServletResponse();
+               PowerMockito.when(dmaapContext.getRequest()).thenReturn(request);
+               PowerMockito.when(dmaapContext.getResponse()).thenReturn(response);
+
+               PowerMockito.mockStatic(AJSCPropertiesMap.class);
+               PowerMockito.mockStatic(PropertiesMapBean.class);
+               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "timeout")).thenReturn("1000");
+               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "pretty")).thenReturn("true");
+               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "meta")).thenReturn("true");
+               PowerMockito.when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
+
+       }
+
+       @After
+       public void tearDown() throws Exception {
+       }
+
+       @Test
+       public void testSubscribe_Blacklistip() {
+
+               try {
+                       PowerMockito.when(Blacklist.contains("127.0.0.1")).thenReturn(true);
+                       service.subscribe(dmaapContext, "testTopic", "CG1", "23");
+               } catch (org.json.JSONException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (NullPointerException e) {
+                       // TODO Auto-generated catch block
+                       // e.printStackTrace();
+               } catch (CambriaApiException e) {
+                       assertTrue(true);
+               } catch (ConfigDbException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (TopicExistsException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (AccessDeniedException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (UnavailableException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (IOException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               }
+
+       }
+
+       @Test
+       public void testSubscribe_NullTopic() {
+
+               try {
+                       PowerMockito.when(dmaapKafkaMetaBroker.getTopic(anyString())).thenReturn(null);
+                       service.subscribe(dmaapContext, "testTopic", "CG1", "23");
+               } catch (org.json.JSONException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (NullPointerException e) {
+                       // TODO Auto-generated catch block
+                       // e.printStackTrace();
+                       assertTrue(true);
+               } catch (CambriaApiException e) {
+                       assertTrue(true);
+               } catch (ConfigDbException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (TopicExistsException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (AccessDeniedException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (UnavailableException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (IOException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               }
+
+       }
+       
+       @Test(expected = CambriaApiException.class)
+       public void testSubscribe_NullTopic_Error() throws ConfigDbException, TopicExistsException, AccessDeniedException, UnavailableException,
+       CambriaApiException, IOException {
+
+                   PowerMockito.when(configReader.getfMetrics()).thenThrow(new ConcurrentModificationException("Error occurred"));
+                       PowerMockito.when(dmaapKafkaMetaBroker.getTopic(anyString())).thenReturn(metatopic);
+                       service.subscribe(dmaapContext, "testTopic", "CG1", "23");
+       }
+
+       @Test
+       public void testPushEvents_wttransaction() {
+
+               String source = "source of my InputStream";
+
+               try {
+                       InputStream iStream = new ByteArrayInputStream(source.getBytes("UTF-8"));
+                       service.pushEvents(dmaapContext, "msgrtr.apinode.metrics.dmaap", iStream, "3", "12:00:00");
+
+               } catch (org.json.JSONException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (NullPointerException e) {
+                       // TODO Auto-generated catch block
+                       // e.printStackTrace();
+                       assertTrue(true);
+               } catch (CambriaApiException e) {
+                       assertTrue(true);
+               } catch (ConfigDbException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (TopicExistsException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (AccessDeniedException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (IOException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (missingReqdSetting e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               }
+       }
+       
+       @Test(expected = CambriaApiException.class)
+       public void testPushEvents_wttransaction_error() throws Exception {
+
+               String source = "source of my InputStream";
+
+               InputStream iStream = new ByteArrayInputStream(source.getBytes("UTF-8"));
+               PowerMockito.mockStatic(AJSCPropertiesMap.class);
+               PowerMockito.mockStatic(PropertiesMapBean.class);
+               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "event.batch.length")).thenReturn("-5");
+               PowerMockito.when(configReader.getfPublisher()).thenThrow(new ConcurrentModificationException("Error occurred"));
+               service.pushEvents(dmaapContext, "msgrtr.apinode.metrics.dmaap1", iStream, "3", "12:00:00");
+
+       }
+
+       @Test
+       public void testPushEvents() {
+
+               String source = "source of my InputStream";
+
+               try {
+                       InputStream iStream = new ByteArrayInputStream(source.getBytes("UTF-8"));
+                       service.pushEvents(dmaapContext, "testTopic", iStream, "3", "12:00:00");
+
+               } catch (org.json.JSONException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (NullPointerException e) {
+                       // TODO Auto-generated catch block
+                       // e.printStackTrace();
+                       assertTrue(true);
+               } catch (CambriaApiException e) {
+                       assertTrue(true);
+               } catch (ConfigDbException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (TopicExistsException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (AccessDeniedException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (IOException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (missingReqdSetting e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               }
+
+       }
+
+       @Test
+       public void testPushEvents_blacklistip() {
+
+               String source = "source of my InputStream";
+
+               try {
+                       PowerMockito.when(Blacklist.contains("127.0.0.1")).thenReturn(true);
+                       InputStream iStream = new ByteArrayInputStream(source.getBytes("UTF-8"));
+                       service.pushEvents(dmaapContext, "testTopic", iStream, "3", "12:00:00");
+
+               } catch (org.json.JSONException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (NullPointerException e) {
+                       // TODO Auto-generated catch block
+                       // e.printStackTrace();
+                       assertTrue(true);
+               } catch (CambriaApiException e) {
+                       assertTrue(true);
+               } catch (ConfigDbException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (TopicExistsException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (AccessDeniedException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (IOException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (missingReqdSetting e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               }
+
+       }
+
+       NsaApiDb<NsaSimpleApiKey> fApiKeyDb = new NsaApiDb<NsaSimpleApiKey>() {
+
+               Set<String> keys = new HashSet<>(Arrays.asList("testkey", "admin"));
+
+               @Override
+               public NsaSimpleApiKey createApiKey(String arg0, String arg1)
+                               throws com.att.nsa.security.db.NsaApiDb.KeyExistsException, ConfigDbException {
+                       // TODO Auto-generated method stub
+                       return new NsaSimpleApiKey(arg0, arg1);
+               }
+
+               @Override
+               public boolean deleteApiKey(NsaSimpleApiKey arg0) throws ConfigDbException {
+                       // TODO Auto-generated method stub
+                       return false;
+               }
+
+               @Override
+               public boolean deleteApiKey(String arg0) throws ConfigDbException {
+                       // TODO Auto-generated method stub
+                       return false;
+               }
+
+               @Override
+               public Map<String, NsaSimpleApiKey> loadAllKeyRecords() throws ConfigDbException {
+                       // TODO Auto-generated method stub
+                       return null;
+               }
+
+               @Override
+               public Set<String> loadAllKeys() throws ConfigDbException {
+                       // TODO Auto-generated method stub
+
+                       return keys;
+               }
+
+               @Override
+               public NsaSimpleApiKey loadApiKey(String arg0) throws ConfigDbException {
+                       if (!keys.contains(arg0)) {
+                               return null;
+                       }
+                       return new NsaSimpleApiKey(arg0, "password");
+               }
+
+               @Override
+               public void saveApiKey(NsaSimpleApiKey arg0) throws ConfigDbException {
+                       // TODO Auto-generated method stub
+
+               }
+       };
+
+}