1 /*******************************************************************************
2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 * ============LICENSE_END=========================================================
19 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
21 *******************************************************************************/
23 package com.att.nsa.dmaapMMAgent;
25 import static org.junit.Assert.*;
26 import static org.mockito.Mockito.spy;
27 import static org.mockito.Mockito.when;
29 import java.util.ArrayList;
31 import org.junit.Before;
32 import org.junit.Test;
33 import org.junit.runner.RunWith;
34 import org.mockito.MockitoAnnotations;
35 import org.powermock.modules.junit4.PowerMockRunner;
37 import com.att.nsa.dmaapMMAgent.dao.ListMirrorMaker;
38 import com.att.nsa.dmaapMMAgent.dao.MirrorMaker;
39 import com.google.gson.Gson;
40 import com.google.gson.internal.LinkedTreeMap;
42 @RunWith(PowerMockRunner.class)
43 public class TestMirrorMakerAgent {
45 MirrorMakerAgent mirrorMakerAgent = new MirrorMakerAgent();
46 ListMirrorMaker listMirrorMaker = new ListMirrorMaker();
47 MirrorMaker mirrorMaker = new MirrorMaker();
48 MirrorMaker mirrorMaker2 = new MirrorMaker();
49 ArrayList<MirrorMaker> listsMirrorMaker = new ArrayList<MirrorMaker>();
51 MirrorMakerAgent agent = spy(new MirrorMakerAgent());
55 MockitoAnnotations.initMocks(this);
59 public void testcheckStartup() {
60 String currentDirectory = System.getProperty("user.dir");
61 String MMAGENTHOME = currentDirectory + "/src/test/resources/";
62 String parameters[] = { "-encrypt", "test" };
65 System.setProperty("MMAGENTHOME", MMAGENTHOME);
66 mirrorMakerAgent.main(args);
71 public void testReadAgentTopics() {
72 when(agent.subscribeTopic("60000")).thenReturn(null);
73 agent.exitLoop = true;
74 agent.readAgentTopic();
78 public void testReadCreateMirrorMaker() {
79 when(agent.publishTopic(
80 "{\"messageID\":\"test\",\"listMirrorMaker\":[{\"name\":\"test\",\"consumer\":\"test\",\"producer\":\"test\",\"status\":\"STOPPED\"}]}"))
82 String topicMessage = "{ messageID:\"test\", createMirrorMaker: { name:\"test\", consumer:\"test\", producer:\"test\"}}";
83 LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
84 agent.readAgent(object, topicMessage);
89 public void testReadUpdateMirrorMaker() {
90 when(agent.publishTopic(
91 "{\"messageID\":\"test\",\"listMirrorMaker\":[{\"name\":\"test\",\"consumer\":\"test\",\"producer\":\"test\",\"status\":\"STOPPED\"}]}"))
93 String topicMessage = "{ messageID:\"test\", updateMirrorMaker: { name:\"test\", consumer:\"test\", producer:\"test\"}}";
94 LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
95 testReadCreateMirrorMaker();
96 agent.readAgent(object, topicMessage);
101 public void testReadDeleteMirrorMaker() {
102 when(agent.publishTopic(
103 "{\"messageID\":\"test\",\"listMirrorMaker\":[{\"name\":\"test\",\"consumer\":\"test\",\"producer\":\"test\",\"status\":\"STOPPED\"}]}"))
105 String topicMessage = "{ messageID:\"test\", deleteMirrorMaker: { name:\"test\", consumer:\"test\", producer:\"test\", whitelist:\"test\",status:\"test\" }}";
106 LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
107 testReadCreateMirrorMaker();
108 agent.readAgent(object, topicMessage);
113 public void testReadListMirrorMaker() {
114 when(agent.publishTopic(
115 "{\"messageID\":\"test\",\"listMirrorMaker\":[{\"name\":\"test\",\"consumer\":\"test\",\"producer\":\"test\",\"status\":\"STOPPED\"}]}"))
117 String topicMessage = "{ messageID:\"test\", listAllMirrorMaker: { name:\"test\", consumer:\"test\", producer:\"test\", whitelist:\"test\",status:\"test\" }}";
118 LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
119 testReadCreateMirrorMaker();
120 agent.readAgent(object, topicMessage);
125 public void testReadWhitelistMirrorMaker() {
126 when(agent.publishTopic(
127 "{\"messageID\":\"test\",\"listMirrorMaker\":[{\"name\":\"test\",\"consumer\":\"test\",\"producer\":\"test\",\"status\":\"STOPPED\"}]}"))
129 String topicMessage = "{ messageID:\"test\", updateWhiteList: { name:\"test\", consumer:\"test\", producer:\"test\", whitelist:\"test\",status:\"test\" }}";
130 LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
131 testReadCreateMirrorMaker();
132 agent.readAgent(object, topicMessage);
137 public void testCreateMirrorMaker() {
138 mirrorMaker.setConsumer("consumer");
139 mirrorMaker.setName("MirrorMaker1");
140 mirrorMaker.setProducer("producer");
141 mirrorMaker.setStatus("200");
142 mirrorMaker.setWhitelist("whitelist");
144 mirrorMaker2.setConsumer("consumer");
145 mirrorMaker2.setName("MirrorMaker2");
146 mirrorMaker2.setProducer("producer");
147 mirrorMaker2.setStatus("200");
148 mirrorMaker2.setWhitelist("whitelist");
150 listsMirrorMaker.add(mirrorMaker2);
151 listMirrorMaker.setListMirrorMaker(listsMirrorMaker);
153 mirrorMakerAgent.mirrorMakers = listMirrorMaker;
155 mirrorMakerAgent.createMirrorMaker(mirrorMaker);
157 assertEquals(2, mirrorMakerAgent.mirrorMakers.getListMirrorMaker().size());