1 /*******************************************************************************
2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2019 Wipro Limited.
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=========================================================
20 *******************************************************************************/
22 package org.onap.dcaegen2.services.sonhms;
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertNotNull;
26 import static org.junit.Assert.assertTrue;
27 import static org.mockito.Mockito.when;
29 import fj.data.Either;
31 import java.io.BufferedReader;
32 import java.io.InputStream;
33 import java.io.InputStreamReader;
34 import java.util.ArrayList;
35 import java.util.List;
37 import org.junit.BeforeClass;
38 import org.junit.Test;
39 import org.junit.runner.RunWith;
40 import org.mockito.InjectMocks;
41 import org.mockito.Mock;
42 import org.onap.dcaegen2.services.sonhms.dao.HandOverMetricsRepository;
43 import org.onap.dcaegen2.services.sonhms.entity.HandOverMetrics;
44 import org.onap.dcaegen2.services.sonhms.model.HoDetails;
45 import org.onap.dcaegen2.services.sonhms.utils.BeanUtil;
46 import org.powermock.api.mockito.PowerMockito;
47 import org.powermock.core.classloader.annotations.PrepareForTest;
48 import org.powermock.modules.junit4.PowerMockRunner;
49 import org.powermock.modules.junit4.PowerMockRunnerDelegate;
50 import org.springframework.boot.test.context.SpringBootTest;
51 import org.springframework.test.context.junit4.SpringRunner;
53 @RunWith(PowerMockRunner.class)
54 @PowerMockRunnerDelegate(SpringRunner.class)
55 @PrepareForTest({ BeanUtil.class })
56 @SpringBootTest(classes = HoMetricsComponentTest.class)
57 public class HoMetricsComponentTest {
60 HandOverMetricsRepository handOverMetricsRepositoryMock;
63 HoMetricsComponent hoMetricsComponent;
65 static String hoDetailsString;
68 public static void setup() {
69 hoDetailsString=readFromFile("/hoDetails.json");
73 public void getHoMetricsTest() {
74 PowerMockito.mockStatic(BeanUtil.class);
75 PowerMockito.when(BeanUtil
76 .getBean(HandOverMetricsRepository.class)).thenReturn(handOverMetricsRepositoryMock);
77 when(handOverMetricsRepositoryMock.getHandOverMetrics("")).thenReturn(hoDetailsString);
78 Either<List<HoDetails>, Integer> result = hoMetricsComponent.getHoMetrics("");
79 assertNotNull(result.left().value());
80 when(handOverMetricsRepositoryMock.getHandOverMetrics("")).thenReturn("wrongText");
81 result = hoMetricsComponent.getHoMetrics("");
82 int res= result.right().value();
83 assertEquals(400,res);
87 public void getAllTest() {
88 PowerMockito.mockStatic(BeanUtil.class);
89 PowerMockito.when(BeanUtil
90 .getBean(HandOverMetricsRepository.class)).thenReturn(handOverMetricsRepositoryMock);
91 HandOverMetrics hoMetrics = new HandOverMetrics();
92 hoMetrics.setHoDetails("hoDetails");
93 hoMetrics.setSrcCellId("cell1");
94 List<HandOverMetrics> hoList = new ArrayList<>();
95 hoList.add(hoMetrics);
96 Iterable<HandOverMetrics> response = hoList;
97 when(handOverMetricsRepositoryMock.findAll()).thenReturn(response);
98 assertTrue(hoMetricsComponent.getAll().isLeft());
99 when(handOverMetricsRepositoryMock.findAll()).thenReturn(null);
100 assertTrue(hoMetricsComponent.getAll().isRight());
104 public void update() {
105 PowerMockito.mockStatic(BeanUtil.class);
106 PowerMockito.when(BeanUtil.getBean(HandOverMetricsRepository.class)).thenReturn(handOverMetricsRepositoryMock);
107 assertEquals(true, hoMetricsComponent.update("HODetails", "12"));
110 private static String readFromFile(String file) {
111 String content = new String();
114 InputStream is = HoMetricsComponentTest.class.getResourceAsStream(file);
115 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is));
116 content = bufferedReader.readLine();
118 while ((temp = bufferedReader.readLine()) != null) {
119 content = content.concat(temp);
121 content = content.trim();
122 bufferedReader.close();
123 } catch (Exception e) {