2 * ============LICENSE_START=======================================================
3 * PNF-REGISTRATION-HANDLER
4 * ================================================================================
5 * Copyright (C) 2018 NOKIA 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.onap.dcaegen2.services.prh.service;
23 import static org.mockito.Mockito.spy;
25 import com.google.gson.JsonElement;
26 import com.google.gson.JsonObject;
27 import com.google.gson.JsonParser;
28 import java.util.Optional;
29 import org.junit.jupiter.api.Assertions;
30 import org.junit.jupiter.api.Test;
31 import org.mockito.Mockito;
32 import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
33 import org.onap.dcaegen2.services.prh.model.ImmutableConsumerDmaapModel;
34 import reactor.core.publisher.Mono;
35 import reactor.test.StepVerifier;
38 * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 5/8/18
40 class DmaapConsumerJsonParserTest {
43 void whenPassingCorrectJson_validationNotThrowingAnException() {
45 String message = "[{\"event\": {"
46 + "\"commonEventHeader\": { "
47 + " \"sourceName\":\"NOKQTFCOC540002E\","
48 + " \"nfNamingCode\":\"gNB\" "
50 + "\"pnfRegistrationFields\": {"
51 + " \"vendorName\": \"nokia\","
52 + " \"serialNumber\": \"QTFCOC540002E\","
53 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
54 + " \"modelNumber\": \"3310\","
55 + " \"unitType\": \"type\",\n"
56 + " \"unitFamily\": \"BBU\","
57 + " \"oamV4IpAddress\": \"10.16.123.234\","
58 + " \"softwareVersion\": \"v4.5.0.1\","
59 + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\","
60 + " \"additionalFields\": {\"attachmentPoint\":\"bla-bla-30-3\",\"cvlan\":\"678\",\"svlan\":\"1005\"}"
63 String parsed = "{\"event\": {"
64 + "\"commonEventHeader\": { "
65 + " \"sourceName\":\"NOKQTFCOC540002E\","
66 + " \"nfNamingCode\":\"gNB\" "
68 + "\"pnfRegistrationFields\": {"
69 + " \"vendorName\": \"nokia\","
70 + " \"serialNumber\": \"QTFCOC540002E\","
71 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
72 + " \"modelNumber\": \"3310\","
73 + " \"unitType\": \"type\",\n"
74 + " \"unitFamily\": \"BBU\","
75 + " \"oamV4IpAddress\": \"10.16.123.234\","
76 + " \"softwareVersion\": \"v4.5.0.1\","
77 + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\","
78 + " \"additionalFields\": {\"attachmentPoint\":\"bla-bla-30-3\",\"cvlan\":\"678\",\"svlan\":\"1005\"}"
81 JsonObject jsonObject = new JsonParser().parse("{\n"
82 + " \"attachmentPoint\": \"bla-bla-30-3\",\n"
83 + " \"cvlan\": \"678\",\n"
84 + " \"svlan\": \"1005\"\n"
85 + " }").getAsJsonObject();
87 ConsumerDmaapModel expectedObject = ImmutableConsumerDmaapModel.builder()
88 .ipv4("10.16.123.234")
89 .ipv6("0:0:0:0:0:FFFF:0A10:7BEA")
90 .correlationId("NOKQTFCOC540002E")
91 .serialNumber("QTFCOC540002E")
96 .swVersion("v4.5.0.1")
97 .additionalFields(jsonObject)
100 DmaapConsumerJsonParser dmaapConsumerJsonParser = spy(new DmaapConsumerJsonParser());
101 JsonElement jsonElement = new JsonParser().parse(parsed);
102 Mockito.doReturn(Optional.of(jsonElement.getAsJsonObject()))
103 .when(dmaapConsumerJsonParser).getJsonObjectFromAnArray(jsonElement);
104 //ConsumerDmaapModel consumerDmaapModel = dmaapConsumerJsonParser
105 // .getJsonObject(Mono.just((message))).blockFirst();
107 //Assertions.assertNotNull(consumerDmaapModel);
108 //Assertions.assertEquals(expectedObject, consumerDmaapModel);
112 void whenPassingJsonWithoutAdditionalFields_validationNotThrowingAnException() {
114 String message = "[{\"event\": {"
115 + "\"commonEventHeader\": { "
116 + " \"sourceName\":\"NOKQTFCOC540002E\","
117 + " \"nfNamingCode\":\"gNB\" "
119 + "\"pnfRegistrationFields\": {"
120 + " \"vendorName\": \"nokia\","
121 + " \"serialNumber\": \"QTFCOC540002E\","
122 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
123 + " \"modelNumber\": \"3310\","
124 + " \"unitType\": \"type\",\n"
125 + " \"unitFamily\": \"BBU\","
126 + " \"oamV4IpAddress\": \"10.16.123.234\","
127 + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\","
128 + " \"softwareVersion\": \"v4.5.0.1\""
131 String parsed = "{\"event\": {"
132 + "\"commonEventHeader\": { "
133 + " \"sourceName\":\"NOKQTFCOC540002E\","
134 + " \"nfNamingCode\":\"gNB\" "
136 + "\"pnfRegistrationFields\": {"
137 + " \"vendorName\": \"nokia\","
138 + " \"serialNumber\": \"QTFCOC540002E\","
139 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
140 + " \"modelNumber\": \"3310\","
141 + " \"unitType\": \"type\",\n"
142 + " \"unitFamily\": \"BBU\","
143 + " \"oamV4IpAddress\": \"10.16.123.234\","
144 + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\","
145 + " \"softwareVersion\": \"v4.5.0.1\""
148 ConsumerDmaapModel expectedObject = ImmutableConsumerDmaapModel.builder()
149 .correlationId("NOKQTFCOC540002E")
150 .serialNumber("QTFCOC540002E")
151 .ipv4("10.16.123.234")
152 .ipv6("0:0:0:0:0:FFFF:0A10:7BEA")
153 .equipVendor("nokia")
157 .swVersion("v4.5.0.1")
160 DmaapConsumerJsonParser dmaapConsumerJsonParser = spy(new DmaapConsumerJsonParser());
161 JsonElement jsonElement = new JsonParser().parse(parsed);
162 Mockito.doReturn(Optional.of(jsonElement.getAsJsonObject()))
163 .when(dmaapConsumerJsonParser).getJsonObjectFromAnArray(jsonElement);
164 //ConsumerDmaapModel consumerDmaapModel = dmaapConsumerJsonParser
165 // .getJsonObject(Mono.just((message))).blockFirst();
167 //Assertions.assertNotNull(consumerDmaapModel);
168 //Assertions.assertEquals(expectedObject, consumerDmaapModel);
172 void whenPassingJsonWithEmptyAdditionalFields_validationNotThrowingAnException() {
174 String message = "[{\"event\": {"
175 + "\"commonEventHeader\": { "
176 + " \"sourceName\":\"NOKQTFCOC540002E\","
177 + " \"nfNamingCode\":\"gNB\" "
179 + "\"pnfRegistrationFields\": {"
180 + " \"vendorName\": \"nokia\","
181 + " \"serialNumber\": \"QTFCOC540002E\","
182 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
183 + " \"modelNumber\": \"3310\","
184 + " \"unitType\": \"type\",\n"
185 + " \"unitFamily\": \"BBU\","
186 + " \"softwareVersion\": \"v4.5.0.1\","
187 + " \"oamV4IpAddress\": \"10.16.123.234\","
188 + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\","
189 + " \"additionalFields\": {}"
192 String parsed = "{\"event\": {"
193 + "\"commonEventHeader\": { "
194 + " \"sourceName\":\"NOKQTFCOC540002E\","
195 + " \"nfNamingCode\":\"gNB\" "
197 + "\"pnfRegistrationFields\": {"
198 + " \"vendorName\": \"nokia\","
199 + " \"serialNumber\": \"QTFCOC540002E\","
200 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
201 + " \"modelNumber\": \"3310\","
202 + " \"unitType\": \"type\",\n"
203 + " \"unitFamily\": \"BBU\","
204 + " \"softwareVersion\": \"v4.5.0.1\","
205 + " \"oamV4IpAddress\": \"10.16.123.234\","
206 + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\","
207 + " \"additionalFields\": {}"
210 ConsumerDmaapModel expectedObject = ImmutableConsumerDmaapModel.builder()
211 .correlationId("NOKQTFCOC540002E")
212 .serialNumber("QTFCOC540002E")
213 .ipv4("10.16.123.234")
214 .ipv6("0:0:0:0:0:FFFF:0A10:7BEA")
215 .equipVendor("nokia")
219 .swVersion("v4.5.0.1")
220 .additionalFields(new JsonObject())
223 DmaapConsumerJsonParser dmaapConsumerJsonParser = spy(new DmaapConsumerJsonParser());
224 JsonElement jsonElement = new JsonParser().parse(parsed);
225 Mockito.doReturn(Optional.of(jsonElement.getAsJsonObject()))
226 .when(dmaapConsumerJsonParser).getJsonObjectFromAnArray(jsonElement);
227 //ConsumerDmaapModel consumerDmaapModel = dmaapConsumerJsonParser
228 // .getJsonObject(Mono.just((message))).blockFirst();
230 // Assertions.assertNotNull(consumerDmaapModel);
231 // Assertions.assertEquals(expectedObject, consumerDmaapModel);
235 void whenPassingJsonWithoutMandatoryHeaderInformation_validationAddingAnException() {
236 String parsed = "{\"event\": {"
237 + "\"commonEventHeader\": {},"
238 + "\"pnfRegistrationFields\": {"
239 + " \"unitType\": \"AirScale\","
240 + " \"serialNumber\": \"QTFCOC540002E\","
241 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
242 + " \"manufactureDate\": \"1535014037024\","
243 + " \"modelNumber\": \"7BEA\",\n"
244 + " \"lastServiceDate\": \"1535014037024\","
245 + " \"unitFamily\": \"BBU\","
246 + " \"vendorName\": \"Nokia\","
247 + " \"softwareVersion\": \"v4.5.0.1\","
248 + " \"oamV4IpAddress\": \"10.16.123.234\","
249 + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\","
250 + " \"additionalFields\": {}"
253 DmaapConsumerJsonParser dmaapConsumerJsonParser = spy(new DmaapConsumerJsonParser());
254 JsonElement jsonElement = new JsonParser().parse(parsed);
255 Mockito.doReturn(Optional.of(jsonElement.getAsJsonObject()))
256 .when(dmaapConsumerJsonParser).getJsonObjectFromAnArray(jsonElement);
257 String incorrectMessage = "[{\"event\": {"
258 + "\"commonEventHeader\": {},"
259 + "\"pnfRegistrationFields\": {"
260 + " \"unitType\": \"AirScale\","
261 + " \"serialNumber\": \"QTFCOC540002E\","
262 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
263 + " \"manufactureDate\": \"1535014037024\","
264 + " \"modelNumber\": \"7BEA\",\n"
265 + " \"lastServiceDate\": \"1535014037024\","
266 + " \"unitFamily\": \"BBU\","
267 + " \"vendorName\": \"Nokia\","
268 + " \"softwareVersion\": \"v4.5.0.1\","
269 + " \"oamV4IpAddress\": \"10.16.123.234\","
270 + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\","
271 + " \"additionalFields\": {}"
273 //StepVerifier.create(dmaapConsumerJsonParser.getJsonObject(Mono.just(incorrectMessage)))
274 // .expectSubscription().thenRequest(1).verifyComplete();
278 void whenPassingJsonWithoutSourceName_validationAddingAnException() {
279 String parsed = "{\"event\": {"
280 + "\"commonEventHeader\": {},"
281 + "\"pnfRegistrationFields\": {"
282 + " \"unitType\": \"AirScale\","
283 + " \"serialNumber\": \"QTFCOC540002E\","
284 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
285 + " \"manufactureDate\": \"1535014037024\","
286 + " \"modelNumber\": \"7BEA\",\n"
287 + " \"lastServiceDate\": \"1535014037024\","
288 + " \"unitFamily\": \"BBU\","
289 + " \"vendorName\": \"Nokia\","
290 + " \"softwareVersion\": \"v4.5.0.1\","
291 + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\","
292 + " \"additionalFields\": {}"
295 DmaapConsumerJsonParser dmaapConsumerJsonParser = spy(new DmaapConsumerJsonParser());
296 JsonElement jsonElement = new JsonParser().parse(parsed);
297 Mockito.doReturn(Optional.of(jsonElement.getAsJsonObject()))
298 .when(dmaapConsumerJsonParser).getJsonObjectFromAnArray(jsonElement);
299 String jsonWithoutSourceName =
301 + "\"commonEventHeader\": {},"
302 + "\"pnfRegistrationFields\": {"
303 + " \"unitType\": \"AirScale\","
304 + " \"serialNumber\": \"QTFCOC540002E\","
305 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
306 + " \"manufactureDate\": \"1535014037024\","
307 + " \"modelNumber\": \"7BEA\",\n"
308 + " \"lastServiceDate\": \"1535014037024\","
309 + " \"unitFamily\": \"BBU\","
310 + " \"vendorName\": \"Nokia\","
311 + " \"softwareVersion\": \"v4.5.0.1\","
312 + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\","
313 + " \"additionalFields\": {}"
318 .create(dmaapConsumerJsonParser.getJsonObject(Mono.just(jsonWithoutSourceName)))
319 .expectSubscription().thenRequest(1)
325 void whenPassingJsonWithoutSourceNameValue_validationAddingAnException() {
328 + "\"commonEventHeader\": {\"sourceName\": \"\"},"
329 + "\"pnfRegistrationFields\": {"
330 + " \"unitType\": \"AirScale\","
331 + " \"serialNumber\": \"QTFCOC540002E\","
332 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
333 + " \"manufactureDate\": \"1535014037024\","
334 + " \"modelNumber\": \"7BEA\",\n"
335 + " \"lastServiceDate\": \"1535014037024\","
336 + " \"unitFamily\": \"BBU\","
337 + " \"vendorName\": \"Nokia\","
338 + " \"softwareVersion\": \"v4.5.0.1\","
339 + " \"oamV4IpAddress\": \"10.16.123.234\","
340 + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\","
341 + " \"additionalFields\": {}"
344 DmaapConsumerJsonParser dmaapConsumerJsonParser = spy(new DmaapConsumerJsonParser());
345 JsonElement jsonElement = new JsonParser().parse(parsed);
346 Mockito.doReturn(Optional.of(jsonElement.getAsJsonObject()))
347 .when(dmaapConsumerJsonParser).getJsonObjectFromAnArray(jsonElement);
348 String jsonWithoutIpInformation =
350 + "\"commonEventHeader\": {\"sourceName\": \"\"},"
351 + "\"pnfRegistrationFields\": {"
352 + " \"unitType\": \"AirScale\","
353 + " \"serialNumber\": \"QTFCOC540002E\","
354 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
355 + " \"manufactureDate\": \"1535014037024\","
356 + " \"modelNumber\": \"7BEA\",\n"
357 + " \"lastServiceDate\": \"1535014037024\","
358 + " \"unitFamily\": \"BBU\","
359 + " \"vendorName\": \"Nokia\","
360 + " \"softwareVersion\": \"v4.5.0.1\","
361 + " \"oamV4IpAddress\": \"10.16.123.234\","
362 + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\","
363 + " \"additionalFields\": {}"
365 //StepVerifier.create(dmaapConsumerJsonParser.getJsonObject(Mono.just(jsonWithoutIpInformation)))
366 // .expectSubscription().thenRequest(1).verifyComplete();
370 void whenPassingCorrectJsonWithoutIpv4_validationNotThrowingAnException() {
372 String message = "[{\"event\": {"
373 + "\"commonEventHeader\": { "
374 + " \"sourceName\":\"NOKQTFCOC540002E\","
375 + " \"nfNamingCode\":\"gNB\" "
377 + "\"pnfRegistrationFields\": {"
378 + " \"vendorName\": \"nokia\","
379 + " \"serialNumber\": \"QTFCOC540002E\","
380 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
381 + " \"modelNumber\": \"3310\","
382 + " \"unitType\": \"type\",\n"
383 + " \"unitFamily\": \"BBU\","
384 + " \"softwareVersion\": \"v4.5.0.1\","
385 + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\""
388 String parsed = "{\"event\": {"
389 + "\"commonEventHeader\": { "
390 + " \"sourceName\":\"NOKQTFCOC540002E\","
391 + " \"nfNamingCode\":\"gNB\" "
393 + "\"pnfRegistrationFields\": {"
394 + " \"vendorName\": \"nokia\","
395 + " \"serialNumber\": \"QTFCOC540002E\","
396 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
397 + " \"modelNumber\": \"3310\","
398 + " \"unitType\": \"type\",\n"
399 + " \"unitFamily\": \"BBU\","
400 + " \"softwareVersion\": \"v4.5.0.1\","
401 + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\""
405 DmaapConsumerJsonParser dmaapConsumerJsonParser = spy(new DmaapConsumerJsonParser());
406 JsonElement jsonElement = new JsonParser().parse(parsed);
407 Mockito.doReturn(Optional.of(jsonElement.getAsJsonObject()))
408 .when(dmaapConsumerJsonParser).getJsonObjectFromAnArray(jsonElement);
411 dmaapConsumerJsonParser.getJsonObject(Mono.just((message)));
412 ConsumerDmaapModel consumerDmaapModel = dmaapConsumerJsonParser.getJsonObject(Mono.just((message)))
415 ConsumerDmaapModel expectedObject = ImmutableConsumerDmaapModel.builder()
417 .ipv6("0:0:0:0:0:FFFF:0A10:7BEA")
418 .correlationId("NOKQTFCOC540002E")
419 .serialNumber("QTFCOC540002E")
420 .equipVendor("nokia")
424 .swVersion("v4.5.0.1")
426 Assertions.assertNotNull(consumerDmaapModel);
427 Assertions.assertEquals(expectedObject, consumerDmaapModel);
432 void whenPassingCorrectJsonWithoutIpv6_validationNotThrowingAnException() {
434 String message = "[{\"event\": {"
435 + "\"commonEventHeader\": { "
436 + " \"sourceName\":\"NOKQTFCOC540002E\","
437 + " \"nfNamingCode\":\"gNB\" "
439 + "\"pnfRegistrationFields\": {"
440 + " \"vendorName\": \"nokia\","
441 + " \"serialNumber\": \"QTFCOC540002E\","
442 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
443 + " \"modelNumber\": \"3310\","
444 + " \"unitType\": \"type\",\n"
445 + " \"unitFamily\": \"BBU\","
446 + " \"oamV4IpAddress\": \"10.16.123.234\","
447 + " \"softwareVersion\": \"v4.5.0.1\""
451 String parsed = "{\"event\": {"
452 + "\"commonEventHeader\": { "
453 + " \"sourceName\":\"NOKQTFCOC540002E\","
454 + " \"nfNamingCode\":\"gNB\" "
456 + "\"pnfRegistrationFields\": {"
457 + " \"vendorName\": \"nokia\","
458 + " \"serialNumber\": \"QTFCOC540002E\","
459 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
460 + " \"modelNumber\": \"3310\","
461 + " \"unitType\": \"type\",\n"
462 + " \"unitFamily\": \"BBU\","
463 + " \"oamV4IpAddress\": \"10.16.123.234\","
464 + " \"softwareVersion\": \"v4.5.0.1\""
468 ConsumerDmaapModel expectedObject = ImmutableConsumerDmaapModel.builder()
469 .ipv4("10.16.123.234")
471 .correlationId("NOKQTFCOC540002E")
472 .serialNumber("QTFCOC540002E")
473 .equipVendor("nokia")
477 .swVersion("v4.5.0.1")
480 DmaapConsumerJsonParser dmaapConsumerJsonParser = spy(new DmaapConsumerJsonParser());
481 JsonElement jsonElement = new JsonParser().parse(parsed);
482 Mockito.doReturn(Optional.of(jsonElement.getAsJsonObject()))
483 .when(dmaapConsumerJsonParser).getJsonObjectFromAnArray(jsonElement);
486 ConsumerDmaapModel consumerDmaapModel = dmaapConsumerJsonParser.getJsonObject(Mono.just((message)))
489 Assertions.assertNotNull(consumerDmaapModel);
490 Assertions.assertEquals(expectedObject, consumerDmaapModel);
495 void whenPassingCorrectJsonWithoutIpv4andIpv6_validationAddingAnException() {
497 String message = "[{\"event\": {"
498 + "\"commonEventHeader\": { "
499 + " \"sourceName\":\"NOKQTFCOC540002E\","
500 + " \"nfNamingCode\":\"gNB\" "
502 + "\"pnfRegistrationFields\": {"
503 + " \"vendorName\": \"nokia\","
504 + " \"serialNumber\": \"QTFCOC540002E\","
505 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
506 + " \"modelNumber\": \"3310\","
507 + " \"unitType\": \"type\",\n"
508 + " \"unitFamily\": \"BBU\","
509 + " \"softwareVersion\": \"v4.5.0.1\","
510 + " \"additionalFields\": {}"
513 String parsed = "{\"event\": {"
514 + "\"commonEventHeader\": { "
515 + " \"sourceName\":\"NOKQTFCOC540002E\","
516 + " \"nfNamingCode\":\"gNB\" "
518 + "\"pnfRegistrationFields\": {"
519 + " \"vendorName\": \"nokia\","
520 + " \"serialNumber\": \"QTFCOC540002E\","
521 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
522 + " \"modelNumber\": \"3310\","
523 + " \"unitType\": \"type\",\n"
524 + " \"unitFamily\": \"BBU\","
525 + " \"softwareVersion\": \"v4.5.0.1\","
526 + " \"additionalFields\": {}"
529 DmaapConsumerJsonParser dmaapConsumerJsonParser = spy(new DmaapConsumerJsonParser());
530 JsonElement jsonElement = new JsonParser().parse(parsed);
531 Mockito.doReturn(Optional.of(jsonElement.getAsJsonObject()))
532 .when(dmaapConsumerJsonParser).getJsonObjectFromAnArray(jsonElement);
533 // StepVerifier.create(dmaapConsumerJsonParser.getJsonObject(Mono.just(message)))
534 // .expectSubscription().thenRequest(1).verifyComplete();
539 void whenPassingJsonWithoutIpInformation_validationAddingAnException() {
542 + "\"commonEventHeader\": {\"sourceName\": \"NOKQTFCOC540002E\"},"
543 + "\"pnfRegistrationFields\": {"
544 + " \"unitType\": \"AirScale\","
545 + " \"serialNumber\": \"QTFCOC540002E\","
546 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
547 + " \"manufactureDate\": \"1535014037024\","
548 + " \"modelNumber\": \"7BEA\",\n"
549 + " \"lastServiceDate\": \"1535014037024\","
550 + " \"unitFamily\": \"BBU\","
551 + " \"vendorName\": \"Nokia\","
552 + " \"softwareVersion\": \"v4.5.0.1\","
553 + " \"oamV4IpAddress\": \"\","
554 + " \"oamV6IpAddress\": \"\","
555 + " \"additionalFields\": {}"
558 DmaapConsumerJsonParser dmaapConsumerJsonParser = spy(new DmaapConsumerJsonParser());
559 JsonElement jsonElement = new JsonParser().parse(parsed);
560 Mockito.doReturn(Optional.of(jsonElement.getAsJsonObject()))
561 .when(dmaapConsumerJsonParser).getJsonObjectFromAnArray(jsonElement);
562 String jsonWithoutIpInformation =
564 + "\"commonEventHeader\": {\"sourceName\": \"NOKQTFCOC540002E\"},"
565 + "\"pnfRegistrationFields\": {"
566 + " \"unitType\": \"AirScale\","
567 + " \"serialNumber\": \"QTFCOC540002E\","
568 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
569 + " \"manufactureDate\": \"1535014037024\","
570 + " \"modelNumber\": \"7BEA\",\n"
571 + " \"lastServiceDate\": \"1535014037024\","
572 + " \"unitFamily\": \"BBU\","
573 + " \"vendorName\": \"Nokia\","
574 + " \"softwareVersion\": \"v4.5.0.1\","
575 + " \"oamV4IpAddress\": \"\","
576 + " \"oamV6IpAddress\": \"\","
577 + " \"additionalFields\": {}"
579 //StepVerifier.create(dmaapConsumerJsonParser.getJsonObject(Mono.just(jsonWithoutIpInformation)))
580 // .expectSubscription().thenRequest(1).verifyComplete();
584 void whenPassingCorrectJsoArrayWithoutIpv4_validationNotThrowingAnException() {
586 String message = "[{\"event\": {"
587 + "\"commonEventHeader\": { "
588 + " \"sourceName\":\"NOKQTFCOC540002E\","
589 + " \"nfNamingCode\":\"gNB\" "
591 + "\"pnfRegistrationFields\": {"
592 + " \"vendorName\": \"nokia\","
593 + " \"serialNumber\": \"QTFCOC540002E\","
594 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
595 + " \"modelNumber\": \"3310\","
596 + " \"unitType\": \"type\",\n"
597 + " \"unitFamily\": \"BBU\","
598 + " \"softwareVersion\": \"v4.5.0.1\","
599 + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\","
600 + " \"additionalFields\": {}"
603 + "\"commonEventHeader\": { "
604 + " \"sourceName\":\"NOKQTFCOC540002E\","
605 + " \"nfNamingCode\":\"gNB\" "
607 + "\"pnfRegistrationFields\": {"
608 + " \"vendorName\": \"nokia\","
609 + " \"serialNumber\": \"QTFCOC540002E\","
610 + " \"pnfRegistrationFieldsVersion\": \"2.0\","
611 + " \"modelNumber\": \"3310\","
612 + " \"unitType\": \"type\",\n"
613 + " \"unitFamily\": \"BBU\","
614 + " \"softwareVersion\": \"v4.5.0.1\","
615 + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\","
616 + " \"additionalFields\": {}"
619 ConsumerDmaapModel expectedObject = ImmutableConsumerDmaapModel.builder()
621 .ipv6("0:0:0:0:0:FFFF:0A10:7BEA")
622 .correlationId("NOKQTFCOC540002E")
623 .serialNumber("QTFCOC540002E")
624 .equipVendor("nokia")
628 .swVersion("v4.5.0.1")
629 .additionalFields(new JsonObject())
632 DmaapConsumerJsonParser dmaapConsumerJsonParser = new DmaapConsumerJsonParser();
635 // StepVerifier.create(dmaapConsumerJsonParser.getJsonObject(Mono.just(message)))
636 // .expectSubscription().expectNext(expectedObject).expectNext(expectedObject).verifyComplete();