Fixed a logging problem
[holmes/rule-management.git] / rulemgt / src / test / java / org / onap / holmes / rulemgt / dcae / DcaeConfigurationPollingTest.java
1 /**
2  * Copyright 2017-2021 ZTE Corporation.
3  * <p>
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  * <p>
8  * http://www.apache.org/licenses/LICENSE-2.0
9  * <p>
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package org.onap.holmes.rulemgt.dcae;
17
18 import org.junit.Test;
19 import org.junit.runner.RunWith;
20 import org.onap.holmes.common.dcae.DcaeConfigurationQuery;
21 import org.onap.holmes.common.dcae.entity.DcaeConfigurations;
22 import org.onap.holmes.common.dcae.entity.Rule;
23 import org.onap.holmes.common.utils.JerseyClient;
24 import org.onap.holmes.rulemgt.bean.response.RuleQueryListResponse;
25 import org.onap.holmes.rulemgt.bean.response.RuleResult4API;
26 import org.powermock.api.easymock.PowerMock;
27 import org.powermock.core.classloader.annotations.PrepareForTest;
28 import org.powermock.core.classloader.annotations.SuppressStaticInitializationFor;
29 import org.powermock.modules.junit4.PowerMockRunner;
30 import org.powermock.reflect.Whitebox;
31
32 import java.util.ArrayList;
33 import java.util.List;
34
35 import static org.easymock.EasyMock.*;
36 import static org.powermock.api.easymock.PowerMock.*;
37
38 @RunWith(PowerMockRunner.class)
39 @SuppressStaticInitializationFor("org.onap.holmes.common.utils.JerseyClient")
40 @PrepareForTest({DcaeConfigurationPolling.class, DcaeConfigurationQuery.class})
41 public class DcaeConfigurationPollingTest {
42
43     @Test
44     public void run() throws Exception {
45         DcaeConfigurations dcaeConfigurations = new DcaeConfigurations();
46         dcaeConfigurations.addDefaultRule(new Rule("test", "clName", "contents", 1));
47         mockStatic(DcaeConfigurationQuery.class);
48         expect(DcaeConfigurationQuery.getDcaeConfigurations(anyObject(String.class))).andReturn(dcaeConfigurations);
49         DcaeConfigurationPolling dcaeConfigurationPolling = new DcaeConfigurationPolling("localhost");
50
51         Whitebox.setInternalState(dcaeConfigurationPolling, "url", "http://127.0.0.1");
52
53         RuleQueryListResponse ruleQueryListResponse = new RuleQueryListResponse();
54         List<RuleResult4API> ruleResult4APIList = new ArrayList<RuleResult4API>() {
55             {
56                 add(new RuleResult4API());
57             }
58         };
59         ruleQueryListResponse.setCorrelationRules(ruleResult4APIList);
60         ruleQueryListResponse.setTotalCount(ruleResult4APIList.size());
61
62         JerseyClient mockedJerseyClient = PowerMock.createMock(JerseyClient.class);
63         PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
64         expect(mockedJerseyClient.get(anyString(), anyObject())).andReturn(ruleQueryListResponse);
65
66         PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
67         expect(mockedJerseyClient.delete(anyString())).andReturn("true");
68
69         PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
70         expect(mockedJerseyClient.header(anyString(), anyString())).andReturn(mockedJerseyClient);
71         expect(mockedJerseyClient.put(anyString(), anyObject())).andReturn("true");
72
73         replayAll();
74
75         dcaeConfigurationPolling.run();
76
77         verifyAll();
78     }
79
80     @Test
81     public void run_identical_contents() throws Exception {
82         DcaeConfigurations dcaeConfigurations = new DcaeConfigurations();
83         dcaeConfigurations.addDefaultRule(new Rule("test", "clName", "contents", 1));
84         mockStatic(DcaeConfigurationQuery.class);
85         expect(DcaeConfigurationQuery.getDcaeConfigurations(anyObject(String.class))).andReturn(dcaeConfigurations).times(2);
86         DcaeConfigurationPolling dcaeConfigurationPolling = new DcaeConfigurationPolling("localhost");
87
88         Whitebox.setInternalState(dcaeConfigurationPolling, "url", "http://127.0.0.1");
89
90         RuleQueryListResponse ruleQueryListResponse = new RuleQueryListResponse();
91         List<RuleResult4API> ruleResult4APIList = new ArrayList<RuleResult4API>() {
92             {
93                 add(new RuleResult4API());
94             }
95         };
96         ruleQueryListResponse.setCorrelationRules(ruleResult4APIList);
97         ruleQueryListResponse.setTotalCount(ruleResult4APIList.size());
98         JerseyClient mockedJerseyClient = PowerMock.createMock(JerseyClient.class);
99         PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
100         expect(mockedJerseyClient.get(anyString(), anyObject())).andReturn(ruleQueryListResponse);
101
102         PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
103         expect(mockedJerseyClient.delete(anyString())).andReturn("true");
104
105         PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
106         expect(mockedJerseyClient.header(anyString(), anyString())).andReturn(mockedJerseyClient);
107         expect(mockedJerseyClient.put(anyString(), anyObject())).andReturn("true");
108
109         replayAll();
110
111         dcaeConfigurationPolling.run();
112         dcaeConfigurationPolling.run();
113
114         verifyAll();
115     }
116 }