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.onboarding.util.KeyConstants;
62 import org.onap.portalsdk.core.onboarding.util.KeyProperties;
63 import org.onap.portalsdk.core.service.DataAccessService;
64 import org.onap.portalsdk.core.service.DataAccessServiceImpl;
65 import org.onap.portalsdk.core.util.SystemProperties;
66 import org.powermock.api.mockito.PowerMockito;
67 import org.powermock.core.classloader.annotations.PrepareForTest;
68 import org.powermock.modules.junit4.PowerMockRunner;
70 @RunWith(PowerMockRunner.class)
71 @PrepareForTest({Criterion.class, Restrictions.class, CipherUtil.class, EPCommonSystemProperties.class, SystemProperties.class, KeyProperties.class, KeyConstants.class})
72 public class MicroserviceServiceImplTest {
74 private static final String TEST="test";
76 DataAccessService dataAccessService = new DataAccessServiceImpl();
80 MockitoAnnotations.initMocks(this);
84 MicroserviceServiceImpl microserviceServiceImpl = new MicroserviceServiceImpl();
87 public void saveMicroserviceTest() throws Exception {
88 MicroserviceData microserviceData = new MicroserviceData();
89 List<MicroserviceParameter> microserviceParameters = new ArrayList<>();
90 MicroserviceParameter microserviceParameter = new MicroserviceParameter();
91 microserviceParameter.setId(1l);
92 microserviceParameter.setPara_key("test");
93 microserviceParameter.setPara_value("test");
94 microserviceParameters.add(microserviceParameter);
95 microserviceData.setActive("true");
96 microserviceData.setAppId(1l);
97 microserviceData.setId(1l);
98 microserviceData.setParameterList(microserviceParameters);
99 Long actual = microserviceServiceImpl.saveMicroservice(microserviceData);
100 assertEquals((Long)1l, actual);
104 public void saveServiceParametersTest() throws Exception {
105 MicroserviceData microserviceData = new MicroserviceData();
106 List<MicroserviceParameter> microserviceParameters = new ArrayList<>();
107 MicroserviceParameter microserviceParameter = new MicroserviceParameter();
108 microserviceParameter.setId(1l);
109 microserviceParameter.setPara_key("test");
110 microserviceParameter.setPara_value("test");
111 microserviceParameters.add(microserviceParameter);
112 microserviceData.setActive("true");
113 microserviceData.setAppId(1l);
114 microserviceData.setId(1l);
115 microserviceData.setParameterList(microserviceParameters);
116 microserviceServiceImpl.saveServiceParameters(1l, microserviceParameters);
119 @SuppressWarnings("unchecked")
121 public void getMicroserviceDataByIdTest() throws Exception {
122 PowerMockito.mockStatic(Restrictions.class);
123 PowerMockito.mockStatic(Criterion.class);
124 MicroserviceData microserviceData = new MicroserviceData();
125 List<MicroserviceParameter> microserviceParameters = new ArrayList<>();
126 MicroserviceParameter microserviceParameter = new MicroserviceParameter();
127 microserviceParameter.setId(1l);
128 microserviceParameter.setPara_key("test");
129 microserviceParameter.setPara_value("test");
130 microserviceParameters.add(microserviceParameter);
131 microserviceData.setActive("true");
132 microserviceData.setAppId(1l);
133 microserviceData.setId(1l);
134 List<Criterion> restrictionsList = new ArrayList<Criterion>();
135 Criterion idCriterion = Restrictions.eq("id", 1l);
136 restrictionsList.add(idCriterion);
137 List<MicroserviceData> microserviceDatas = new ArrayList<>();
138 microserviceDatas.add(microserviceData);
139 Mockito.when((List<MicroserviceData>) dataAccessService.getList(MicroserviceData.class, null, restrictionsList, null)).thenReturn(microserviceDatas);
140 List<Criterion> restrictionsList2 = new ArrayList<Criterion>();
141 Criterion serviceIdCriterion = Restrictions.eq("serviceId", 1l);
142 restrictionsList2.add(serviceIdCriterion);
143 Mockito.when((List<MicroserviceParameter>) dataAccessService.getList(MicroserviceParameter.class, null, restrictionsList2, null)).thenReturn(microserviceParameters);
144 MicroserviceData actual = microserviceServiceImpl.getMicroserviceDataById(1l);
145 assertNotNull(actual);
148 @SuppressWarnings({ "unchecked", "deprecation" })
150 public void getMicroserviceDataTest() throws Exception {
151 PowerMockito.mockStatic(SystemProperties.class);
152 PowerMockito.mockStatic(CipherUtil.class);
153 PowerMockito.mockStatic(Restrictions.class);
154 PowerMockito.mockStatic(Criterion.class);
155 PowerMockito.mockStatic(KeyProperties.class);
156 PowerMockito.mockStatic(KeyConstants.class);
157 List<MicroserviceParameter> microserviceParameters = new ArrayList<>();
158 MicroserviceData microserviceData = new MicroserviceData();
159 MicroserviceParameter microserviceParameter = new MicroserviceParameter();
160 microserviceParameter.setId(1l);
161 microserviceParameter.setPara_key("test");
162 microserviceParameter.setPara_value("test");
163 microserviceParameters.add(microserviceParameter);
164 microserviceData.setActive("true");
165 microserviceData.setAppId(1l);
166 microserviceData.setPassword("xyz");
167 microserviceData.setId(1l);
168 List<MicroserviceData> microserviceDatas = new ArrayList<>();
169 microserviceDatas.add(microserviceData);
170 Mockito.when((List<MicroserviceData>) dataAccessService.getList(MicroserviceData.class, null)).thenReturn(microserviceDatas);
171 List<Criterion> restrictionsList2 = new ArrayList<Criterion>();
172 Criterion serviceIdCriterion = Restrictions.eq("serviceId", 1l);
173 restrictionsList2.add(serviceIdCriterion);
174 Mockito.when((List<MicroserviceParameter>) dataAccessService.getList(MicroserviceParameter.class, null, restrictionsList2, null)).thenReturn(microserviceParameters);
175 Mockito.when(CipherUtil.decryptPKC("xyz",KeyProperties.getProperty(KeyConstants.CIPHER_ENCRYPTION_KEY))).thenReturn("abc");
176 List<MicroserviceData> actual = microserviceServiceImpl.getMicroserviceData();
177 assertNotNull(actual);
180 @SuppressWarnings({ "unchecked", "deprecation", "static-access" })
182 public void getMicroserviceDataBadPaddingExceptionTest() throws Exception {
183 PowerMockito.mockStatic(SystemProperties.class);
184 PowerMockito.mockStatic(CipherUtil.class);
185 PowerMockito.mockStatic(Restrictions.class);
186 PowerMockito.mockStatic(Criterion.class);
187 PowerMockito.mockStatic(KeyProperties.class);
188 PowerMockito.mockStatic(KeyConstants.class);
189 List<MicroserviceParameter> microserviceParameters = new ArrayList<>();
190 MicroserviceData microserviceData = new MicroserviceData();
191 MicroserviceParameter microserviceParameter = new MicroserviceParameter();
192 microserviceParameter.setId(1l);
193 microserviceParameter.setPara_key("test");
194 microserviceParameter.setPara_value("test");
195 microserviceParameters.add(microserviceParameter);
196 microserviceData.setActive("true");
197 microserviceData.setAppId(1l);
198 microserviceData.setPassword("xyz");
199 microserviceData.setId(1l);
200 List<MicroserviceData> microserviceDatas = new ArrayList<>();
201 microserviceDatas.add(microserviceData);
202 Mockito.when((List<MicroserviceData>) dataAccessService.getList(MicroserviceData.class, null)).thenReturn(microserviceDatas);
203 List<Criterion> restrictionsList2 = new ArrayList<Criterion>();
204 Criterion serviceIdCriterion = Restrictions.eq("serviceId", 1l);
205 restrictionsList2.add(serviceIdCriterion);
206 Mockito.when((List<MicroserviceParameter>) dataAccessService.getList(MicroserviceParameter.class, null, restrictionsList2, null)).thenReturn(microserviceParameters);
207 Mockito.when(CipherUtil.decryptPKC("xyz",KeyProperties.getProperty(KeyConstants.CIPHER_ENCRYPTION_KEY))).thenThrow(BadPaddingException.class);
208 List<MicroserviceData> actual = microserviceServiceImpl.getMicroserviceData();
209 assertNotNull(actual);
213 public void updateMicroservice()throws Exception {
215 List<MicroserviceParameter> microserviceParameters = new ArrayList<>();
216 MicroserviceParameter microserviceParameter = new MicroserviceParameter();
217 microserviceParameter.setId(1l);
218 microserviceParameter.setPara_key(TEST);
219 microserviceParameter.setPara_value(TEST);
220 microserviceParameters.add(microserviceParameter);
221 List<Criterion> restrictionsList = new ArrayList<Criterion>();
223 PowerMockito.mockStatic(Restrictions.class);
224 PowerMockito.mockStatic(CipherUtil.class);
225 Criterion serviceIdCriterion = Restrictions.eq("serviceId", 1l);
226 restrictionsList.add(serviceIdCriterion);
227 PowerMockito.mockStatic(KeyProperties.class);
228 PowerMockito.mockStatic(KeyConstants.class);
229 Mockito.when(KeyProperties.getProperty(KeyConstants.CIPHER_ENCRYPTION_KEY)).thenReturn(TEST);
230 Mockito.when(CipherUtil.encryptPKC(TEST, TEST)).thenReturn(TEST);
231 Mockito.when((List<MicroserviceParameter>) dataAccessService.getList(MicroserviceParameter.class, null, restrictionsList, null)).thenReturn(microserviceParameters);
232 microserviceServiceImpl.updateMicroservice(1l, buildData());
237 public void getParametersById() {
238 List<Criterion> restrictionsList = new ArrayList<Criterion>();
239 PowerMockito.mockStatic(Restrictions.class);
240 PowerMockito.mockStatic(CipherUtil.class);
241 Criterion serviceIdCriterion = Restrictions.eq("serviceId", 1l);
242 restrictionsList.add(serviceIdCriterion);
243 Mockito.when((List<MicroserviceParameter>) dataAccessService.getList(MicroserviceParameter.class, null, restrictionsList, null)).thenReturn(buildData().getParameterList());
245 List<MicroserviceParameter> parameters= microserviceServiceImpl.getParametersById(1l);
246 assertEquals(TEST, parameters.get(0).getPara_key());
250 public void deleteMicroservice()throws Exception {
251 microserviceServiceImpl.deleteMicroservice(1l);
256 public MicroserviceData buildData() {
257 MicroserviceData microserviceData=new MicroserviceData();
258 microserviceData.setId((long)1);
259 microserviceData.setName(TEST);
260 microserviceData.setActive(TEST);
261 microserviceData.setDesc(TEST);
262 microserviceData.setAppId((long)1);
263 microserviceData.setUrl(TEST);
264 microserviceData.setSecurityType(TEST);
265 microserviceData.setUsername(TEST);
266 microserviceData.setPassword(TEST);
268 List<MicroserviceParameter> microserviceParameters = new ArrayList<>();
269 MicroserviceParameter microserviceParameter = new MicroserviceParameter();
270 microserviceParameter.setId(1l);
271 microserviceParameter.setPara_key(TEST);
272 microserviceParameter.setPara_value(TEST);
273 microserviceParameters.add(microserviceParameter);
274 microserviceData.setParameterList(microserviceParameters);
276 return microserviceData;