2 * ============LICENSE_START==========================================
4 * ===================================================================
5 * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
6 * ===================================================================
8 * Unless otherwise specified, all software contained herein is licensed
9 * under the Apache License, Version 2.0 (the "License");
10 * you may not use this software except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
21 * Unless otherwise specified, all documentation contained herein is licensed
22 * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23 * you may not use this documentation except in compliance with the License.
24 * You may obtain a copy of the License at
26 * https://creativecommons.org/licenses/by/4.0/
28 * Unless required by applicable law or agreed to in writing, documentation
29 * distributed under the License is distributed on an "AS IS" BASIS,
30 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31 * See the License for the specific language governing permissions and
32 * limitations under the License.
34 * ============LICENSE_END============================================
38 package org.onap.portalapp.portal.service;
40 import static org.junit.Assert.assertEquals;
41 import static org.junit.Assert.assertNotNull;
43 import java.util.ArrayList;
44 import java.util.List;
46 import javax.crypto.BadPaddingException;
48 import org.hibernate.criterion.Criterion;
49 import org.hibernate.criterion.Restrictions;
50 import org.junit.Before;
51 import org.junit.Test;
52 import org.junit.runner.RunWith;
53 import org.mockito.InjectMocks;
54 import org.mockito.Mock;
55 import org.mockito.Mockito;
56 import org.mockito.MockitoAnnotations;
57 import org.onap.portalapp.portal.domain.MicroserviceData;
58 import org.onap.portalapp.portal.domain.MicroserviceParameter;
59 import org.onap.portalapp.portal.utils.EPCommonSystemProperties;
60 import org.onap.portalsdk.core.onboarding.util.CipherUtil;
61 import org.onap.portalsdk.core.service.DataAccessService;
62 import org.onap.portalsdk.core.service.DataAccessServiceImpl;
63 import org.onap.portalsdk.core.util.SystemProperties;
64 import org.powermock.api.mockito.PowerMockito;
65 import org.powermock.core.classloader.annotations.PrepareForTest;
66 import org.powermock.modules.junit4.PowerMockRunner;
68 @RunWith(PowerMockRunner.class)
69 @PrepareForTest({Criterion.class, Restrictions.class, CipherUtil.class, EPCommonSystemProperties.class, SystemProperties.class, Restrictions.class})
70 public class MicroserviceServiceImplTest {
72 private static final String TEST="test";
74 DataAccessService dataAccessService = new DataAccessServiceImpl();
78 MockitoAnnotations.initMocks(this);
82 MicroserviceServiceImpl microserviceServiceImpl = new MicroserviceServiceImpl();
85 public void saveMicroserviceTest() throws Exception {
86 MicroserviceData microserviceData = new MicroserviceData();
87 List<MicroserviceParameter> microserviceParameters = new ArrayList<>();
88 MicroserviceParameter microserviceParameter = new MicroserviceParameter();
89 microserviceParameter.setId(1l);
90 microserviceParameter.setPara_key("test");
91 microserviceParameter.setPara_value("test");
92 microserviceParameters.add(microserviceParameter);
93 microserviceData.setActive("true");
94 microserviceData.setAppId(1l);
95 microserviceData.setId(1l);
96 microserviceData.setParameterList(microserviceParameters);
97 Long actual = microserviceServiceImpl.saveMicroservice(microserviceData);
98 assertEquals((Long)1l, actual);
102 public void saveServiceParametersTest() throws Exception {
103 MicroserviceData microserviceData = new MicroserviceData();
104 List<MicroserviceParameter> microserviceParameters = new ArrayList<>();
105 MicroserviceParameter microserviceParameter = new MicroserviceParameter();
106 microserviceParameter.setId(1l);
107 microserviceParameter.setPara_key("test");
108 microserviceParameter.setPara_value("test");
109 microserviceParameters.add(microserviceParameter);
110 microserviceData.setActive("true");
111 microserviceData.setAppId(1l);
112 microserviceData.setId(1l);
113 microserviceData.setParameterList(microserviceParameters);
114 microserviceServiceImpl.saveServiceParameters(1l, microserviceParameters);
117 @SuppressWarnings("unchecked")
119 public void getMicroserviceDataByIdTest() throws Exception {
120 PowerMockito.mockStatic(Restrictions.class);
121 PowerMockito.mockStatic(Criterion.class);
122 MicroserviceData microserviceData = new MicroserviceData();
123 List<MicroserviceParameter> microserviceParameters = new ArrayList<>();
124 MicroserviceParameter microserviceParameter = new MicroserviceParameter();
125 microserviceParameter.setId(1l);
126 microserviceParameter.setPara_key("test");
127 microserviceParameter.setPara_value("test");
128 microserviceParameters.add(microserviceParameter);
129 microserviceData.setActive("true");
130 microserviceData.setAppId(1l);
131 microserviceData.setId(1l);
132 List<Criterion> restrictionsList = new ArrayList<Criterion>();
133 Criterion idCriterion = Restrictions.eq("id", 1l);
134 restrictionsList.add(idCriterion);
135 List<MicroserviceData> microserviceDatas = new ArrayList<>();
136 microserviceDatas.add(microserviceData);
137 Mockito.when((List<MicroserviceData>) dataAccessService.getList(MicroserviceData.class, null, restrictionsList, null)).thenReturn(microserviceDatas);
138 List<Criterion> restrictionsList2 = new ArrayList<Criterion>();
139 Criterion serviceIdCriterion = Restrictions.eq("serviceId", 1l);
140 restrictionsList2.add(serviceIdCriterion);
141 Mockito.when((List<MicroserviceParameter>) dataAccessService.getList(MicroserviceParameter.class, null, restrictionsList2, null)).thenReturn(microserviceParameters);
142 MicroserviceData actual = microserviceServiceImpl.getMicroserviceDataById(1l);
143 assertNotNull(actual);
146 @SuppressWarnings({ "unchecked", "deprecation" })
148 public void getMicroserviceDataTest() throws Exception {
149 PowerMockito.mockStatic(SystemProperties.class);
150 PowerMockito.mockStatic(CipherUtil.class);
151 PowerMockito.mockStatic(Restrictions.class);
152 PowerMockito.mockStatic(Criterion.class);
153 List<MicroserviceParameter> microserviceParameters = new ArrayList<>();
154 MicroserviceData microserviceData = new MicroserviceData();
155 MicroserviceParameter microserviceParameter = new MicroserviceParameter();
156 microserviceParameter.setId(1l);
157 microserviceParameter.setPara_key("test");
158 microserviceParameter.setPara_value("test");
159 microserviceParameters.add(microserviceParameter);
160 microserviceData.setActive("true");
161 microserviceData.setAppId(1l);
162 microserviceData.setPassword("xyz");
163 microserviceData.setId(1l);
164 List<MicroserviceData> microserviceDatas = new ArrayList<>();
165 microserviceDatas.add(microserviceData);
166 Mockito.when((List<MicroserviceData>) dataAccessService.getList(MicroserviceData.class, null)).thenReturn(microserviceDatas);
167 List<Criterion> restrictionsList2 = new ArrayList<Criterion>();
168 Criterion serviceIdCriterion = Restrictions.eq("serviceId", 1l);
169 restrictionsList2.add(serviceIdCriterion);
170 Mockito.when((List<MicroserviceParameter>) dataAccessService.getList(MicroserviceParameter.class, null, restrictionsList2, null)).thenReturn(microserviceParameters);
171 Mockito.when(CipherUtil.decryptPKC("xyz",
172 SystemProperties.getProperty(SystemProperties.Decryption_Key))).thenReturn("abc");
173 List<MicroserviceData> actual = microserviceServiceImpl.getMicroserviceData();
174 assertNotNull(actual);
177 @SuppressWarnings({ "unchecked", "deprecation", "static-access" })
179 public void getMicroserviceDataBadPaddingExceptionTest() throws Exception {
180 PowerMockito.mockStatic(SystemProperties.class);
181 PowerMockito.mockStatic(CipherUtil.class);
182 PowerMockito.mockStatic(Restrictions.class);
183 PowerMockito.mockStatic(Criterion.class);
184 List<MicroserviceParameter> microserviceParameters = new ArrayList<>();
185 MicroserviceData microserviceData = new MicroserviceData();
186 MicroserviceParameter microserviceParameter = new MicroserviceParameter();
187 microserviceParameter.setId(1l);
188 microserviceParameter.setPara_key("test");
189 microserviceParameter.setPara_value("test");
190 microserviceParameters.add(microserviceParameter);
191 microserviceData.setActive("true");
192 microserviceData.setAppId(1l);
193 microserviceData.setPassword("xyz");
194 microserviceData.setId(1l);
195 List<MicroserviceData> microserviceDatas = new ArrayList<>();
196 microserviceDatas.add(microserviceData);
197 Mockito.when((List<MicroserviceData>) dataAccessService.getList(MicroserviceData.class, null)).thenReturn(microserviceDatas);
198 List<Criterion> restrictionsList2 = new ArrayList<Criterion>();
199 Criterion serviceIdCriterion = Restrictions.eq("serviceId", 1l);
200 restrictionsList2.add(serviceIdCriterion);
201 Mockito.when((List<MicroserviceParameter>) dataAccessService.getList(MicroserviceParameter.class, null, restrictionsList2, null)).thenReturn(microserviceParameters);
202 Mockito.when(CipherUtil.decryptPKC("xyz",
203 SystemProperties.getProperty(SystemProperties.Decryption_Key))).thenThrow(BadPaddingException.class);
204 List<MicroserviceData> actual = microserviceServiceImpl.getMicroserviceData();
205 assertNotNull(actual);
209 public void updateMicroservice()throws Exception {
211 List<MicroserviceParameter> microserviceParameters = new ArrayList<>();
212 MicroserviceParameter microserviceParameter = new MicroserviceParameter();
213 microserviceParameter.setId(1l);
214 microserviceParameter.setPara_key(TEST);
215 microserviceParameter.setPara_value(TEST);
216 microserviceParameters.add(microserviceParameter);
217 List<Criterion> restrictionsList = new ArrayList<Criterion>();
219 PowerMockito.mockStatic(Restrictions.class);
220 PowerMockito.mockStatic(CipherUtil.class);
221 Criterion serviceIdCriterion = Restrictions.eq("serviceId", 1l);
222 restrictionsList.add(serviceIdCriterion);
223 PowerMockito.mockStatic(SystemProperties.class);
224 Mockito.when(SystemProperties.getProperty(SystemProperties.Decryption_Key)).thenReturn(TEST);
225 Mockito.when(CipherUtil.encryptPKC(TEST, TEST)).thenReturn(TEST);
227 Mockito.when((List<MicroserviceParameter>) dataAccessService.getList(MicroserviceParameter.class, null, restrictionsList, null)).thenReturn(microserviceParameters);
228 microserviceServiceImpl.updateMicroservice(1l, buildData());
233 public void getParametersById() {
234 List<Criterion> restrictionsList = new ArrayList<Criterion>();
235 PowerMockito.mockStatic(Restrictions.class);
236 PowerMockito.mockStatic(CipherUtil.class);
237 Criterion serviceIdCriterion = Restrictions.eq("serviceId", 1l);
238 restrictionsList.add(serviceIdCriterion);
239 Mockito.when((List<MicroserviceParameter>) dataAccessService.getList(MicroserviceParameter.class, null, restrictionsList, null)).thenReturn(buildData().getParameterList());
241 List<MicroserviceParameter> parameters= microserviceServiceImpl.getParametersById(1l);
242 assertEquals(TEST, parameters.get(0).getPara_key());
246 public void deleteMicroservice()throws Exception {
247 microserviceServiceImpl.deleteMicroservice(1l);
252 public MicroserviceData buildData() {
253 MicroserviceData microserviceData=new MicroserviceData();
254 microserviceData.setId((long)1);
255 microserviceData.setName(TEST);
256 microserviceData.setActive(TEST);
257 microserviceData.setDesc(TEST);
258 microserviceData.setAppId((long)1);
259 microserviceData.setUrl(TEST);
260 microserviceData.setSecurityType(TEST);
261 microserviceData.setUsername(TEST);
262 microserviceData.setPassword(TEST);
264 List<MicroserviceParameter> microserviceParameters = new ArrayList<>();
265 MicroserviceParameter microserviceParameter = new MicroserviceParameter();
266 microserviceParameter.setId(1l);
267 microserviceParameter.setPara_key(TEST);
268 microserviceParameter.setPara_value(TEST);
269 microserviceParameters.add(microserviceParameter);
270 microserviceData.setParameterList(microserviceParameters);
272 return microserviceData;