aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpwielebs <piotr.wielebski@nokia.com>2019-02-06 10:49:41 +0100
committerpwielebs <piotr.wielebski@nokia.com>2019-02-07 11:20:26 +0100
commit72aa0aaf4561f0cfd9c7e1dbe47a13f8571bf1db (patch)
tree0e215467c6351cd9219a9c10fd2a731ccc1a65f8
parentabb323766704953f3706dd921692290a26678de3 (diff)
Add additional fields to PRH
* patch version updated Change-Id: I32f8a0ec090a2559ef3324f937601e71670b30cf Issue-ID: DCAEGEN2-1173 Signed-off-by: pwielebs <piotr.wielebski@nokia.com>
-rw-r--r--pom.xml2
-rw-r--r--prh-app-server/pom.xml4
-rw-r--r--prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParser.java116
-rw-r--r--prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/PnfRegistrationFields.java44
-rw-r--r--prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParserTest.java268
-rw-r--r--prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTaskImplTest.java15
-rw-r--r--prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTaskImplTest.java27
-rw-r--r--prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImplTest.java14
-rw-r--r--prh-commons/pom.xml2
-rw-r--r--prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java18
-rw-r--r--prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModelForUnitTest.java51
-rw-r--r--prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/JsonBodyBuilderImpl.java14
-rw-r--r--prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/CommonFunctionsTest.java60
-rw-r--r--prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModelTest.java48
-rw-r--r--version.properties2
15 files changed, 398 insertions, 287 deletions
diff --git a/pom.xml b/pom.xml
index eecb158f..59cb87b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
<groupId>org.onap.dcaegen2.services</groupId>
<artifactId>prh</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.1-SNAPSHOT</version>
<name>dcaegen2-services-prh</name>
<description>PNF Registration Handler</description>
diff --git a/prh-app-server/pom.xml b/prh-app-server/pom.xml
index 89c4a50f..f6ee2f79 100644
--- a/prh-app-server/pom.xml
+++ b/prh-app-server/pom.xml
@@ -26,7 +26,7 @@
<parent>
<groupId>org.onap.dcaegen2.services</groupId>
<artifactId>prh</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.1-SNAPSHOT</version>
</parent>
<groupId>org.onap.dcaegen2.services.prh</groupId>
@@ -161,7 +161,7 @@
<dependency>
<groupId>org.onap.dcaegen2.services.prh</groupId>
<artifactId>prh-commons</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParser.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParser.java
index 4749b520..f47231df 100644
--- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParser.java
+++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParser.java
@@ -23,8 +23,6 @@ package org.onap.dcaegen2.services.prh.service;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
-import java.util.Optional;
-import java.util.stream.StreamSupport;
import org.onap.dcaegen2.services.prh.exceptions.DmaapNotFoundException;
import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
import org.onap.dcaegen2.services.prh.model.ImmutableConsumerDmaapModel;
@@ -34,6 +32,24 @@ import org.springframework.util.StringUtils;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
+import java.util.Optional;
+import java.util.stream.StreamSupport;
+
+import static org.onap.dcaegen2.services.prh.service.PnfRegistrationFields.COMMON_EVENT_HEADER;
+import static org.onap.dcaegen2.services.prh.service.PnfRegistrationFields.COMMON_FORMAT;
+import static org.onap.dcaegen2.services.prh.service.PnfRegistrationFields.CORRELATION_ID;
+import static org.onap.dcaegen2.services.prh.service.PnfRegistrationFields.EQUIP_MODEL;
+import static org.onap.dcaegen2.services.prh.service.PnfRegistrationFields.EQUIP_TYPE;
+import static org.onap.dcaegen2.services.prh.service.PnfRegistrationFields.EQUIP_VENDOR;
+import static org.onap.dcaegen2.services.prh.service.PnfRegistrationFields.EVENT;
+import static org.onap.dcaegen2.services.prh.service.PnfRegistrationFields.NF_ROLE;
+import static org.onap.dcaegen2.services.prh.service.PnfRegistrationFields.OAM_IPV_4_ADDRESS;
+import static org.onap.dcaegen2.services.prh.service.PnfRegistrationFields.OAM_IPV_6_ADDRESS;
+import static org.onap.dcaegen2.services.prh.service.PnfRegistrationFields.PNF_REGISTRATION_FIELDS;
+import static org.onap.dcaegen2.services.prh.service.PnfRegistrationFields.SERIAL_NUMBER;
+import static org.onap.dcaegen2.services.prh.service.PnfRegistrationFields.SOURCE_NAME;
+import static org.onap.dcaegen2.services.prh.service.PnfRegistrationFields.SW_VERSION;
+
/**
* @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 5/8/18
@@ -42,13 +58,15 @@ public class DmaapConsumerJsonParser {
private static final Logger LOGGER = LoggerFactory.getLogger(DmaapConsumerJsonParser.class);
- private static final String EVENT = "event";
- private static final String COMMON_EVENT_HEADER = "commonEventHeader";
- private static final String PNF_REGISTRATION_FIELDS = "pnfRegistrationFields";
- private static final String OAM_IPV_4_ADDRESS = "oamV4IpAddress";
- private static final String OAM_IPV_6_ADDRESS = "oamV6IpAddress";
- private static final String SOURCE_NAME = "sourceName";
- private static final String CORRELATION_ID = "correlationId";
+ private String pnfSourceName;
+ private String pnfOamIpv4Address;
+ private String pnfOamIpv6Address;
+ private String pnfSerialNumberAdditionalField;
+ private String pnfEquipVendorAdditionalField;
+ private String pnfEquipModelAdditionalField;
+ private String pnfEquipTypeAdditionalField;
+ private String pnfNfRoleAdditionalField;
+ private String pnfSwVersionAdditionalField;
/**
* Extract info from string and create @see {@link org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel}.
@@ -58,59 +76,71 @@ public class DmaapConsumerJsonParser {
*/
public Flux<ConsumerDmaapModel> getJsonObject(Mono<String> monoMessage) {
return monoMessage
- .flatMapMany(this::getJsonParserMessage)
- .flatMap(this::createJsonConsumerModel);
+ .flatMapMany(this::getJsonParserMessage)
+ .flatMap(this::createJsonConsumerModel);
}
private Mono<JsonElement> getJsonParserMessage(String message) {
return StringUtils.isEmpty(message) ? logErrorAndReturnMonoEmpty("DmaaP response is empty")
- : Mono.fromCallable(() -> new JsonParser().parse(message));
+ : Mono.fromCallable(() -> new JsonParser().parse(message));
}
private Flux<ConsumerDmaapModel> createJsonConsumerModel(JsonElement jsonElement) {
return jsonElement.isJsonObject()
- ? create(Flux.defer(() -> Flux.just(jsonElement.getAsJsonObject())))
- : getConsumerDmaapModelFromJsonArray(jsonElement);
+ ? create(Flux.defer(() -> Flux.just(jsonElement.getAsJsonObject())))
+ : getConsumerDmaapModelFromJsonArray(jsonElement);
}
private Flux<ConsumerDmaapModel> getConsumerDmaapModelFromJsonArray(JsonElement jsonElement) {
return create(
- Flux.defer(() -> Flux.fromStream(StreamSupport.stream(jsonElement.getAsJsonArray().spliterator(), false)
- .map(jsonElementFromArray -> getJsonObjectFromAnArray(jsonElementFromArray)
- .orElseGet(JsonObject::new)))));
+ Flux.defer(() -> Flux.fromStream(StreamSupport.stream(jsonElement.getAsJsonArray().spliterator(), false)
+ .map(jsonElementFromArray -> getJsonObjectFromAnArray(jsonElementFromArray)
+ .orElseGet(JsonObject::new)))));
}
public Optional<JsonObject> getJsonObjectFromAnArray(JsonElement element) {
JsonParser jsonParser = new JsonParser();
return element.isJsonPrimitive() ? Optional.of(jsonParser.parse(element.getAsString()).getAsJsonObject())
- : Optional.of(jsonParser.parse(element.toString()).getAsJsonObject());
+ : Optional.of(jsonParser.parse(element.toString()).getAsJsonObject());
}
private Flux<ConsumerDmaapModel> create(Flux<JsonObject> jsonObject) {
return jsonObject.flatMap(monoJsonP ->
- !containsHeader(monoJsonP) ? logErrorAndReturnMonoEmpty("Incorrect JsonObject - missing header")
- : transform(monoJsonP))
- .onErrorResume(exception -> exception instanceof DmaapNotFoundException, e -> Mono.empty());
+ !containsHeader(monoJsonP) ? logErrorAndReturnMonoEmpty("Incorrect JsonObject - missing header")
+ : transform(monoJsonP))
+ .onErrorResume(exception -> exception instanceof DmaapNotFoundException, e -> Mono.empty());
}
private Mono<ConsumerDmaapModel> transform(JsonObject responseFromDmaap) {
JsonObject commonEventHeader = responseFromDmaap.getAsJsonObject(EVENT)
- .getAsJsonObject(COMMON_EVENT_HEADER);
+ .getAsJsonObject(COMMON_EVENT_HEADER);
JsonObject pnfRegistrationFields = responseFromDmaap.getAsJsonObject(EVENT)
- .getAsJsonObject(PNF_REGISTRATION_FIELDS);
-
- String pnfSourceName = getValueFromJson(commonEventHeader, SOURCE_NAME);
- String pnfOamIpv4Address = getValueFromJson(pnfRegistrationFields, OAM_IPV_4_ADDRESS);
- String pnfOamIpv6Address = getValueFromJson(pnfRegistrationFields, OAM_IPV_6_ADDRESS);
+ .getAsJsonObject(PNF_REGISTRATION_FIELDS);
+
+ this.pnfSourceName = getValueFromJson(commonEventHeader, SOURCE_NAME);
+ this.pnfOamIpv4Address = getValueFromJson(pnfRegistrationFields, OAM_IPV_4_ADDRESS);
+ this.pnfOamIpv6Address = getValueFromJson(pnfRegistrationFields, OAM_IPV_6_ADDRESS);
+ this.pnfSerialNumberAdditionalField = getValueFromJson(pnfRegistrationFields, SERIAL_NUMBER);
+ this.pnfEquipVendorAdditionalField = getValueFromJson(pnfRegistrationFields, EQUIP_VENDOR);
+ this.pnfEquipModelAdditionalField = getValueFromJson(pnfRegistrationFields, EQUIP_MODEL);
+ this.pnfEquipTypeAdditionalField = getValueFromJson(pnfRegistrationFields, EQUIP_TYPE);
+ this.pnfNfRoleAdditionalField = getValueFromJson(pnfRegistrationFields, NF_ROLE);
+ this.pnfSwVersionAdditionalField = getValueFromJson(pnfRegistrationFields, SW_VERSION);
return (StringUtils.isEmpty(pnfSourceName) || !ipPropertiesNotEmpty(pnfOamIpv4Address, pnfOamIpv6Address))
- ? logErrorAndReturnMonoEmpty("Incorrect json, consumerDmaapModel can not be created: "
- + printMessage(pnfSourceName, pnfOamIpv4Address, pnfOamIpv6Address)) :
- Mono.just(ImmutableConsumerDmaapModel.builder()
- .correlationId(pnfSourceName)
- .ipv4(pnfOamIpv4Address)
- .ipv6(pnfOamIpv6Address).build());
+ ? logErrorAndReturnMonoEmpty("Incorrect json, consumerDmaapModel can not be created: "
+ + printMessage()) :
+ Mono.just(ImmutableConsumerDmaapModel.builder()
+ .correlationId(pnfSourceName)
+ .ipv4(pnfOamIpv4Address)
+ .ipv6(pnfOamIpv6Address)
+ .serialNumber(pnfSerialNumberAdditionalField)
+ .equipVendor(pnfEquipVendorAdditionalField)
+ .equipModel(pnfEquipModelAdditionalField)
+ .equipType(pnfEquipTypeAdditionalField)
+ .nfRole(pnfNfRoleAdditionalField)
+ .swVersion(pnfSwVersionAdditionalField).build());
}
private String getValueFromJson(JsonObject jsonObject, String jsonKey) {
@@ -125,12 +155,22 @@ public class DmaapConsumerJsonParser {
return jsonObject.has(EVENT) && jsonObject.getAsJsonObject(EVENT).has(PNF_REGISTRATION_FIELDS);
}
- private String printMessage(String sourceName, String oamIpv4Address, String oamIpv6Address) {
+ private String printMessage() {
return String.format("%n{"
- + "\"" + CORRELATION_ID + "\": \"%s\","
- + "\"" + OAM_IPV_4_ADDRESS + "\": \"%s\","
- + "\"" + OAM_IPV_6_ADDRESS + "\": \"%s\""
- + "%n}", sourceName, oamIpv4Address, oamIpv6Address);
+ + "\"" + CORRELATION_ID + COMMON_FORMAT + ","
+ + "\"" + OAM_IPV_4_ADDRESS + COMMON_FORMAT + ","
+ + "\"" + OAM_IPV_6_ADDRESS + COMMON_FORMAT + ","
+ + "\"" + SERIAL_NUMBER + COMMON_FORMAT + ","
+ + "\"" + EQUIP_VENDOR + COMMON_FORMAT + ","
+ + "\"" + EQUIP_MODEL + COMMON_FORMAT + ","
+ + "\"" + EQUIP_TYPE + COMMON_FORMAT + ","
+ + "\"" + NF_ROLE + COMMON_FORMAT + ","
+ + "\"" + SW_VERSION + COMMON_FORMAT
+ + "%n}", this.pnfSourceName, this.pnfOamIpv4Address, this.pnfOamIpv6Address,
+ this.pnfSerialNumberAdditionalField, this.pnfEquipVendorAdditionalField,
+ this.pnfEquipModelAdditionalField, this.pnfEquipTypeAdditionalField,
+ this.pnfNfRoleAdditionalField, this.pnfSwVersionAdditionalField
+ );
}
private <T> Mono<T> logErrorAndReturnMonoEmpty(String messageForLogger) {
diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/PnfRegistrationFields.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/PnfRegistrationFields.java
new file mode 100644
index 00000000..c2c2b741
--- /dev/null
+++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/PnfRegistrationFields.java
@@ -0,0 +1,44 @@
+/*
+ * ============LICENSE_START=======================================================
+ * PNF-REGISTRATION-HANDLER
+ * ================================================================================
+ * Copyright (C) 2019 NOKIA Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+
+package org.onap.dcaegen2.services.prh.service;
+
+class PnfRegistrationFields {
+
+ static final String COMMON_FORMAT = "\": \"%s\"";
+ static final String EVENT = "event";
+ static final String COMMON_EVENT_HEADER = "commonEventHeader";
+ static final String PNF_REGISTRATION_FIELDS = "pnfRegistrationFields";
+ static final String OAM_IPV_4_ADDRESS = "oamV4IpAddress";
+ static final String OAM_IPV_6_ADDRESS = "oamV6IpAddress";
+ static final String SOURCE_NAME = "sourceName";
+ static final String CORRELATION_ID = "correlationId";
+
+ // additional fields
+ static final String SERIAL_NUMBER = "serial-number";
+ static final String EQUIP_VENDOR = "equip-vendor";
+ static final String EQUIP_MODEL = "equip-model";
+ static final String EQUIP_TYPE = "equip-type";
+ static final String NF_ROLE = "nf-role";
+ static final String SW_VERSION = "sw-version";
+
+ private PnfRegistrationFields() {}
+}
diff --git a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParserTest.java b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParserTest.java
index 01ce7419..591276b0 100644
--- a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParserTest.java
+++ b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParserTest.java
@@ -42,40 +42,45 @@ class DmaapConsumerJsonParserTest {
void whenPassingCorrectJson_validationNotThrowingAnException() {
//given
String message = "[{\"event\": {"
- + "\"commonEventHeader\": { \"sourceName\":\"NOKQTFCOC540002E\"},"
- + "\"pnfRegistrationFields\": {"
- + " \"unitType\": \"AirScale\","
- + " \"serialNumber\": \"QTFCOC540002E\","
- + " \"pnfRegistrationFieldsVersion\": \"2.0\","
- + " \"manufactureDate\": \"1535014037024\","
- + " \"modelNumber\": \"7BEA\",\n"
- + " \"lastServiceDate\": \"1535014037024\","
- + " \"unitFamily\": \"BBU\","
- + " \"vendorName\": \"Nokia\","
- + " \"oamV4IpAddress\": \"10.16.123.234\","
- + " \"softwareVersion\": \"v4.5.0.1\","
- + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\""
- + "}}}]";
+ + "\"commonEventHeader\": { \"sourceName\":\"NOKQTFCOC540002E\"},"
+ + "\"pnfRegistrationFields\": {"
+ + " \"equip-vendor\": \"nokia\","
+ + " \"serial-number\": \"QTFCOC540002E\","
+ + " \"pnfRegistrationFieldsVersion\": \"2.0\","
+ + " \"equip-model\": \"3310\","
+ + " \"equip-type\": \"type\",\n"
+ + " \"nf-role\": \"role\","
+ + " \"oamV4IpAddress\": \"10.16.123.234\","
+ + " \"sw-version\": \"v4.5.0.1\","
+ + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\""
+ + "}}}]";
String parsed = "{\"event\": {"
- + "\"commonEventHeader\": { \"sourceName\":\"NOKQTFCOC540002E\"},"
- + "\"pnfRegistrationFields\": {"
- + " \"unitType\": \"AirScale\","
- + " \"serialNumber\": \"QTFCOC540002E\","
- + " \"pnfRegistrationFieldsVersion\": \"2.0\","
- + " \"manufactureDate\": \"1535014037024\","
- + " \"modelNumber\": \"7BEA\",\n"
- + " \"lastServiceDate\": \"1535014037024\","
- + " \"unitFamily\": \"BBU\","
- + " \"vendorName\": \"Nokia\","
- + " \"oamV4IpAddress\": \"10.16.123.234\","
- + " \"softwareVersion\": \"v4.5.0.1\","
- + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\""
- + "}}}";
+ + "\"commonEventHeader\": { \"sourceName\":\"NOKQTFCOC540002E\"},"
+ + "\"pnfRegistrationFields\": {"
+ + " \"equip-vendor\": \"nokia\","
+ + " \"serial-number\": \"QTFCOC540002E\","
+ + " \"pnfRegistrationFieldsVersion\": \"2.0\","
+ + " \"equip-model\": \"3310\","
+ + " \"equip-type\": \"type\",\n"
+ + " \"nf-role\": \"role\","
+ + " \"unitFamily\": \"BBU\","
+ + " \"oamV4IpAddress\": \"10.16.123.234\","
+ + " \"sw-version\": \"v4.5.0.1\","
+ + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\""
+ + "}}}";
- ConsumerDmaapModel expectedObject = ImmutableConsumerDmaapModel.builder().ipv4("10.16.123.234")
- .ipv6("0:0:0:0:0:FFFF:0A10:7BEA")
- .correlationId("NOKQTFCOC540002E").build();
+ ConsumerDmaapModel expectedObject = ImmutableConsumerDmaapModel.builder()
+ .ipv4("10.16.123.234")
+ .ipv6("0:0:0:0:0:FFFF:0A10:7BEA")
+ .correlationId("NOKQTFCOC540002E")
+ .serialNumber("QTFCOC540002E")
+ .equipVendor("nokia")
+ .equipModel("3310")
+ .equipType("type")
+ .nfRole("role")
+ .swVersion("v4.5.0.1")
+ .build();
//when
DmaapConsumerJsonParser dmaapConsumerJsonParser = spy(new DmaapConsumerJsonParser());
JsonElement jsonElement = new JsonParser().parse(parsed);
@@ -92,34 +97,32 @@ class DmaapConsumerJsonParserTest {
void whenPassingCorrectJsonWithoutIpv4_validationNotThrowingAnException() {
//given
String message = "[{\"event\": {"
- + "\"commonEventHeader\": { \"sourceName\":\"NOKQTFCOC540002E\"},"
- + "\"pnfRegistrationFields\": {"
- + " \"unitType\": \"AirScale\","
- + " \"serialNumber\": \"QTFCOC540002E\","
- + " \"pnfRegistrationFieldsVersion\": \"2.0\","
- + " \"manufactureDate\": \"1535014037024\","
- + " \"modelNumber\": \"7BEA\",\n"
- + " \"lastServiceDate\": \"1535014037024\","
- + " \"unitFamily\": \"BBU\","
- + " \"vendorName\": \"Nokia\","
- + " \"softwareVersion\": \"v4.5.0.1\","
- + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\""
- + "}}}]";
+ + "\"commonEventHeader\": { \"sourceName\":\"NOKQTFCOC540002E\"},"
+ + "\"pnfRegistrationFields\": {"
+ + " \"equip-vendor\": \"nokia\","
+ + " \"serial-number\": \"QTFCOC540002E\","
+ + " \"pnfRegistrationFieldsVersion\": \"2.0\","
+ + " \"equip-model\": \"3310\","
+ + " \"equip-type\": \"type\",\n"
+ + " \"nf-role\": \"role\","
+ + " \"unitFamily\": \"BBU\","
+ + " \"sw-version\": \"v4.5.0.1\","
+ + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\""
+ + "}}}]";
String parsed = "{\"event\": {"
- + "\"commonEventHeader\": { \"sourceName\":\"NOKQTFCOC540002E\"},"
- + "\"pnfRegistrationFields\": {"
- + " \"unitType\": \"AirScale\","
- + " \"serialNumber\": \"QTFCOC540002E\","
- + " \"pnfRegistrationFieldsVersion\": \"2.0\","
- + " \"manufactureDate\": \"1535014037024\","
- + " \"modelNumber\": \"7BEA\",\n"
- + " \"lastServiceDate\": \"1535014037024\","
- + " \"unitFamily\": \"BBU\","
- + " \"vendorName\": \"Nokia\","
- + " \"softwareVersion\": \"v4.5.0.1\","
- + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\""
- + "}}}";
+ + "\"commonEventHeader\": { \"sourceName\":\"NOKQTFCOC540002E\"},"
+ + "\"pnfRegistrationFields\": {"
+ + " \"equip-vendor\": \"nokia\","
+ + " \"serial-number\": \"QTFCOC540002E\","
+ + " \"pnfRegistrationFieldsVersion\": \"2.0\","
+ + " \"equip-model\": \"3310\","
+ + " \"equip-type\": \"type\",\n"
+ + " \"nf-role\": \"role\","
+ + " \"unitFamily\": \"BBU\","
+ + " \"sw-version\": \"v4.5.0.1\","
+ + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\""
+ + "}}}";
//when
DmaapConsumerJsonParser dmaapConsumerJsonParser = spy(new DmaapConsumerJsonParser());
@@ -130,9 +133,17 @@ class DmaapConsumerJsonParserTest {
ConsumerDmaapModel consumerDmaapModel = dmaapConsumerJsonParser.getJsonObject(Mono.just((message)))
.blockFirst();
//then
- ConsumerDmaapModel expectedObject = ImmutableConsumerDmaapModel.builder().ipv4("")
- .ipv6("0:0:0:0:0:FFFF:0A10:7BEA")
- .correlationId("NOKQTFCOC540002E").build();
+ ConsumerDmaapModel expectedObject = ImmutableConsumerDmaapModel.builder()
+ .ipv4("")
+ .ipv6("0:0:0:0:0:FFFF:0A10:7BEA")
+ .correlationId("NOKQTFCOC540002E")
+ .serialNumber("QTFCOC540002E")
+ .equipVendor("nokia")
+ .equipModel("3310")
+ .equipType("type")
+ .nfRole("role")
+ .swVersion("v4.5.0.1")
+ .build();
Assertions.assertNotNull(consumerDmaapModel);
Assertions.assertEquals(expectedObject, consumerDmaapModel);
}
@@ -141,37 +152,44 @@ class DmaapConsumerJsonParserTest {
void whenPassingCorrectJsonWithoutIpv6_validationNotThrowingAnException() {
//given
String message = "[{\"event\": {"
- + "\"commonEventHeader\": { \"sourceName\":\"NOKQTFCOC540002E\"},"
- + "\"pnfRegistrationFields\": {"
- + " \"unitType\": \"AirScale\","
- + " \"serialNumber\": \"QTFCOC540002E\","
- + " \"pnfRegistrationFieldsVersion\": \"2.0\","
- + " \"manufactureDate\": \"1535014037024\","
- + " \"modelNumber\": \"7BEA\",\n"
- + " \"lastServiceDate\": \"1535014037024\","
- + " \"unitFamily\": \"BBU\","
- + " \"vendorName\": \"Nokia\","
- + " \"oamV4IpAddress\": \"10.16.123.234\","
- + " \"softwareVersion\": \"v4.5.0.1\""
- + "}}}]";
+ + "\"commonEventHeader\": { \"sourceName\":\"NOKQTFCOC540002E\"},"
+ + "\"pnfRegistrationFields\": {"
+ + " \"equip-vendor\": \"nokia\","
+ + " \"serial-number\": \"QTFCOC540002E\","
+ + " \"pnfRegistrationFieldsVersion\": \"2.0\","
+ + " \"equip-model\": \"3310\","
+ + " \"equip-type\": \"type\",\n"
+ + " \"nf-role\": \"role\","
+ + " \"unitFamily\": \"BBU\","
+ + " \"oamV4IpAddress\": \"10.16.123.234\","
+ + " \"sw-version\": \"v4.5.0.1\""
+ + "}}}]";
String parsed = "{\"event\": {"
- + "\"commonEventHeader\": { \"sourceName\":\"NOKQTFCOC540002E\"},"
- + "\"pnfRegistrationFields\": {"
- + " \"unitType\": \"AirScale\","
- + " \"serialNumber\": \"QTFCOC540002E\","
- + " \"pnfRegistrationFieldsVersion\": \"2.0\","
- + " \"manufactureDate\": \"1535014037024\","
- + " \"modelNumber\": \"7BEA\",\n"
- + " \"lastServiceDate\": \"1535014037024\","
- + " \"unitFamily\": \"BBU\","
- + " \"vendorName\": \"Nokia\","
- + " \"oamV4IpAddress\": \"10.16.123.234\","
- + " \"softwareVersion\": \"v4.5.0.1\""
- + "}}}";
+ + "\"commonEventHeader\": { \"sourceName\":\"NOKQTFCOC540002E\"},"
+ + "\"pnfRegistrationFields\": {"
+ + " \"equip-vendor\": \"nokia\","
+ + " \"serial-number\": \"QTFCOC540002E\","
+ + " \"pnfRegistrationFieldsVersion\": \"2.0\","
+ + " \"equip-model\": \"3310\","
+ + " \"equip-type\": \"type\",\n"
+ + " \"nf-role\": \"role\","
+ + " \"unitFamily\": \"BBU\","
+ + " \"oamV4IpAddress\": \"10.16.123.234\","
+ + " \"sw-version\": \"v4.5.0.1\""
+ + "}}}";
- ConsumerDmaapModel expectedObject = ImmutableConsumerDmaapModel.builder().ipv4("10.16.123.234").ipv6("")
- .correlationId("NOKQTFCOC540002E").build();
+ ConsumerDmaapModel expectedObject = ImmutableConsumerDmaapModel.builder()
+ .ipv4("10.16.123.234")
+ .ipv6("")
+ .correlationId("NOKQTFCOC540002E")
+ .serialNumber("QTFCOC540002E")
+ .equipVendor("nokia")
+ .equipModel("3310")
+ .equipType("type")
+ .nfRole("role")
+ .swVersion("v4.5.0.1")
+ .build();
//when
DmaapConsumerJsonParser dmaapConsumerJsonParser = spy(new DmaapConsumerJsonParser());
JsonElement jsonElement = new JsonParser().parse(parsed);
@@ -390,43 +408,47 @@ class DmaapConsumerJsonParserTest {
}
@Test
- void whenPassingCorrectJsoArraynWithoutIpv4_validationNotThrowingAnException() {
+ void whenPassingCorrectJsoArrayWithoutIpv4_validationNotThrowingAnException() {
//given
- String message = "[{\"event\": {"
- + "\"commonEventHeader\": { \"sourceName\":\"NOKQTFCOC540002E\"},"
- + "\"pnfRegistrationFields\": {"
- + " \"unitType\": \"AirScale\","
- + " \"serialNumber\": \"QTFCOC540002E\","
- + " \"pnfRegistrationFieldsVersion\": \"2.0\","
- + " \"manufactureDate\": \"1535014037024\","
- + " \"modelNumber\": \"7BEA\",\n"
- + " \"lastServiceDate\": \"1535014037024\","
- + " \"unitFamily\": \"BBU\","
- + " \"vendorName\": \"Nokia\","
- + " \"oamV4IpAddress\": \"10.16.123.234\","
- + " \"softwareVersion\": \"v4.5.0.1\","
- + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\""
- + "}}},"
- + "{\"event\": {"
- + "\"commonEventHeader\": { \"sourceName\":\"NOKQTFCOC540002E\"},"
- + "\"pnfRegistrationFields\": {"
- + " \"unitType\": \"AirScale\","
- + " \"serialNumber\": \"QTFCOC540002E\","
- + " \"pnfRegistrationFieldsVersion\": \"2.0\","
- + " \"manufactureDate\": \"1535014037024\","
- + " \"modelNumber\": \"7BEA\",\n"
- + " \"lastServiceDate\": \"1535014037024\","
- + " \"unitFamily\": \"BBU\","
- + " \"vendorName\": \"Nokia\","
- + " \"oamV4IpAddress\": \"10.16.123.234\","
- + " \"softwareVersion\": \"v4.5.0.1\","
- + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\""
- + "}}}"
- + "]";
+ String message =
+ "[{\"event\": {"
+ + "\"commonEventHeader\": { \"sourceName\":\"NOKQTFCOC540002E\"},"
+ + "\"pnfRegistrationFields\": {"
+ + " \"equip-vendor\": \"nokia\","
+ + " \"serial-number\": \"QTFCOC540002E\","
+ + " \"pnfRegistrationFieldsVersion\": \"2.0\","
+ + " \"equip-model\": \"3310\","
+ + " \"equip-type\": \"type\",\n"
+ + " \"nf-role\": \"role\","
+ + " \"unitFamily\": \"BBU\","
+ + " \"sw-version\": \"v4.5.0.1\","
+ + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\""
+ + "}}},"
+ + "{\"event\": {"
+ + "\"commonEventHeader\": { \"sourceName\":\"NOKQTFCOC540002E\"},"
+ + "\"pnfRegistrationFields\": {"
+ + " \"equip-vendor\": \"nokia\","
+ + " \"serial-number\": \"QTFCOC540002E\","
+ + " \"pnfRegistrationFieldsVersion\": \"2.0\","
+ + " \"equip-model\": \"3310\","
+ + " \"equip-type\": \"type\",\n"
+ + " \"nf-role\": \"role\","
+ + " \"unitFamily\": \"BBU\","
+ + " \"sw-version\": \"v4.5.0.1\","
+ + " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\""
+ + "}}}]";
- ConsumerDmaapModel expectedObject = ImmutableConsumerDmaapModel.builder().ipv4("10.16.123.234")
- .ipv6("0:0:0:0:0:FFFF:0A10:7BEA")
- .correlationId("NOKQTFCOC540002E").build();
+ ConsumerDmaapModel expectedObject = ImmutableConsumerDmaapModel.builder()
+ .ipv4("")
+ .ipv6("0:0:0:0:0:FFFF:0A10:7BEA")
+ .correlationId("NOKQTFCOC540002E")
+ .serialNumber("QTFCOC540002E")
+ .equipVendor("nokia")
+ .equipModel("3310")
+ .equipType("type")
+ .nfRole("role")
+ .swVersion("v4.5.0.1")
+ .build();
//when
DmaapConsumerJsonParser dmaapConsumerJsonParser = new DmaapConsumerJsonParser();
diff --git a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTaskImplTest.java b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTaskImplTest.java
index 32e66386..24d89df2 100644
--- a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTaskImplTest.java
+++ b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTaskImplTest.java
@@ -31,6 +31,7 @@ import static org.mockito.Mockito.when;
import javax.net.ssl.SSLException;
+
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -64,9 +65,17 @@ class AaiProducerTaskImplTest {
void setUp() {
clientResponse = mock(ClientResponse.class);
aaiClientConfiguration = TestAppConfiguration.createDefaultAaiClientConfiguration();
- consumerDmaapModel = ImmutableConsumerDmaapModel.builder().ipv4("10.16.123.234")
- .ipv6("0:0:0:0:0:FFFF:0A10:7BEA")
- .correlationId("NOKQTFCOC540002E").build();
+ consumerDmaapModel = ImmutableConsumerDmaapModel.builder()
+ .ipv4("10.16.123.234")
+ .ipv6("0:0:0:0:0:FFFF:0A10:7BEA")
+ .correlationId("NOKQTFCOC540002E")
+ .serialNumber("QTFCOC540002E")
+ .equipVendor("nokia")
+ .equipModel("3310")
+ .equipType("type")
+ .nfRole("role")
+ .swVersion("v4.5.0.1")
+ .build();
appConfig = mock(AppConfig.class);
}
diff --git a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTaskImplTest.java b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTaskImplTest.java
index fc85b98b..a2f08078 100644
--- a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTaskImplTest.java
+++ b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTaskImplTest.java
@@ -59,30 +59,37 @@ class DmaapConsumerTaskImplTest {
static void setUp() {
dmaapConsumerConfiguration = createDefaultDmaapConsumerConfiguration();
- consumerDmaapModel = ImmutableConsumerDmaapModel.builder().ipv4("10.16.123.234")
+ consumerDmaapModel = ImmutableConsumerDmaapModel.builder()
+ .ipv4("10.16.123.234")
.ipv6("0:0:0:0:0:FFFF:0A10:7BEA")
- .correlationId("NOKQTFCOC540002E").build();
+ .correlationId("NOKQTFCOC540002E")
+ .serialNumber("QTFCOC540002E")
+ .equipVendor("nokia")
+ .equipModel("3310")
+ .equipType("type")
+ .nfRole("role")
+ .swVersion("v4.5.0.1")
+ .build();
appConfig = mock(AppConfig.class);
message = "[{\"event\": {"
+ "\"commonEventHeader\": { \"sourceName\":\"NOKQTFCOC540002E\"},"
+ "\"pnfRegistrationFields\": {"
- + " \"unitType\": \"AirScale\","
- + " \"serialNumber\": \"QTFCOC540002E\","
+ + " \"equip-vendor\": \"nokia\","
+ + " \"serial-number\": \"QTFCOC540002E\","
+ " \"pnfRegistrationFieldsVersion\": \"2.0\","
- + " \"manufactureDate\": \"1535014037024\","
- + " \"modelNumber\": \"7BEA\",\n"
- + " \"lastServiceDate\": \"1535014037024\","
+ + " \"equip-model\": \"3310\","
+ + " \"equip-type\": \"type\",\n"
+ + " \"nf-role\": \"role\","
+ " \"unitFamily\": \"BBU\","
- + " \"vendorName\": \"Nokia\","
+ " \"oamV4IpAddress\": \"10.16.123.234\","
- + " \"softwareVersion\": \"v4.5.0.1\","
+ + " \"sw-version\": \"v4.5.0.1\","
+ " \"oamV6IpAddress\": \"0:0:0:0:0:FFFF:0A10:7BEA\""
+ "}}}]";
}
@Test
- void whenPassedObjectDoesntFit_DoesNotThrowPrhTaskException() throws Exception {
+ void whenPassedObjectDoesNotFit_DoesNotThrowPrhTaskException() throws Exception {
//given
prepareMocksForDmaapConsumer(Optional.empty());
diff --git a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImplTest.java b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImplTest.java
index f4a1c2e6..33a05772 100644
--- a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImplTest.java
+++ b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImplTest.java
@@ -60,9 +60,17 @@ class DmaapPublisherTaskImplTest {
@BeforeAll
static void setUp() {
dmaapPublisherConfiguration = createDefaultDmaapPublisherConfiguration();
- consumerDmaapModel = ImmutableConsumerDmaapModel.builder().ipv4("10.16.123.234")
- .ipv6("0:0:0:0:0:FFFF:0A10:7BEA")
- .correlationId("NOKQTFCOC540002E").build();
+ consumerDmaapModel = ImmutableConsumerDmaapModel.builder()
+ .ipv4("10.16.123.234")
+ .ipv6("0:0:0:0:0:FFFF:0A10:7BEA")
+ .correlationId("NOKQTFCOC540002E")
+ .serialNumber("QTFCOC540002E")
+ .equipVendor("nokia")
+ .equipModel("3310")
+ .equipType("type")
+ .nfRole("role")
+ .swVersion("v4.5.0.1")
+ .build();
appConfig = mock(AppConfig.class);
}
diff --git a/prh-commons/pom.xml b/prh-commons/pom.xml
index e0d7e5b8..65f3a3a3 100644
--- a/prh-commons/pom.xml
+++ b/prh-commons/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.onap.dcaegen2.services</groupId>
<artifactId>prh</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.1-SNAPSHOT</version>
</parent>
<groupId>org.onap.dcaegen2.services.prh</groupId>
diff --git a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java
index b2bac24c..9abbc3b4 100644
--- a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java
+++ b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java
@@ -42,4 +42,22 @@ public interface ConsumerDmaapModel extends AaiModel, DmaapModel {
@SerializedName(value = "ipaddress-v6-oam", alternate = "ipaddress-v6-oam")
String getIpv6();
+
+ @SerializedName(value = "serial-number", alternate = "serial-number")
+ String getSerialNumber();
+
+ @SerializedName(value = "equip-vendor", alternate = "equip-vendor")
+ String getEquipVendor();
+
+ @SerializedName(value = "equip-model", alternate = "equip-model")
+ String getEquipModel();
+
+ @SerializedName(value = "equip-type", alternate = "equip-type")
+ String getEquipType();
+
+ @SerializedName(value = "nf-role", alternate = "nf-role")
+ String getNfRole();
+
+ @SerializedName(value = "sw-version", alternate = "sw-version")
+ String getSwVersion();
}
diff --git a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModelForUnitTest.java b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModelForUnitTest.java
deleted file mode 100644
index cbada731..00000000
--- a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModelForUnitTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * PNF-REGISTRATION-HANDLER
- * ================================================================================
- * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.dcaegen2.services.prh.model;
-
-public class ConsumerDmaapModelForUnitTest implements ConsumerDmaapModel {
-
- private final String correlationId;
- private final String ipv4;
- private final String ipv6;
-
- /**
- * Class for testing serialization of ConsumerDmaapModel.
- */
- public ConsumerDmaapModelForUnitTest() {
- this.correlationId = "NOKnhfsadhff";
- this.ipv4 = "256.22.33.155";
- this.ipv6 = "200J:0db8:85a3:0000:0000:8a2e:0370:7334";
-
- }
-
- public String getCorrelationId() {
- return correlationId;
- }
-
- public String getIpv4() {
- return ipv4;
- }
-
- public String getIpv6() {
- return ipv6;
- }
-
-}
diff --git a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/JsonBodyBuilderImpl.java b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/JsonBodyBuilderImpl.java
index b504a4bd..fd628834 100644
--- a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/JsonBodyBuilderImpl.java
+++ b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/JsonBodyBuilderImpl.java
@@ -29,7 +29,6 @@ import java.util.ServiceLoader;
public class JsonBodyBuilderImpl implements JsonBodyBuilder<ConsumerDmaapModel> {
- public JsonBodyBuilderImpl() {}
/**
* Method for serialization object by GSON.
@@ -40,7 +39,16 @@ public class JsonBodyBuilderImpl implements JsonBodyBuilder<ConsumerDmaapModel>
public String createJsonBody(ConsumerDmaapModel consumerDmaapModel) {
GsonBuilder gsonBuilder = new GsonBuilder();
ServiceLoader.load(TypeAdapterFactory.class).forEach(gsonBuilder::registerTypeAdapterFactory);
- return gsonBuilder.create().toJson(ImmutableConsumerDmaapModel.builder().ipv4(consumerDmaapModel.getIpv4())
- .ipv6(consumerDmaapModel.getIpv6()).correlationId(consumerDmaapModel.getCorrelationId()).build());
+ return gsonBuilder.create().toJson(ImmutableConsumerDmaapModel.builder()
+ .ipv4(consumerDmaapModel.getIpv4())
+ .ipv6(consumerDmaapModel.getIpv6())
+ .correlationId(consumerDmaapModel.getCorrelationId())
+ .serialNumber(consumerDmaapModel.getSerialNumber())
+ .equipVendor(consumerDmaapModel.getEquipVendor())
+ .equipModel(consumerDmaapModel.getEquipModel())
+ .equipType(consumerDmaapModel.getEquipType())
+ .nfRole(consumerDmaapModel.getNfRole())
+ .swVersion(consumerDmaapModel.getSwVersion())
+ .build());
}
} \ No newline at end of file
diff --git a/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/CommonFunctionsTest.java b/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/CommonFunctionsTest.java
index 86717d7e..5e259a64 100644
--- a/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/CommonFunctionsTest.java
+++ b/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/CommonFunctionsTest.java
@@ -28,8 +28,62 @@ class CommonFunctionsTest {
@Test
void createJsonBody_shouldReturnJsonInString() {
- String expectedResult = "{\"correlationId\":\"NOKnhfsadhff\",\"ipaddress-v4-oam\":\"256.22.33.155\""
- + ",\"ipaddress-v6-oam\":\"200J:0db8:85a3:0000:0000:8a2e:0370:7334\"}";
- assertEquals(expectedResult, new JsonBodyBuilderImpl().createJsonBody(new ConsumerDmaapModelForUnitTest()));
+
+ ConsumerDmaapModel model = ImmutableConsumerDmaapModel.builder()
+ .correlationId("NOKnhfsadhff")
+ .ipv4("256.22.33.155")
+ .ipv6("200J:0db8:85a3:0000:0000:8a2e:0370:7334")
+ .serialNumber("1234")
+ .equipVendor("NOKIA")
+ .equipModel("3310")
+ .equipType("cell")
+ .nfRole("role")
+ .swVersion("1.2.3")
+ .build();
+
+
+ String expectedResult = "{"
+ + "\"correlationId\":\"NOKnhfsadhff\","
+ + "\"ipaddress-v4-oam\":\"256.22.33.155\","
+ + "\"ipaddress-v6-oam\":\"200J:0db8:85a3:0000:0000:8a2e:0370:7334\","
+ + "\"serial-number\":\"1234\","
+ + "\"equip-vendor\":\"NOKIA\","
+ + "\"equip-model\":\"3310\","
+ + "\"equip-type\":\"cell\","
+ + "\"nf-role\":\"role\","
+ + "\"sw-version\":\"1.2.3\""
+ + "}";
+
+ assertEquals(expectedResult, new JsonBodyBuilderImpl().createJsonBody(model));
+ }
+
+ @Test
+ void createJsonBodyWithEmptyAdditionalFields_shouldReturnJsonInString() {
+ ConsumerDmaapModel model = ImmutableConsumerDmaapModel.builder()
+ .correlationId("NOKnhfsadhff")
+ .ipv4("256.22.33.155")
+ .ipv6("200J:0db8:85a3:0000:0000:8a2e:0370:7334")
+ .serialNumber("1234")
+ .equipVendor("NOKIA")
+ .equipModel("3310")
+ .equipType("cell")
+ .nfRole("role")
+ .swVersion("1.2.3")
+ .build();
+
+
+ String expectedResult = "{"
+ + "\"correlationId\":\"NOKnhfsadhff\","
+ + "\"ipaddress-v4-oam\":\"256.22.33.155\","
+ + "\"ipaddress-v6-oam\":\"200J:0db8:85a3:0000:0000:8a2e:0370:7334\","
+ + "\"serial-number\":\"1234\","
+ + "\"equip-vendor\":\"NOKIA\","
+ + "\"equip-model\":\"3310\","
+ + "\"equip-type\":\"cell\","
+ + "\"nf-role\":\"role\","
+ + "\"sw-version\":\"1.2.3\""
+ + "}";
+
+ assertEquals(expectedResult, new JsonBodyBuilderImpl().createJsonBody(model));
}
}
diff --git a/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModelTest.java b/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModelTest.java
deleted file mode 100644
index 4c4c345f..00000000
--- a/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModelTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * PNF-REGISTRATION-HANDLER
- * ================================================================================
- * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.dcaegen2.services.prh.model;
-
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-
-class ConsumerDmaapModelTest {
-
- @Test
- void consumerDmaapModelBuilder_shouldBuildAnObject() {
-
- // When
- // Given
- String sourceName = "NOKnhfsadhff";
- String ipv4 = "11.22.33.155";
- String ipv6 = "2001:0db8:85a3:0000:0000:8a2e:0370:7334";
- ConsumerDmaapModel consumerDmaapModel = ImmutableConsumerDmaapModel.builder()
- .correlationId(sourceName)
- .ipv4(ipv4)
- .ipv6(ipv6)
- .build();
-
- // Then
- Assertions.assertNotNull(consumerDmaapModel);
- Assertions.assertEquals(sourceName, consumerDmaapModel.getCorrelationId());
- Assertions.assertEquals(ipv4, consumerDmaapModel.getIpv4());
- Assertions.assertEquals(ipv6, consumerDmaapModel.getIpv6());
- }
-}
diff --git a/version.properties b/version.properties
index 07578e54..e8a442aa 100644
--- a/version.properties
+++ b/version.properties
@@ -1,6 +1,6 @@
major=1
minor=2
-patch=0
+patch=1
base_version=${major}.${minor}.${patch}
release_version=${base_version}
snapshot_version=${base_version}-SNAPSHOT