Merge "TopicService authorization check refactor"
[dmaap/messagerouter/msgrtr.git] / src / test / java / org / onap / dmaap / mr / cambria / service / impl / TopicServiceImplTest.java
diff --git a/src/test/java/org/onap/dmaap/mr/cambria/service/impl/TopicServiceImplTest.java b/src/test/java/org/onap/dmaap/mr/cambria/service/impl/TopicServiceImplTest.java
deleted file mode 100644 (file)
index 7cbdf79..0000000
+++ /dev/null
@@ -1,782 +0,0 @@
-/*-
- * ============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.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.HashSet;
-
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-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 com.att.ajsc.beans.PropertiesMapBean;
-import com.att.ajsc.filemonitor.AJSCPropertiesMap;
-import org.onap.dmaap.dmf.mr.CambriaApiException;
-import org.onap.dmaap.dmf.mr.beans.DMaaPContext;
-import org.onap.dmaap.dmf.mr.beans.DMaaPKafkaMetaBroker;
-import org.onap.dmaap.dmf.mr.beans.TopicBean;
-import org.onap.dmaap.dmf.mr.constants.CambriaConstants;
-import org.onap.dmaap.dmf.mr.exception.DMaaPAccessDeniedException;
-import org.onap.dmaap.dmf.mr.exception.DMaaPErrorMessages;
-import org.onap.dmaap.dmf.mr.metabroker.Broker.TopicExistsException;
-import org.onap.dmaap.dmf.mr.metabroker.Topic;
-import org.onap.dmaap.dmf.mr.security.DMaaPAAFAuthenticator;
-import org.onap.dmaap.dmf.mr.security.DMaaPAuthenticator;
-import org.onap.dmaap.dmf.mr.security.DMaaPAuthenticatorImpl;
-import org.onap.dmaap.dmf.mr.service.impl.TopicServiceImpl;
-import org.onap.dmaap.dmf.mr.utils.ConfigurationReader;
-import org.onap.dmaap.dmf.mr.utils.DMaaPResponseBuilder;
-import com.att.nsa.configs.ConfigDbException;
-import com.att.nsa.security.NsaAcl;
-import com.att.nsa.security.NsaApiKey;
-import com.att.nsa.security.ReadWriteSecuredResource.AccessDeniedException;
-import com.att.nsa.security.db.simple.NsaSimpleApiKey;
-
-//@RunWith(MockitoJUnitRunner.class)
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({ PropertiesMapBean.class, DMaaPAuthenticatorImpl.class,AJSCPropertiesMap.class,DMaaPResponseBuilder.class })
-public class TopicServiceImplTest {
-
-       TopicServiceImpl topicService;
-
-       @Mock
-       private DMaaPErrorMessages errorMessages;
-
-       @Mock
-       DMaaPContext dmaapContext;
-
-       @Mock
-       ConfigurationReader configReader;
-
-       @Mock
-       ServletOutputStream oStream;
-
-       @Mock
-       DMaaPAuthenticator<NsaSimpleApiKey> dmaaPAuthenticator;
-
-       @Mock
-       DMaaPAAFAuthenticator dmaapAAFauthenticator;
-       @Mock
-       NsaApiKey user;
-
-       @Mock
-       NsaSimpleApiKey nsaSimpleApiKey;
-
-       @Mock
-       HttpServletRequest httpServReq;
-
-       @Mock
-       HttpServletResponse httpServRes;
-
-       @Mock
-       DMaaPKafkaMetaBroker dmaapKafkaMetaBroker;
-
-       @Mock
-       Topic createdTopic;
-
-       @Mock
-       NsaAcl nsaAcl;
-
-       @Mock
-       JSONObject jsonObj;
-
-       @Mock
-       JSONArray jsonArray;
-
-       @Before
-       public void setUp() {
-               MockitoAnnotations.initMocks(this);
-               topicService = new TopicServiceImpl();
-               topicService.setErrorMessages(errorMessages);
-               NsaSimpleApiKey user = new NsaSimpleApiKey("admin", "password");
-               PowerMockito.mockStatic(DMaaPAuthenticatorImpl.class);
-               PowerMockito.when(DMaaPAuthenticatorImpl.getAuthenticatedUser(dmaapContext)).thenReturn(user);
-       }
-
-       @Test(expected = NullPointerException.class)
-       public void testCreateTopicWithEnforcedName()
-                       throws DMaaPAccessDeniedException, CambriaApiException, IOException, TopicExistsException {
-               
-               Assert.assertNotNull(topicService);
-               PowerMockito.mockStatic(PropertiesMapBean.class);
-
-               when(PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop, "enforced.topic.name.AAF"))
-                               .thenReturn("enfTopicName");
-               when(PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop, "default.partitions"))
-               .thenReturn("1");
-               when(PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop, "default.replicas"))
-               .thenReturn("1");
-
-               when(httpServReq.getHeader("AppName")).thenReturn("MyApp");
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-               when(dmaapContext.getResponse()).thenReturn(httpServRes);
-               when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(nsaSimpleApiKey);
-               when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-
-               TopicBean topicBean = new TopicBean();
-               topicBean.setTopicName("enfTopicNamePlusExtra");
-               topicService.createTopic(dmaapContext, topicBean);
-       }
-
-       @Test
-       public void testCreateTopicWithTopicNameNotEnforced()
-                       throws DMaaPAccessDeniedException, CambriaApiException, ConfigDbException,IOException,TopicExistsException, org.onap.dmaap.dmf.mr.metabroker.Broker1.TopicExistsException {
-
-               Assert.assertNotNull(topicService);
-
-               PowerMockito.mockStatic(PropertiesMapBean.class);
-               PowerMockito.mockStatic(DMaaPResponseBuilder.class);
-
-               when(PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop, "enforced.topic.name.AAF"))
-                               .thenReturn("enfTopicName");
-               when(PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop, "default.partitions"))
-               .thenReturn("1");
-               when(PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop, "default.replicas"))
-               .thenReturn("1");
-               
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-               when(dmaapContext.getResponse()).thenReturn(httpServRes);
-
-               when(httpServReq.getHeader("AppName")).thenReturn("MyApp");
-               when(httpServReq.getMethod()).thenReturn("HEAD");
-
-               when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(nsaSimpleApiKey);
-               when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-
-               when(nsaAcl.isActive()).thenReturn(true);
-               when(nsaAcl.getUsers()).thenReturn(new HashSet<>(Arrays.asList("user1,user2".split(","))));
-
-               when(createdTopic.getName()).thenReturn("topicName");
-               when(createdTopic.getOwner()).thenReturn("Owner");
-               when(createdTopic.getDescription()).thenReturn("Description");
-               when(createdTopic.getReaderAcl()).thenReturn(nsaAcl);
-               when(createdTopic.getWriterAcl()).thenReturn(nsaAcl);
-
-               when(dmaapKafkaMetaBroker.createTopic(anyString(), anyString(), anyString(), anyInt(), anyInt(), anyBoolean()))
-                               .thenReturn(createdTopic);
-
-               TopicBean topicBean = new TopicBean();
-               topicBean.setTopicName("NotEnforcedTopicName");
-
-               topicService.createTopic(dmaapContext, topicBean);
-
-               verify(dmaapKafkaMetaBroker, times(1)).createTopic(anyString(), anyString(), anyString(), anyInt(), anyInt(),
-                               anyBoolean());
-       }
-
-       @Test(expected = NullPointerException.class)
-       public void testCreateTopicNoUserInContextAndNoAuthHeader()
-                       throws DMaaPAccessDeniedException, CambriaApiException, IOException, TopicExistsException {
-               
-               Assert.assertNotNull(topicService);
-
-               PowerMockito.mockStatic(PropertiesMapBean.class);
-
-               when(PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop, "enforced.topic.name.AAF"))
-                               .thenReturn("enfTopicName");
-               when(PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop, "default.partitions"))
-               .thenReturn("1");
-               when(PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop, "default.replicas"))
-               .thenReturn("1");
-
-               when(httpServReq.getHeader("Authorization")).thenReturn(null);
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-               when(dmaapContext.getResponse()).thenReturn(httpServRes);
-               when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(null);
-
-               when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-
-               TopicBean topicBean = new TopicBean();
-               topicBean.setTopicName("enfTopicNamePlusExtra");
-               topicService.createTopic(dmaapContext, topicBean);
-       }
-
-       @Test(expected = NullPointerException.class)
-       public void testCreateTopicNoUserInContextAndAuthHeaderAndPermitted()
-                       throws DMaaPAccessDeniedException, CambriaApiException, IOException, TopicExistsException {
-               
-               Assert.assertNotNull(topicService);
-
-               PowerMockito.mockStatic(PropertiesMapBean.class);
-
-               when(PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop, "enforced.topic.name.AAF"))
-                               .thenReturn("enfTopicName");
-               when(PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop, "default.partitions"))
-               .thenReturn("1");
-               when(PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop, "default.replicas"))
-               .thenReturn("1");
-
-               when(httpServReq.getHeader("Authorization")).thenReturn("Authorization");
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-               when(dmaapContext.getResponse()).thenReturn(httpServRes);
-               when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(null);
-
-               when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-
-               // when(dmaapAAFauthenticator.aafAuthentication(httpServReq,
-               // anyString())).thenReturn(false);
-
-               TopicBean topicBean = new TopicBean();
-               topicBean.setTopicName("enfTopicNamePlusExtra");
-               topicService.createTopic(dmaapContext, topicBean);
-       }
-
-       @Test(expected = TopicExistsException.class)
-       public void testGetTopics_null_topic() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
-                       TopicExistsException, JSONException, ConfigDbException {
-
-               Assert.assertNotNull(topicService);
-               PowerMockito.mockStatic(DMaaPResponseBuilder.class);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-               when(dmaapContext.getResponse()).thenReturn(httpServRes);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(httpServReq.getMethod()).thenReturn("HEAD");
-
-               when(dmaapKafkaMetaBroker.getTopic(anyString())).thenReturn(null);
-
-               topicService.getTopic(dmaapContext, "topicName");
-       }
-
-       @Test
-       public void testGetTopics_NonNull_topic() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
-                       TopicExistsException, JSONException, ConfigDbException {
-
-               Assert.assertNotNull(topicService);
-               PowerMockito.mockStatic(DMaaPResponseBuilder.class);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-               when(dmaapContext.getResponse()).thenReturn(httpServRes);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-
-               when(dmaapKafkaMetaBroker.getTopic(anyString())).thenReturn(createdTopic);
-
-               when(createdTopic.getName()).thenReturn("topicName");
-               when(createdTopic.getDescription()).thenReturn("topicDescription");
-               when(createdTopic.getOwners()).thenReturn(new HashSet<>(Arrays.asList("user1,user2".split(","))));
-
-               when(createdTopic.getReaderAcl()).thenReturn(nsaAcl);
-               when(createdTopic.getWriterAcl()).thenReturn(nsaAcl);
-
-               when(httpServReq.getMethod()).thenReturn("HEAD");
-
-               when(httpServRes.getOutputStream()).thenReturn(oStream);
-
-               topicService.getTopic(dmaapContext, "topicName");
-       }
-
-       @Test(expected = TopicExistsException.class)
-       public void testGetPublishersByTopicName_nullTopic() throws DMaaPAccessDeniedException, CambriaApiException,
-                       IOException, TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               PowerMockito.mockStatic(DMaaPResponseBuilder.class);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-               when(dmaapContext.getResponse()).thenReturn(httpServRes);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(httpServReq.getMethod()).thenReturn("HEAD");
-
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.name")).thenReturn(null);
-
-               topicService.getPublishersByTopicName(dmaapContext, "topicNamespace.name");
-
-       }
-
-       @Test
-       public void testGetPublishersByTopicName_nonNullTopic() throws DMaaPAccessDeniedException, CambriaApiException,
-                       IOException, TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               PowerMockito.mockStatic(DMaaPResponseBuilder.class);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-               when(dmaapContext.getResponse()).thenReturn(httpServRes);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(httpServReq.getMethod()).thenReturn("HEAD");
-
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.name")).thenReturn(createdTopic);
-               when(createdTopic.getWriterAcl()).thenReturn(nsaAcl);
-               topicService.getPublishersByTopicName(dmaapContext, "topicNamespace.name");
-       }
-
-       @Test(expected = TopicExistsException.class)
-       public void testGetConsumersByTopicName_nullTopic() throws DMaaPAccessDeniedException, CambriaApiException,
-                       IOException, TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               PowerMockito.mockStatic(DMaaPResponseBuilder.class);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-               when(dmaapContext.getResponse()).thenReturn(httpServRes);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(httpServReq.getMethod()).thenReturn("HEAD");
-
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.name")).thenReturn(null);
-
-               topicService.getConsumersByTopicName(dmaapContext, "topicNamespace.name");
-
-       }
-
-       @Test
-       public void testGetConsumersByTopicName_nonNullTopic() throws DMaaPAccessDeniedException, CambriaApiException,
-                       IOException, TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               PowerMockito.mockStatic(DMaaPResponseBuilder.class);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-               when(dmaapContext.getResponse()).thenReturn(httpServRes);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(httpServReq.getMethod()).thenReturn("HEAD");
-
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.name")).thenReturn(createdTopic);
-
-               when(createdTopic.getReaderAcl()).thenReturn(nsaAcl);
-
-               topicService.getConsumersByTopicName(dmaapContext, "topicNamespace.name");
-       }
-
-       @Test
-       public void testGetPublishersByTopicName() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
-                       TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               PowerMockito.mockStatic(DMaaPResponseBuilder.class);
-
-               PowerMockito.mockStatic(AJSCPropertiesMap.class);
-
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.topicfactory.aaf"))
-                               .thenReturn("topicFactoryAAF");
-
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-               when(dmaapContext.getResponse()).thenReturn(httpServRes);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(httpServReq.getMethod()).thenReturn("HEAD");
-
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.name")).thenReturn(createdTopic);
-
-               when(createdTopic.getReaderAcl()).thenReturn(nsaAcl);
-
-               topicService.getPublishersByTopicName(dmaapContext, "topicNamespace.name");
-       }
-       
-       @Test(expected=TopicExistsException.class)
-       public void testGetPublishersByTopicNameError() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
-                       TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               PowerMockito.mockStatic(DMaaPResponseBuilder.class);
-
-               PowerMockito.mockStatic(AJSCPropertiesMap.class);
-
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.topicfactory.aaf"))
-                               .thenReturn("topicFactoryAAF");
-
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-               when(dmaapContext.getResponse()).thenReturn(httpServRes);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(httpServReq.getMethod()).thenReturn("HEAD");
-
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.name")).thenReturn(null);
-
-               when(createdTopic.getReaderAcl()).thenReturn(nsaAcl);
-
-               topicService.getPublishersByTopicName(dmaapContext, "topicNamespace.name");
-       }
-
-       @Test
-       public void testdeleteTopic() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
-                       TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               // PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.topicfactory.aaf"))
-                               .thenReturn("hello");
-
-               when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(null);
-               when(httpServReq.getHeader("AppName")).thenReturn("MyApp");
-               when(httpServReq.getHeader("Authorization")).thenReturn("Admin");
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-
-               when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.topic")).thenReturn(createdTopic);
-               TopicBean topicBean = new TopicBean();
-               topicBean.setTopicName("enfTopicNamePlusExtra");
-
-               topicService.deleteTopic(dmaapContext, "topicNamespace.topic");
-       }
-       
-       @Test(expected=TopicExistsException.class)
-       public void testdeleteTopic_nulltopic() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
-                       TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               // PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.topicfactory.aaf"))
-                               .thenReturn("hello");
-
-               when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(null);
-               when(httpServReq.getHeader("AppName")).thenReturn("MyApp");
-               when(httpServReq.getHeader("Authorization")).thenReturn("Admin");
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-
-               when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.topic")).thenReturn(null);
-               TopicBean topicBean = new TopicBean();
-               topicBean.setTopicName("enfTopicNamePlusExtra");
-
-               topicService.deleteTopic(dmaapContext, "topicNamespace.topic");
-       }
-       
-       /*@Test(expected=DMaaPAccessDeniedException.class)
-       public void testdeleteTopic_authHeader() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
-                       TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               // PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.topicfactory.aaf"))
-                               .thenReturn("hello");
-
-               when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(null);
-               when(httpServReq.getHeader("AppName")).thenReturn("MyApp");
-               when(httpServReq.getHeader("Authorization")).thenReturn("Admin");
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-
-               when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.topic")).thenReturn(createdTopic);
-               TopicBean topicBean = new TopicBean();
-               topicBean.setTopicName("enfTopicNamePlusExtra");
-               PowerMockito.when(DMaaPAuthenticatorImpl.getAuthenticatedUser(dmaapContext)).thenReturn(null);
-               topicService.deleteTopic(dmaapContext, "topicNamespace.topic");
-       }*/
-       
-       @Test
-       public void testPermitConsumerForTopic() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
-                       TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               // PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.topicfactory.aaf"))
-                               .thenReturn("hello");
-
-               when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(null);
-               when(httpServReq.getHeader("AppName")).thenReturn("MyApp");
-               when(httpServReq.getHeader("Authorization")).thenReturn("Admin");
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-
-               when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.topic")).thenReturn(createdTopic);
-               TopicBean topicBean = new TopicBean();
-               topicBean.setTopicName("enfTopicNamePlusExtra");
-
-               topicService.permitConsumerForTopic(dmaapContext, "topicNamespace.topic", "admin");
-       }
-       
-       @Test(expected=TopicExistsException.class)
-       public void testPermitConsumerForTopic_nulltopic() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
-                       TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               // PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.topicfactory.aaf"))
-                               .thenReturn("hello");
-
-               when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(null);
-               when(httpServReq.getHeader("AppName")).thenReturn("MyApp");
-               when(httpServReq.getHeader("Authorization")).thenReturn("Admin");
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-
-               when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.topic")).thenReturn(null);
-               TopicBean topicBean = new TopicBean();
-               topicBean.setTopicName("enfTopicNamePlusExtra");
-
-               topicService.permitConsumerForTopic(dmaapContext, "topicNamespace.topic", "admin");
-       }
-       
-       @Test
-       public void testdenyConsumerForTopic() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
-                       TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               // PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.topicfactory.aaf"))
-                               .thenReturn("hello");
-
-               when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(null);
-               when(httpServReq.getHeader("AppName")).thenReturn("MyApp");
-               when(httpServReq.getHeader("Authorization")).thenReturn("Admin");
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-
-               when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.topic")).thenReturn(createdTopic);
-               TopicBean topicBean = new TopicBean();
-               topicBean.setTopicName("enfTopicNamePlusExtra");
-
-               topicService.denyConsumerForTopic(dmaapContext, "topicNamespace.topic", "admin");
-       }
-       
-       @Test(expected=TopicExistsException.class)
-       public void testdenyConsumerForTopic_nulltopic() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
-                       TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               // PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.topicfactory.aaf"))
-                               .thenReturn("hello");
-
-               when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(null);
-               when(httpServReq.getHeader("AppName")).thenReturn("MyApp");
-               when(httpServReq.getHeader("Authorization")).thenReturn("Admin");
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-
-               when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.topic")).thenReturn(null);
-               TopicBean topicBean = new TopicBean();
-               topicBean.setTopicName("enfTopicNamePlusExtra");
-
-               topicService.denyConsumerForTopic(dmaapContext, "topicNamespace.topic", "admin");
-       }
-       
-       
-       @Test
-       public void testPermitPublisherForTopic() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
-                       TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               // PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.topicfactory.aaf"))
-                               .thenReturn("hello");
-
-               when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(null);
-               when(httpServReq.getHeader("AppName")).thenReturn("MyApp");
-               when(httpServReq.getHeader("Authorization")).thenReturn("Admin");
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-
-               when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.topic")).thenReturn(createdTopic);
-               TopicBean topicBean = new TopicBean();
-               topicBean.setTopicName("enfTopicNamePlusExtra");
-
-               topicService.permitPublisherForTopic(dmaapContext, "topicNamespace.topic", "admin");
-       }
-       
-       @Test(expected=TopicExistsException.class)
-       public void testPermitPublisherForTopic_nulltopic() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
-                       TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               // PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.topicfactory.aaf"))
-                               .thenReturn("hello");
-
-               when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(null);
-               when(httpServReq.getHeader("AppName")).thenReturn("MyApp");
-               when(httpServReq.getHeader("Authorization")).thenReturn("Admin");
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-
-               when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.topic")).thenReturn(null);
-               TopicBean topicBean = new TopicBean();
-               topicBean.setTopicName("enfTopicNamePlusExtra");
-
-               topicService.permitPublisherForTopic(dmaapContext, "topicNamespace.topic", "admin");
-       }
-       
-       @Test
-       public void testDenyPublisherForTopic() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
-                       TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               // PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.topicfactory.aaf"))
-                               .thenReturn("hello");
-
-               when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(null);
-               when(httpServReq.getHeader("AppName")).thenReturn("MyApp");
-               when(httpServReq.getHeader("Authorization")).thenReturn("Admin");
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-               when(dmaapContext.getResponse()).thenReturn(httpServRes);
-
-               when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.topic")).thenReturn(createdTopic);
-               TopicBean topicBean = new TopicBean();
-               topicBean.setTopicName("enfTopicNamePlusExtra");
-
-               topicService.denyPublisherForTopic(dmaapContext, "topicNamespace.topic", "admin");;
-       }
-       
-       @Test(expected=TopicExistsException.class)
-       public void testDenyPublisherForTopic_nulltopic() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
-                       TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               // PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.topicfactory.aaf"))
-                               .thenReturn("hello");
-
-               when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(null);
-               when(httpServReq.getHeader("AppName")).thenReturn("MyApp");
-               when(httpServReq.getHeader("Authorization")).thenReturn("Admin");
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-
-               when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.topic")).thenReturn(null);
-               TopicBean topicBean = new TopicBean();
-               topicBean.setTopicName("enfTopicNamePlusExtra");
-
-               topicService.denyPublisherForTopic(dmaapContext, "topicNamespace.topic", "admin");;
-       }
-       
-       @Test
-       public void testGetAllTopics() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
-                       TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               // PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.topicfactory.aaf"))
-                               .thenReturn("hello");
-               PowerMockito.mockStatic(DMaaPResponseBuilder.class);
-               when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(null);
-               when(httpServReq.getHeader("AppName")).thenReturn("MyApp");
-               when(httpServReq.getHeader("Authorization")).thenReturn("Admin");
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-
-               when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.topic")).thenReturn(createdTopic);
-               TopicBean topicBean = new TopicBean();
-               topicBean.setTopicName("enfTopicNamePlusExtra");
-
-               topicService.getAllTopics(dmaapContext);
-       }
-       
-       @Test
-       public void testGetTopics() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
-                       TopicExistsException, JSONException, ConfigDbException, AccessDeniedException {
-
-               Assert.assertNotNull(topicService);
-
-               // PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.mockStatic(AJSCPropertiesMap.class);
-               PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.topicfactory.aaf"))
-                               .thenReturn("hello");
-               PowerMockito.mockStatic(DMaaPResponseBuilder.class);
-               when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(null);
-               when(httpServReq.getHeader("AppName")).thenReturn("MyApp");
-               when(httpServReq.getHeader("Authorization")).thenReturn("Admin");
-               when(dmaapContext.getRequest()).thenReturn(httpServReq);
-
-               when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
-               when(dmaapContext.getConfigReader()).thenReturn(configReader);
-               when(configReader.getfMetaBroker()).thenReturn(dmaapKafkaMetaBroker);
-               when(dmaapKafkaMetaBroker.getTopic("topicNamespace.topic")).thenReturn(createdTopic);
-               TopicBean topicBean = new TopicBean();
-               topicBean.setTopicName("enfTopicNamePlusExtra");
-
-               topicService.getTopics(dmaapContext);
-       }
-       
-
-
-}