2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2019 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
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.sdc.be.components.health;
23 import mockit.Deencapsulation;
24 import org.apache.commons.lang3.tuple.Pair;
25 import org.junit.Assert;
26 import org.junit.Test;
27 import org.mockito.Mockito;
28 import org.openecomp.sdc.be.components.BeConfDependentTest;
29 import org.openecomp.sdc.be.components.distribution.engine.DistributionEngineClusterHealth;
30 import org.openecomp.sdc.be.components.distribution.engine.DmaapHealth;
31 import org.openecomp.sdc.be.switchover.detector.SwitchoverDetector;
32 import org.openecomp.sdc.common.api.HealthCheckInfo;
33 import org.springframework.test.util.ReflectionTestUtils;
35 import java.util.LinkedList;
36 import java.util.List;
38 public class HealthCheckBusinessLogicTest extends BeConfDependentTest{
40 private final SwitchoverDetector switchoverDetector = Mockito.mock(SwitchoverDetector.class);
42 private HealthCheckBusinessLogic createTestSubject() {
43 HealthCheckBusinessLogic healthCheckBusinessLogic = new HealthCheckBusinessLogic(switchoverDetector);
44 DmaapHealth dmaapHealth = new DmaapHealth();
45 ReflectionTestUtils.setField(healthCheckBusinessLogic, "dmaapHealth", dmaapHealth);
46 DistributionEngineClusterHealth distributionEngineClusterHealth = new DistributionEngineClusterHealth();
47 ReflectionTestUtils.setField(healthCheckBusinessLogic, "distributionEngineClusterHealth", distributionEngineClusterHealth);
48 SwitchoverDetector switchoverDetector = new SwitchoverDetector();
49 ReflectionTestUtils.setField(healthCheckBusinessLogic, "switchoverDetector", switchoverDetector);
50 List<HealthCheckInfo> prevBeHealthCheckInfos = new LinkedList<>();
51 ReflectionTestUtils.setField(healthCheckBusinessLogic, "prevBeHealthCheckInfos", prevBeHealthCheckInfos);
52 return healthCheckBusinessLogic;
56 public void testInit() throws Exception {
57 HealthCheckBusinessLogic testSubject;
60 testSubject = createTestSubject();
65 public void testIsDistributionEngineUp() throws Exception {
66 HealthCheckBusinessLogic testSubject;
70 testSubject = createTestSubject();
71 result = testSubject.isDistributionEngineUp();
75 public void testGetBeHealthCheckInfosStatus() throws Exception {
76 HealthCheckBusinessLogic testSubject;
77 Pair<Boolean, List<HealthCheckInfo>> result;
80 testSubject = createTestSubject();
81 result = testSubject.getBeHealthCheckInfosStatus();
85 public void testGetBeHealthCheckInfos() throws Exception {
86 HealthCheckBusinessLogic testSubject;
87 List<HealthCheckInfo> result;
92 testSubject = createTestSubject();
93 result = Deencapsulation.invoke(testSubject, "getBeHealthCheckInfos");
97 public void testGetEsHealthCheck() throws Exception {
98 HealthCheckBusinessLogic testSubject;
99 List<HealthCheckInfo> healthCheckInfos = new LinkedList<>();
100 List<HealthCheckInfo> result;
103 testSubject = createTestSubject();
104 result = Deencapsulation.invoke(testSubject, "getEsHealthCheck", healthCheckInfos);
108 public void testGetBeHealthCheck() throws Exception {
109 HealthCheckBusinessLogic testSubject;
110 List<HealthCheckInfo> healthCheckInfos = new LinkedList<>();
111 List<HealthCheckInfo> result;
114 testSubject = createTestSubject();
115 result = Deencapsulation.invoke(testSubject, "getBeHealthCheck", healthCheckInfos);
119 public void testGetDmaapHealthCheck() throws Exception {
120 HealthCheckBusinessLogic testSubject;
121 List<HealthCheckInfo> healthCheckInfos = new LinkedList<>();
122 List<HealthCheckInfo> result;
125 testSubject = createTestSubject();
126 result = Deencapsulation.invoke(testSubject, "getDmaapHealthCheck", healthCheckInfos);
130 public void testGetJanusGraphHealthCheck() throws Exception {
131 HealthCheckBusinessLogic testSubject;
132 List<HealthCheckInfo> healthCheckInfos = new LinkedList<>();
133 List<HealthCheckInfo> result;
136 testSubject = createTestSubject();
137 result = testSubject.getJanusGraphHealthCheck(healthCheckInfos);
141 public void testGetCassandraHealthCheck() throws Exception {
142 HealthCheckBusinessLogic testSubject;
143 List<HealthCheckInfo> healthCheckInfos = new LinkedList<>();
144 List<HealthCheckInfo> result;
147 testSubject = createTestSubject();
148 result = Deencapsulation.invoke(testSubject, "getCassandraHealthCheck", healthCheckInfos);
152 public void testGetDistributionEngineCheck() throws Exception {
153 HealthCheckBusinessLogic testSubject;
154 List<HealthCheckInfo> healthCheckInfos = new LinkedList<>();
157 testSubject = createTestSubject();
158 Deencapsulation.invoke(testSubject, "getDistributionEngineCheck", healthCheckInfos);
162 public void testGetAmdocsHealthCheck() throws Exception {
163 HealthCheckBusinessLogic testSubject;
164 List<HealthCheckInfo> healthCheckInfos = new LinkedList<>();
165 List<HealthCheckInfo> result;
168 testSubject = createTestSubject();
169 result = Deencapsulation.invoke(testSubject, "getAmdocsHealthCheck", healthCheckInfos);
173 public void testGetDcaeHealthCheck() throws Exception {
174 HealthCheckBusinessLogic testSubject;
175 List<HealthCheckInfo> healthCheckInfos = new LinkedList<>();
176 List<HealthCheckInfo> result;
179 testSubject = createTestSubject();
180 result = Deencapsulation.invoke(testSubject, "getDcaeHealthCheck", healthCheckInfos);
184 public void testGetHostedComponentsBeHealthCheck() throws Exception {
185 HealthCheckBusinessLogic testSubject;
186 String componentName = "mock";
187 String healthCheckUrl = "mock";
188 HealthCheckInfo result;
191 testSubject = createTestSubject();
192 result = Deencapsulation.invoke(testSubject, "getHostedComponentsBeHealthCheck",
193 componentName, healthCheckUrl);
196 testSubject = createTestSubject();
198 result = Deencapsulation.invoke(testSubject, "getHostedComponentsBeHealthCheck",
199 componentName, healthCheckUrl);
203 public void testDestroy() throws Exception {
204 HealthCheckBusinessLogic testSubject;
207 testSubject = createTestSubject();
208 Deencapsulation.invoke(testSubject, "destroy");
212 public void testLogAlarm() throws Exception {
213 HealthCheckBusinessLogic testSubject;
214 String componentChangedMsg = "mock";
217 testSubject = createTestSubject();
218 Deencapsulation.invoke(testSubject, "logAlarm", componentChangedMsg);
222 public void testGetSiteMode() throws Exception {
223 HealthCheckBusinessLogic testSubject;
227 testSubject = createTestSubject();
228 result = testSubject.getSiteMode();
232 public void testAnyStatusChanged() throws Exception {
233 HealthCheckBusinessLogic testSubject;
234 List<HealthCheckInfo> beHealthCheckInfos = null;
235 List<HealthCheckInfo> prevBeHealthCheckInfos = null;
239 testSubject = createTestSubject();
240 beHealthCheckInfos = null;
241 prevBeHealthCheckInfos = null;
242 result = testSubject.anyStatusChanged(beHealthCheckInfos, prevBeHealthCheckInfos);
243 Assert.assertEquals(false, result);
246 testSubject = createTestSubject();
247 prevBeHealthCheckInfos = null;
248 beHealthCheckInfos = null;
249 result = testSubject.anyStatusChanged(beHealthCheckInfos, prevBeHealthCheckInfos);
250 Assert.assertEquals(false, result);
253 testSubject = createTestSubject();
254 beHealthCheckInfos = null;
255 prevBeHealthCheckInfos = null;
256 result = testSubject.anyStatusChanged(beHealthCheckInfos, prevBeHealthCheckInfos);
257 Assert.assertEquals(false, result);
260 testSubject = createTestSubject();
261 prevBeHealthCheckInfos = null;
262 beHealthCheckInfos = null;
263 result = testSubject.anyStatusChanged(beHealthCheckInfos, prevBeHealthCheckInfos);
264 Assert.assertEquals(false, result);
268 public void testBuildOnBoardingHealthCheckUrl() throws Exception {
269 HealthCheckBusinessLogic testSubject;
273 testSubject = createTestSubject();
274 result = Deencapsulation.invoke(testSubject, "buildOnBoardingHealthCheckUrl");
278 public void testBuildDcaeHealthCheckUrl() throws Exception {
279 HealthCheckBusinessLogic testSubject;
283 testSubject = createTestSubject();
284 result = Deencapsulation.invoke(testSubject, "buildDcaeHealthCheckUrl");