2 * Copyright 2017 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.
17 package org.onap.holmes.common.aai;
19 import static org.hamcrest.CoreMatchers.equalTo;
20 import static org.hamcrest.MatcherAssert.assertThat;
22 import java.io.IOException;
23 import java.util.List;
24 import org.junit.Before;
25 import org.junit.Rule;
26 import org.junit.Test;
27 import org.junit.rules.ExpectedException;
28 import org.onap.holmes.common.aai.entity.VmEntity;
29 import org.onap.holmes.common.aai.entity.VmResourceLink;
30 import org.onap.holmes.common.aai.entity.VnfEntity;
31 import org.powermock.core.classloader.annotations.PrepareForTest;
33 @PrepareForTest(AaiResponseUtil.class)
34 public class AaiResponseUtilTest {
37 public ExpectedException thrown = ExpectedException.none();
39 private AaiResponseUtil aaiResponseUtil;
43 aaiResponseUtil = new AaiResponseUtil();
47 public void testAaiResponseUtil_convert_resouce_link_success() throws IOException {
49 + "\"result-data\": ["
51 + "\"resource-link\": \"/aai/example-vserver-id-val-2\","
52 + "\"resource-type\": \"vserver\""
55 + "\"resource-link\": \"/111aai/example-vserver-id-val-2\","
56 + "\"resource-type\": \"111vserver\""
61 List<VmResourceLink> actual = aaiResponseUtil.convertJsonToVmResourceLink(json);
63 assertThat(actual.get(0).getResourceLink(), equalTo("/aai/example-vserver-id-val-2"));
64 assertThat(actual.get(0).getResourceType(), equalTo("vserver"));
65 assertThat(actual.get(1).getResourceLink(), equalTo("/111aai/example-vserver-id-val-2"));
66 assertThat(actual.get(1).getResourceType(), equalTo("111vserver"));
70 public void testAaiResponseUtil_convert_resource_link_input_empty_array() throws IOException {
72 + "\"result-data\": ["
75 List<VmResourceLink> actual = aaiResponseUtil.convertJsonToVmResourceLink(json);
76 assertThat(actual.isEmpty(), equalTo(true));
80 public void testAaiResponseUtil_convert_resource_link_input_empty() throws IOException {
82 List<VmResourceLink> actual = aaiResponseUtil.convertJsonToVmResourceLink(json);
83 assertThat(actual.isEmpty(), equalTo(true));
87 public void testAaiResponseUtil_convert_resource_link_input_error() throws IOException {
89 + "\"result-data\": ["
91 + "\"resource-link1\": \"/aai/example-vserver-id-val-2\","
92 + "\"resource-type\": \"vserver\""
95 + "\"resource-link\": \"/111aai/example-vserver-id-val-2\","
96 + "\"resource-type\": \"111vserver\""
100 List<VmResourceLink> actual = aaiResponseUtil.convertJsonToVmResourceLink(json);
101 assertThat(actual.size(), equalTo(1));
102 assertThat(actual.get(0).getResourceType(), equalTo("111vserver"));
106 public void testAaiResponseUtil_convert_resource_link_input_error1() throws IOException {
108 + "\"result-data1\": ["
111 List<VmResourceLink> actual = aaiResponseUtil.convertJsonToVmResourceLink(json);
112 assertThat(actual.isEmpty(), equalTo(true));
116 public void testAaiResponseUtil_convert_resource_link_throw_IOException() throws IOException {
117 thrown.expect(IOException.class);
118 String json = "{**}";
119 aaiResponseUtil.convertJsonToVmResourceLink(json);
123 public void testAaiResponseUtil_convert_VmEntity_success() throws IOException {
125 + "\"in-maint\": true,"
126 + "\"is-closed-loop-disabled\": true,"
127 + "\"prov-status\": \"example-prov-status-val-2\","
128 + "\"resource-version\": \"1504912891060\","
129 + "\"vserver-id\": \"example-vserver-id-val-2\","
130 + "\"vserver-name\": \"example-vserver-name-val-2\","
131 + "\"vserver-name2\": \"example-vserver-name2-val-2\","
132 + "\"vserver-selflink\": \"example-vserver-selflink-val-2\""
134 VmEntity actual = aaiResponseUtil.convertJsonToVmEntity(json);
135 assertThat(actual.getInMaint(), equalTo(true));
136 assertThat(actual.getClosedLoopDisable(), equalTo(true));
137 assertThat(actual.getProvStatus(), equalTo("example-prov-status-val-2"));
138 assertThat(actual.getResourceVersion(), equalTo("1504912891060"));
139 assertThat(actual.getVserverId(), equalTo("example-vserver-id-val-2"));
140 assertThat(actual.getVserverName(), equalTo("example-vserver-name-val-2"));
141 assertThat(actual.getVserverName2(), equalTo("example-vserver-name2-val-2"));
142 assertThat(actual.getVserverSelflink(), equalTo("example-vserver-selflink-val-2"));
146 public void testAaiResponseUtil_convert_VmEntity_throw_IOException() throws IOException {
147 thrown.expect(IOException.class);
148 String json = "{**}";
149 aaiResponseUtil.convertJsonToVmEntity(json);
153 public void testAaiResponseUtil_convert_VmEntity_input_empty() throws IOException {
155 VmEntity actual = aaiResponseUtil.convertJsonToVmEntity(json);
156 assertThat(actual == null, equalTo(true));
160 public void testAaiResponseUtil_convert_VmEntity_input_error() throws IOException {
162 + "\"in-maint1\": true,"
163 + "\"is-closed-loop-disabled\": true,"
164 + "\"prov-status\": \"example-prov-status-val-2\","
165 + "\"resource-version\": \"1504912891060\","
166 + "\"vserver-id\": \"example-vserver-id-val-2\","
167 + "\"vserver-name\": \"example-vserver-name-val-2\","
168 + "\"vserver-name2\": \"example-vserver-name2-val-2\","
169 + "\"vserver-selflink\": \"example-vserver-selflink-val-2\""
171 VmEntity actual = aaiResponseUtil.convertJsonToVmEntity(json);
172 assertThat(actual.getInMaint() == null, equalTo(true));
173 assertThat(actual.getClosedLoopDisable(), equalTo(true));
174 assertThat(actual.getProvStatus(), equalTo("example-prov-status-val-2"));
175 assertThat(actual.getResourceVersion(), equalTo("1504912891060"));
176 assertThat(actual.getVserverId(), equalTo("example-vserver-id-val-2"));
177 assertThat(actual.getVserverName(), equalTo("example-vserver-name-val-2"));
178 assertThat(actual.getVserverName2(), equalTo("example-vserver-name2-val-2"));
179 assertThat(actual.getVserverSelflink(), equalTo("example-vserver-selflink-val-2"));
183 public void testAaiResponseUtil_convert_success() throws IOException {
185 + "\"in-maint\":false,"
186 + "\"relationship-list\":{"
187 + "\"relationship\":["
189 + "\"related-link\":\"/aai/v11/e8fe\","
190 + "\"related-to\":\"service-instance\","
191 + "\"related-to-property\":["
193 + "\"property-key\":\"service-i\","
194 + "\"property-value\":\"vCPEInfraSI13\""
197 + "\"relationship-data\":["
199 + "\"relationship-key\":\"custome\","
200 + "\"relationship-value\":\"Demonstration3\""
207 VnfEntity actual = aaiResponseUtil.convertJsonToVnfEntity(json);
209 assertThat(actual.getInMaint(), equalTo(false));
210 assertThat(actual.getRelationshipList().getRelationships().get(0).getRelatedLink(),
211 equalTo("/aai/v11/e8fe"));
212 assertThat(actual.getRelationshipList().getRelationships().get(0).getRelatedTo(),
213 equalTo("service-instance"));
214 assertThat(actual.getRelationshipList().getRelationships().get(0).getRelatedToPropertyList()
215 .get(0).getPropertyKey(), equalTo("service-i"));
216 assertThat(actual.getRelationshipList().getRelationships().get(0).getRelatedToPropertyList()
217 .get(0).getPropertyValue(), equalTo("vCPEInfraSI13"));
218 assertThat(actual.getRelationshipList().getRelationships().get(0).getRelationshipDataList().get(0)
219 .getRelationshipKey(), equalTo("custome"));
220 assertThat(actual.getRelationshipList().getRelationships().get(0).getRelationshipDataList().get(0)
221 .getRelationshipValue(), equalTo("Demonstration3"));
225 public void testAaiResponseUtil_throw_IOException() throws IOException {
226 thrown.expect(IOException.class);
227 String json = "{**}";
228 aaiResponseUtil.convertJsonToVnfEntity(json);
232 public void testAaiResponseUtil_convert_VnfEntity_input_empty() throws IOException {
234 VnfEntity actual = aaiResponseUtil.convertJsonToVnfEntity(json);
235 assertThat(actual == null, equalTo(true));
239 public void testAaiResponseUtil_convert_input_not_include_relationship_list() throws IOException {
241 + "\"in-maint\":false,"
242 + "\"vnf-type\":\"vCPEInfraService10/vCPEInfraService10 0\""
244 VnfEntity actual = aaiResponseUtil.convertJsonToVnfEntity(json);
245 assertThat(actual.getRelationshipList().getRelationships().isEmpty(), equalTo(true));
249 public void testAaiResponseUtil_convert_input_not_include_relationship() throws IOException {
251 + "\"in-maint\":false,"
252 + "\"is-closed-loop-disabled\":false,"
253 + "\"relationship-list\":{"
255 + "\"service-id\":\"e8cb8968-5411-478b-906a-f28747de72cd\""
257 VnfEntity actual = aaiResponseUtil.convertJsonToVnfEntity(json);
258 assertThat(actual.getRelationshipList().getRelationships().isEmpty(), equalTo(true));
262 public void testAaiResponseUtil_convert_input_relationship_empty() throws IOException {
264 + "\"in-maint\":false,"
265 + "\"relationship-list\":{"
266 + "\"relationship\":["
269 + "\"vnf-type\":\"vCPEInfraService10/vCPEInfraService10 0\""
271 VnfEntity actual = aaiResponseUtil.convertJsonToVnfEntity(json);
272 assertThat(actual.getRelationshipList().getRelationships().isEmpty(), equalTo(true));
276 public void testAaiResponseUtil_convert_input_not_include_related_to_property() throws IOException {
278 + "\"in-maint\":false,"
279 + "\"relationship-list\":{"
280 + "\"relationship\":["
282 + "\"related-link\":\"/aai/6\","
283 + "\"related-to\":\"service-instance\","
284 + "\"relationship-data\":["
286 + "\"relationship-key\":\"service-instance.service-instance-id\","
287 + "\"relationship-value\":\"e8feceb6-28ae-480a-bfbc-1985ce333526\""
293 + "\"vnf-type\":\"vCPEInfraSe0\""
295 VnfEntity actual = aaiResponseUtil.convertJsonToVnfEntity(json);
296 assertThat(actual.getRelationshipList().getRelationships().get(0).getRelatedToPropertyList()
297 .isEmpty(), equalTo(true));
301 public void testAaiResponseUtil_convert_input_related_to_property_empty() throws IOException {
303 + "\"in-maint\":false,"
304 + "\"relationship-list\":{"
305 + "\"relationship\":["
307 + "\"related-link\":\"/aai/3526\","
308 + "\"related-to\":\"service-instance\","
309 + "\"related-to-property\":["
311 + "\"relationship-data\":["
313 + "\"relationship-key\":\"servicnce-id\","
314 + "\"relationship-value\":\"e8feceb6-28a6\""
320 + "\"vnf-type\":\"vCPEce10\""
322 VnfEntity actual = aaiResponseUtil.convertJsonToVnfEntity(json);
323 assertThat(actual.getRelationshipList().getRelationships().get(0).getRelatedToPropertyList()
324 .isEmpty(), equalTo(true));