1dcd6c8f1c5822864ab69a33756af3a06c1e1c84
[dmaap/messagerouter/mirroragent.git] / src / test / java / com / att / nsa / dmaapMMAgent / TestMirrorMakerAgent.java
1 /*******************************************************************************
2  *  ============LICENSE_START=======================================================
3  *  org.onap.dmaap
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
11  *  
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=========================================================
18  *
19  *  ECOMP is a trademark and service mark of AT&T Intellectual Property.
20  *  
21  *******************************************************************************/
22
23 package com.att.nsa.dmaapMMAgent;
24
25 import static org.junit.Assert.*;
26 import static org.mockito.Mockito.spy;
27
28 import java.util.ArrayList;
29
30 import org.junit.Before;
31 import org.junit.Test;
32 import org.junit.runner.RunWith;
33 import org.mockito.InjectMocks;
34 import org.mockito.Mock;
35 import org.mockito.MockitoAnnotations;
36 import org.powermock.modules.junit4.PowerMockRunner;
37
38 import com.att.nsa.dmaapMMAgent.dao.ListMirrorMaker;
39 import com.att.nsa.dmaapMMAgent.dao.MirrorMaker;
40 import com.google.gson.Gson;
41 import com.google.gson.internal.LinkedTreeMap;
42
43 @RunWith(PowerMockRunner.class)
44 public class TestMirrorMakerAgent {
45
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>();
51         Gson g = new Gson();
52         @InjectMocks
53         private MirrorMakerAgent agent = spy(new MirrorMakerAgent());
54         @Mock
55         private TopicUtil topicUtil;
56
57         @Before
58         public void setUp() {
59                 MockitoAnnotations.initMocks(this);
60         }
61
62         @Test
63         public void testcheckStartup() {
64                 String currentDirectory = System.getProperty("user.dir");
65                 String MMAGENTHOME = currentDirectory + "/src/test/resources/";
66                 String parameters[] = { "-encrypt", "test" };
67                 String args[] = null;
68
69                 System.setProperty("MMAGENTHOME", MMAGENTHOME);
70                 mirrorMakerAgent.main(args);
71
72         }
73
74         @Test
75         public void testReadAgentTopics() {
76                 agent.exitLoop = true;
77                 agent.readAgentTopic();
78         }
79
80         @Test
81         public void testReadCreateMirrorMaker() {
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);
85
86         }
87
88         @Test
89         public void testReadUpdateMirrorMaker() {
90                 String topicMessage = "{ messageID:\"test\", updateMirrorMaker: {   name:\"test\",   consumer:\"test\",  producer:\"test\"}}";
91                 LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
92                 testReadCreateMirrorMaker();
93                 agent.readAgent(object, topicMessage);
94
95         }
96
97         @Test
98         public void testReadDeleteMirrorMaker() {
99                 String topicMessage = "{ messageID:\"test\", deleteMirrorMaker: {   name:\"test\",   consumer:\"test\",  producer:\"test\",  whitelist:\"test\",status:\"test\" }}";
100                 LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
101                 testReadCreateMirrorMaker();
102                 agent.readAgent(object, topicMessage);
103
104         }
105
106         @Test
107         public void testReadListMirrorMaker() {
108                 String topicMessage = "{ messageID:\"test\", listAllMirrorMaker: {   name:\"test\",   consumer:\"test\",  producer:\"test\",  whitelist:\"test\",status:\"test\" }}";
109                 LinkedTreeMap<?, ?> object = g.fromJson(topicMessage, LinkedTreeMap.class);
110                 testReadCreateMirrorMaker();
111                 agent.readAgent(object, topicMessage);
112
113         }
114
115         @Test
116         public void testReadWhitelistMirrorMaker() {
117                 String topicMessage = "{ messageID:\"test\", updateWhiteList: {   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);
121
122         }
123
124         @Test
125         public void testCreateMirrorMaker() {
126                 mirrorMaker.setConsumer("consumer");
127                 mirrorMaker.setName("MirrorMaker1");
128                 mirrorMaker.setProducer("producer");
129                 mirrorMaker.setStatus("200");
130                 mirrorMaker.setWhitelist("whitelist");
131
132                 mirrorMaker2.setConsumer("consumer");
133                 mirrorMaker2.setName("MirrorMaker2");
134                 mirrorMaker2.setProducer("producer");
135                 mirrorMaker2.setStatus("200");
136                 mirrorMaker2.setWhitelist("whitelist");
137
138                 listsMirrorMaker.add(mirrorMaker2);
139                 listMirrorMaker.setListMirrorMaker(listsMirrorMaker);
140
141                 mirrorMakerAgent.mirrorMakers = listMirrorMaker;
142
143                 mirrorMakerAgent.createMirrorMaker(mirrorMaker);
144
145                 assertEquals(2, mirrorMakerAgent.mirrorMakers.getListMirrorMaker().size());
146         }
147
148 }