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.InjectMocks;
35 import org.mockito.Mock;
36 import org.mockito.MockitoAnnotations;
37 import org.powermock.modules.junit4.PowerMockRunner;
39 import com.att.nsa.dmaapMMAgent.dao.ListMirrorMaker;
40 import com.att.nsa.dmaapMMAgent.dao.MirrorMaker;
41 import com.google.gson.Gson;
42 import com.google.gson.internal.LinkedTreeMap;
44 @RunWith(PowerMockRunner.class)
45 public class TestMirrorMakerAgent {
46 MirrorMakerAgent mirrorMakerAgent = new MirrorMakerAgent();
47 ListMirrorMaker listMirrorMaker = new ListMirrorMaker();
48 MirrorMaker mirrorMaker = new MirrorMaker();
49 MirrorMaker mirrorMaker2 = new MirrorMaker();
50 ArrayList<MirrorMaker> listsMirrorMaker = new ArrayList<MirrorMaker>();
53 ListMirrorMaker mirrorMakers;
55 MirrorMakerAgent agent;
59 MockitoAnnotations.initMocks(this);
63 public void testcheckStartup() {
64 String currentDirectory = System.getProperty("user.dir");
65 String MMAGENTHOME = currentDirectory + "/src/test/resources/";
66 String parameters[] = { "-encrypt", "test" };
69 System.setProperty("MMAGENTHOME", MMAGENTHOME);
70 mirrorMakerAgent.main(args);
75 public void testReadAgentTopics() {
76 MirrorMakerAgent agent = spy(new MirrorMakerAgent());
77 when(agent.subscribeTopic("60000")).thenReturn(null);
78 agent.exitLoop = true;
79 agent.readAgentTopic();
83 public void testReadCreateMirrorMaker() {
84 agent = spy(new MirrorMakerAgent());
85 when(agent.publishTopic(
86 "{\"messageID\":\"test\",\"listMirrorMaker\":[{\"name\":\"test\",\"consumer\":\"test\",\"producer\":\"test\",\"status\":\"STOPPED\"}]}"))
88 String topicMessage = "{ messageID:\"test\", createMirrorMaker: { name:\"test\", consumer:\"test\", producer:\"test\"}}";
89 LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
90 agent.readAgent(object, topicMessage);
95 public void testReadUpdateMirrorMaker() {
96 agent = spy(new MirrorMakerAgent());
97 when(agent.publishTopic(
98 "{\"messageID\":\"test\",\"listMirrorMaker\":[{\"name\":\"test\",\"consumer\":\"test\",\"producer\":\"test\",\"status\":\"STOPPED\"}]}"))
100 String topicMessage = "{ messageID:\"test\", updateMirrorMaker: { name:\"test\", consumer:\"test\", producer:\"test\"}}";
101 LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
102 testReadCreateMirrorMaker();
103 agent.readAgent(object, topicMessage);
108 public void testReadDeleteMirrorMaker() {
109 agent = spy(new MirrorMakerAgent());
110 when(agent.publishTopic(
111 "{\"messageID\":\"test\",\"listMirrorMaker\":[{\"name\":\"test\",\"consumer\":\"test\",\"producer\":\"test\",\"status\":\"STOPPED\"}]}"))
113 String topicMessage = "{ messageID:\"test\", deleteMirrorMaker: { name:\"test\", consumer:\"test\", producer:\"test\", whitelist:\"test\",status:\"test\" }}";
114 LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
115 testReadCreateMirrorMaker();
116 agent.readAgent(object, topicMessage);
121 public void testReadListMirrorMaker() {
122 agent = spy(new MirrorMakerAgent());
123 when(agent.publishTopic(
124 "{\"messageID\":\"test\",\"listMirrorMaker\":[{\"name\":\"test\",\"consumer\":\"test\",\"producer\":\"test\",\"status\":\"STOPPED\"}]}"))
126 String topicMessage = "{ messageID:\"test\", listAllMirrorMaker: { name:\"test\", consumer:\"test\", producer:\"test\", whitelist:\"test\",status:\"test\" }}";
127 LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
128 testReadCreateMirrorMaker();
129 agent.readAgent(object, topicMessage);
134 public void testReadWhitelistMirrorMaker() {
135 agent = spy(new MirrorMakerAgent());
136 when(agent.publishTopic(
137 "{\"messageID\":\"test\",\"listMirrorMaker\":[{\"name\":\"test\",\"consumer\":\"test\",\"producer\":\"test\",\"status\":\"STOPPED\"}]}"))
139 String topicMessage = "{ messageID:\"test\", updateWhiteList: { name:\"test\", consumer:\"test\", producer:\"test\", whitelist:\"test\",status:\"test\" }}";
140 LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
141 testReadCreateMirrorMaker();
142 agent.readAgent(object, topicMessage);
147 public void testCreateMirrorMaker() {
148 mirrorMaker.setConsumer("consumer");
149 mirrorMaker.setName("MirrorMaker1");
150 mirrorMaker.setProducer("producer");
151 mirrorMaker.setStatus("200");
152 mirrorMaker.setWhitelist("whitelist");
154 mirrorMaker2.setConsumer("consumer");
155 mirrorMaker2.setName("MirrorMaker2");
156 mirrorMaker2.setProducer("producer");
157 mirrorMaker2.setStatus("200");
158 mirrorMaker2.setWhitelist("whitelist");
160 listsMirrorMaker.add(mirrorMaker2);
161 listMirrorMaker.setListMirrorMaker(listsMirrorMaker);
163 mirrorMakerAgent.mirrorMakers = listMirrorMaker;
165 mirrorMakerAgent.createMirrorMaker(mirrorMaker);
167 assertEquals(2, mirrorMakerAgent.mirrorMakers.getListMirrorMaker().size());