added a testcase 85/48385/1
authorsunil unnava <su622b@att.com>
Mon, 21 May 2018 21:28:14 +0000 (17:28 -0400)
committersunil unnava <su622b@att.com>
Mon, 21 May 2018 21:28:25 +0000 (17:28 -0400)
Issue-ID: DMAAP-500:wq
Change-Id: I2367a21e0d139a51f08450cd51486db07f95e63b
Signed-off-by: sunil unnava <su622b@att.com>
src/main/java/com/att/nsa/dmaapMMAgent/MirrorMakerAgent.java
src/test/java/com/att/nsa/dmaapMMAgent/TestMirrorMakerAgent.java

index 71bd85c..a80d5b9 100644 (file)
@@ -52,7 +52,7 @@ import com.google.gson.internal.LinkedTreeMap;
 import com.sun.org.apache.xerces.internal.impl.dtd.models.CMAny;
 import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
 
 import com.sun.org.apache.xerces.internal.impl.dtd.models.CMAny;
 import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
 
-public class MirrorMakerAgent {/*
+public class MirrorMakerAgent {
        static final Logger logger = Logger.getLogger(MirrorMakerAgent.class);
        Properties mirrorMakerProperties = new Properties();
        ListMirrorMaker mirrorMakers = null;
        static final Logger logger = Logger.getLogger(MirrorMakerAgent.class);
        Properties mirrorMakerProperties = new Properties();
        ListMirrorMaker mirrorMakers = null;
@@ -62,6 +62,7 @@ public class MirrorMakerAgent {/*
        String topicname = "";
        String mechid = "";
        String password = "";
        String topicname = "";
        String mechid = "";
        String password = "";
+       public boolean exitLoop=false;
        private static String secret = "utdfpWlgyDQ2ZB8SLVRtmN834I1JcT9J";
 
        public static void main(String[] args) {
        private static String secret = "utdfpWlgyDQ2ZB8SLVRtmN834I1JcT9J";
 
        public static void main(String[] args) {
@@ -110,7 +111,7 @@ public class MirrorMakerAgent {/*
                loadProperties();
                input = null;
                try {
                loadProperties();
                input = null;
                try {
-                       input = new FileInputStream(kafkahome + "/bin/kafka-run-class.sh");
+                       /*input = new FileInputStream(kafkahome + "/bin/kafka-run-class.sh");*/
                        if(false) {
                                throw new IOException();
                        }
                        if(false) {
                                throw new IOException();
                        }
@@ -227,7 +228,7 @@ public class MirrorMakerAgent {/*
                // System.out.println(g.toJson(mirrorMakers));
        }
 
                // System.out.println(g.toJson(mirrorMakers));
        }
 
-       private String subscribeTopic(String timeout) {
+       public String subscribeTopic(String timeout) {
                String response = "";
                try {
                        String requestURL = this.topicURL + "/events/" + this.topicname + "/mirrormakeragent/1?timeout=" + timeout
                String response = "";
                try {
                        String requestURL = this.topicURL + "/events/" + this.topicname + "/mirrormakeragent/1?timeout=" + timeout
@@ -260,7 +261,7 @@ public class MirrorMakerAgent {/*
                return null;
        }
 
                return null;
        }
 
-       private String publishTopic(String message) {
+       public String publishTopic(String message) {
                try {
                        String requestURL = this.topicURL + "/events/" + this.topicname;
                        String authString = this.mechid + ":" + this.password;
                try {
                        String requestURL = this.topicURL + "/events/" + this.topicname;
                        String authString = this.mechid + ":" + this.password;
@@ -290,7 +291,7 @@ public class MirrorMakerAgent {/*
                }
        }
 
                }
        }
 
-       private void readAgentTopic() {
+       public void readAgentTopic() {
                try {
                        int connectionattempt = 0;
                        while (true) {
                try {
                        int connectionattempt = 0;
                        while (true) {
@@ -305,49 +306,7 @@ public class MirrorMakerAgent {/*
 
                                                // Cast the 1st item (since limit=1 and see the type of
                                                // object
 
                                                // Cast the 1st item (since limit=1 and see the type of
                                                // object
-                                               if (object.get("createMirrorMaker") != null) {
-                                                       logger.info("Received createMirrorMaker request from topic");
-                                                       CreateMirrorMaker m = g.fromJson(topicMessage, CreateMirrorMaker.class);
-                                                       createMirrorMaker(m.getCreateMirrorMaker());
-                                                       checkAgentProcess();
-                                                       mirrorMakers.setMessageID(m.getMessageID());
-                                                       publishTopic(g.toJson(mirrorMakers));
-                                                       mirrorMakers.setMessageID("");
-                                               } else if (object.get("updateMirrorMaker") != null) {
-                                                       logger.info("Received updateMirrorMaker request from topic");
-                                                       UpdateMirrorMaker m = g.fromJson(topicMessage, UpdateMirrorMaker.class);
-                                                       updateMirrorMaker(m.getUpdateMirrorMaker());
-                                                       checkAgentProcess();
-                                                       mirrorMakers.setMessageID(m.getMessageID());
-                                                       publishTopic(g.toJson(mirrorMakers));
-                                                       mirrorMakers.setMessageID("");
-                                               } else if (object.get("deleteMirrorMaker") != null) {
-                                                       logger.info("Received deleteMirrorMaker request from topic");
-                                                       DeleteMirrorMaker m = g.fromJson(topicMessage, DeleteMirrorMaker.class);
-                                                       deleteMirrorMaker(m.getDeleteMirrorMaker());
-                                                       checkAgentProcess();
-                                                       mirrorMakers.setMessageID(m.getMessageID());
-                                                       publishTopic(g.toJson(mirrorMakers));
-                                                       mirrorMakers.setMessageID("");
-                                               } else if (object.get("listAllMirrorMaker") != null) {
-                                                       logger.info("Received listALLMirrorMaker request from topic");
-                                                       checkAgentProcess();
-                                                       mirrorMakers.setMessageID((String) object.get("messageID"));
-                                                       publishTopic(g.toJson(mirrorMakers));
-                                                       mirrorMakers.setMessageID("");
-                                               } else if (object.get("updateWhiteList") != null) {
-                                                       logger.info("Received updateWhiteList request from topic");
-                                                       UpdateWhiteList m = g.fromJson(topicMessage, UpdateWhiteList.class);
-                                                       updateWhiteList(m.getUpdateWhiteList());
-                                                       checkAgentProcess();
-                                                       mirrorMakers.setMessageID(m.getMessageID());
-                                                       publishTopic(g.toJson(mirrorMakers));
-                                                       mirrorMakers.setMessageID("");
-                                               } else if (object.get("listMirrorMaker") != null) {
-                                                       logger.info("Received listMirrorMaker from topic, skipping messages");
-                                               } else {
-                                                       logger.info("Received unknown request from topic");
-                                               }
+                                               readAgent(object, topicMessage);
                                        } catch (Exception ex) {
                                                connectionattempt++;
                                                if (connectionattempt > 5) {
                                        } catch (Exception ex) {
                                                connectionattempt++;
                                                if (connectionattempt > 5) {
@@ -363,13 +322,65 @@ public class MirrorMakerAgent {/*
                                        connectionattempt = 0;
                                        checkAgentProcess();
                                }
                                        connectionattempt = 0;
                                        checkAgentProcess();
                                }
-
+               if(exitLoop){
+                  break;
+               }
                        }
                } catch (Exception e) {
                        logger.error("Exception at readAgentTopic : " + e);
                }
 
        }
                        }
                } catch (Exception e) {
                        logger.error("Exception at readAgentTopic : " + e);
                }
 
        }
+       
+       public void readAgent(LinkedTreeMap<?, ?> object,String topicMessage){
+               
+               Gson g = new Gson();
+               
+               if (object.get("createMirrorMaker") != null) {
+                       logger.info("Received createMirrorMaker request from topic");
+                       CreateMirrorMaker m = g.fromJson(topicMessage, CreateMirrorMaker.class);
+                       createMirrorMaker(m.getCreateMirrorMaker());
+                       checkAgentProcess();
+                       mirrorMakers.setMessageID(m.getMessageID());
+                       publishTopic(g.toJson(mirrorMakers));
+                       mirrorMakers.setMessageID("");
+               } else if (object.get("updateMirrorMaker") != null) {
+                       logger.info("Received updateMirrorMaker request from topic");
+                       UpdateMirrorMaker m = g.fromJson(topicMessage, UpdateMirrorMaker.class);
+                       updateMirrorMaker(m.getUpdateMirrorMaker());
+                       checkAgentProcess();
+                       mirrorMakers.setMessageID(m.getMessageID());
+                       publishTopic(g.toJson(mirrorMakers));
+                       mirrorMakers.setMessageID("");
+               } else if (object.get("deleteMirrorMaker") != null) {
+                       logger.info("Received deleteMirrorMaker request from topic");
+                       DeleteMirrorMaker m = g.fromJson(topicMessage, DeleteMirrorMaker.class);
+                       deleteMirrorMaker(m.getDeleteMirrorMaker());
+                       checkAgentProcess();
+                       mirrorMakers.setMessageID(m.getMessageID());
+                       publishTopic(g.toJson(mirrorMakers));
+                       mirrorMakers.setMessageID("");
+               } else if (object.get("listAllMirrorMaker") != null) {
+                       logger.info("Received listALLMirrorMaker request from topic");
+                       checkAgentProcess();
+                       mirrorMakers.setMessageID((String) object.get("messageID"));
+                       publishTopic(g.toJson(mirrorMakers));
+                       mirrorMakers.setMessageID("");
+               } else if (object.get("updateWhiteList") != null) {
+                       logger.info("Received updateWhiteList request from topic");
+                       UpdateWhiteList m = g.fromJson(topicMessage, UpdateWhiteList.class);
+                       updateWhiteList(m.getUpdateWhiteList());
+                       checkAgentProcess();
+                       mirrorMakers.setMessageID(m.getMessageID());
+                       publishTopic(g.toJson(mirrorMakers));
+                       mirrorMakers.setMessageID("");
+               } else if (object.get("listMirrorMaker") != null) {
+                       logger.info("Received listMirrorMaker from topic, skipping messages");
+               } else {
+                       logger.info("Received unknown request from topic");
+               }
+               
+       }
 
        protected void createMirrorMaker(MirrorMaker newMirrorMaker) {
                boolean exists = false;
 
        protected void createMirrorMaker(MirrorMaker newMirrorMaker) {
                boolean exists = false;
@@ -599,4 +610,4 @@ public class MirrorMakerAgent {/*
                }
 
        }
                }
 
        }
-*/}
+}
index f4fb127..22ceaf9 100644 (file)
 package com.att.nsa.dmaapMMAgent;
 
 import static org.junit.Assert.*;
 package com.att.nsa.dmaapMMAgent;
 
 import static org.junit.Assert.*;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
 
 
-import java.io.DataOutputStream;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.net.HttpURLConnection;
 import java.util.ArrayList;
 
 import java.util.ArrayList;
 
+import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.Mock;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
 import org.powermock.modules.junit4.PowerMockRunner;
 
 import com.att.nsa.dmaapMMAgent.dao.ListMirrorMaker;
 import com.att.nsa.dmaapMMAgent.dao.MirrorMaker;
 import org.powermock.modules.junit4.PowerMockRunner;
 
 import com.att.nsa.dmaapMMAgent.dao.ListMirrorMaker;
 import com.att.nsa.dmaapMMAgent.dao.MirrorMaker;
+import com.google.gson.Gson;
+import com.google.gson.internal.LinkedTreeMap;
 
 
-//@RunWith(PowerMockRunner.class)
-public class TestMirrorMakerAgent {/*
+@RunWith(PowerMockRunner.class)
+public class TestMirrorMakerAgent {
        MirrorMakerAgent mirrorMakerAgent = new MirrorMakerAgent();
        ListMirrorMaker listMirrorMaker = new ListMirrorMaker();
        MirrorMaker mirrorMaker = new MirrorMaker();
        MirrorMaker mirrorMaker2 = new MirrorMaker();
        ArrayList<MirrorMaker> listsMirrorMaker = new ArrayList<MirrorMaker>();
        MirrorMakerAgent mirrorMakerAgent = new MirrorMakerAgent();
        ListMirrorMaker listMirrorMaker = new ListMirrorMaker();
        MirrorMaker mirrorMaker = new MirrorMaker();
        MirrorMaker mirrorMaker2 = new MirrorMaker();
        ArrayList<MirrorMaker> listsMirrorMaker = new ArrayList<MirrorMaker>();
+       Gson g = new Gson();
+       @Mock
+       ListMirrorMaker mirrorMakers;
+       @InjectMocks
+       MirrorMakerAgent agent;
+
+       @Before
+       public void setUp() {
+               MockitoAnnotations.initMocks(this);
+       }
 
        @Test
        public void testcheckStartup() {
                String currentDirectory = System.getProperty("user.dir");
                String MMAGENTHOME = currentDirectory + "/src/test/resources/";
 
        @Test
        public void testcheckStartup() {
                String currentDirectory = System.getProperty("user.dir");
                String MMAGENTHOME = currentDirectory + "/src/test/resources/";
-               String parameters[] = {"-encrypt", "test"};
+               String parameters[] = { "-encrypt", "test" };
                String args[] = null;
                String args[] = null;
-               
+
                System.setProperty("MMAGENTHOME", MMAGENTHOME);
                System.setProperty("MMAGENTHOME", MMAGENTHOME);
-               
                mirrorMakerAgent.main(args);
                mirrorMakerAgent.main(args);
-               
+
        }
        }
-       
+
+       @Test
+       public void testReadAgentTopics() {
+               MirrorMakerAgent agent = spy(new MirrorMakerAgent());
+               when(agent.subscribeTopic("60000")).thenReturn(null);
+               agent.exitLoop = true;
+               agent.readAgentTopic();
+       }
+
+       @Test
+       public void testReadCreateMirrorMaker() {
+               agent = spy(new MirrorMakerAgent());
+               when(agent.publishTopic(
+                               "{\"messageID\":\"test\",\"listMirrorMaker\":[{\"name\":\"test\",\"consumer\":\"test\",\"producer\":\"test\",\"status\":\"STOPPED\"}]}"))
+                                               .thenReturn(null);
+               String topicMessage = "{ messageID:\"test\", createMirrorMaker: {   name:\"test\",   consumer:\"test\",  producer:\"test\"}}";
+               LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
+               agent.readAgent(object, topicMessage);
+
+       }
+
+       @Test
+       public void testReadUpdateMirrorMaker() {
+               agent = spy(new MirrorMakerAgent());
+               when(agent.publishTopic(
+                               "{\"messageID\":\"test\",\"listMirrorMaker\":[{\"name\":\"test\",\"consumer\":\"test\",\"producer\":\"test\",\"status\":\"STOPPED\"}]}"))
+                                               .thenReturn(null);
+               String topicMessage = "{ messageID:\"test\", updateMirrorMaker: {   name:\"test\",   consumer:\"test\",  producer:\"test\"}}";
+               LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
+               testReadCreateMirrorMaker();
+               agent.readAgent(object, topicMessage);
+
+       }
+
+       @Test
+       public void testReadDeleteMirrorMaker() {
+               agent = spy(new MirrorMakerAgent());
+               when(agent.publishTopic(
+                               "{\"messageID\":\"test\",\"listMirrorMaker\":[{\"name\":\"test\",\"consumer\":\"test\",\"producer\":\"test\",\"status\":\"STOPPED\"}]}"))
+                                               .thenReturn(null);
+               String topicMessage = "{ messageID:\"test\", deleteMirrorMaker: {   name:\"test\",   consumer:\"test\",  producer:\"test\",  whitelist:\"test\",status:\"test\" }}";
+               LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
+               testReadCreateMirrorMaker();
+               agent.readAgent(object, topicMessage);
+
+       }
+
+       @Test
+       public void testReadListMirrorMaker() {
+               agent = spy(new MirrorMakerAgent());
+               when(agent.publishTopic(
+                               "{\"messageID\":\"test\",\"listMirrorMaker\":[{\"name\":\"test\",\"consumer\":\"test\",\"producer\":\"test\",\"status\":\"STOPPED\"}]}"))
+                                               .thenReturn(null);
+               String topicMessage = "{ messageID:\"test\", listAllMirrorMaker: {   name:\"test\",   consumer:\"test\",  producer:\"test\",  whitelist:\"test\",status:\"test\" }}";
+               LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
+               testReadCreateMirrorMaker();
+               agent.readAgent(object, topicMessage);
+
+       }
+
+       @Test
+       public void testReadWhitelistMirrorMaker() {
+               agent = spy(new MirrorMakerAgent());
+               when(agent.publishTopic(
+                               "{\"messageID\":\"test\",\"listMirrorMaker\":[{\"name\":\"test\",\"consumer\":\"test\",\"producer\":\"test\",\"status\":\"STOPPED\"}]}"))
+                                               .thenReturn(null);
+               String topicMessage = "{ messageID:\"test\", updateWhiteList: {   name:\"test\",   consumer:\"test\",  producer:\"test\",  whitelist:\"test\",status:\"test\" }}";
+               LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
+               testReadCreateMirrorMaker();
+               agent.readAgent(object, topicMessage);
+
+       }
+
        @Test
        public void testCreateMirrorMaker() {
                mirrorMaker.setConsumer("consumer");
        @Test
        public void testCreateMirrorMaker() {
                mirrorMaker.setConsumer("consumer");
@@ -67,21 +150,21 @@ public class TestMirrorMakerAgent {/*
                mirrorMaker.setProducer("producer");
                mirrorMaker.setStatus("200");
                mirrorMaker.setWhitelist("whitelist");
                mirrorMaker.setProducer("producer");
                mirrorMaker.setStatus("200");
                mirrorMaker.setWhitelist("whitelist");
-               
+
                mirrorMaker2.setConsumer("consumer");
                mirrorMaker2.setName("MirrorMaker2");
                mirrorMaker2.setProducer("producer");
                mirrorMaker2.setStatus("200");
                mirrorMaker2.setWhitelist("whitelist");
                mirrorMaker2.setConsumer("consumer");
                mirrorMaker2.setName("MirrorMaker2");
                mirrorMaker2.setProducer("producer");
                mirrorMaker2.setStatus("200");
                mirrorMaker2.setWhitelist("whitelist");
-               
+
                listsMirrorMaker.add(mirrorMaker2);
                listMirrorMaker.setListMirrorMaker(listsMirrorMaker);
                listsMirrorMaker.add(mirrorMaker2);
                listMirrorMaker.setListMirrorMaker(listsMirrorMaker);
-               
+
                mirrorMakerAgent.mirrorMakers = listMirrorMaker;
                mirrorMakerAgent.mirrorMakers = listMirrorMaker;
-               
+
                mirrorMakerAgent.createMirrorMaker(mirrorMaker);
                mirrorMakerAgent.createMirrorMaker(mirrorMaker);
-               
+
                assertEquals(2, mirrorMakerAgent.mirrorMakers.getListMirrorMaker().size());
        }
 
                assertEquals(2, mirrorMakerAgent.mirrorMakers.getListMirrorMaker().size());
        }
 
-*/}
+}