2 * Copyright 2017-2021 ZTE Corporation.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
16 package org.onap.holmes.rulemgt.dcae;
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;
32 import java.util.ArrayList;
33 import java.util.List;
35 import static org.easymock.EasyMock.*;
36 import static org.powermock.api.easymock.PowerMock.*;
38 @RunWith(PowerMockRunner.class)
39 @SuppressStaticInitializationFor("org.onap.holmes.common.utils.JerseyClient")
40 @PrepareForTest({DcaeConfigurationPolling.class, DcaeConfigurationQuery.class})
41 public class DcaeConfigurationPollingTest {
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");
51 Whitebox.setInternalState(dcaeConfigurationPolling, "url", "http://127.0.0.1");
53 RuleQueryListResponse ruleQueryListResponse = new RuleQueryListResponse();
54 List<RuleResult4API> ruleResult4APIList = new ArrayList<RuleResult4API>() {
56 add(new RuleResult4API());
59 ruleQueryListResponse.setCorrelationRules(ruleResult4APIList);
60 ruleQueryListResponse.setTotalCount(ruleResult4APIList.size());
62 JerseyClient mockedJerseyClient = PowerMock.createMock(JerseyClient.class);
63 PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
64 expect(mockedJerseyClient.get(anyString(), anyObject())).andReturn(ruleQueryListResponse);
66 PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
67 expect(mockedJerseyClient.delete(anyString())).andReturn("true");
69 PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
70 expect(mockedJerseyClient.header(anyString(), anyString())).andReturn(mockedJerseyClient);
71 expect(mockedJerseyClient.put(anyString(), anyObject())).andReturn("true");
75 dcaeConfigurationPolling.run();
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");
88 Whitebox.setInternalState(dcaeConfigurationPolling, "url", "http://127.0.0.1");
90 RuleQueryListResponse ruleQueryListResponse = new RuleQueryListResponse();
91 List<RuleResult4API> ruleResult4APIList = new ArrayList<RuleResult4API>() {
93 add(new RuleResult4API());
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);
102 PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
103 expect(mockedJerseyClient.delete(anyString())).andReturn("true");
105 PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
106 expect(mockedJerseyClient.header(anyString(), anyString())).andReturn(mockedJerseyClient);
107 expect(mockedJerseyClient.put(anyString(), anyObject())).andReturn("true");
111 dcaeConfigurationPolling.run();
112 dcaeConfigurationPolling.run();