import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
import org.onap.dcaegen2.services.prh.model.ImmutableConsumerDmaapModel;
+import java.util.Optional;
import java.util.stream.StreamSupport;
/**
private static final String PNF_SERIAL_NUMBER = "pnfSerialNumber";
- private DmaapConsumerJsonParser() {
- }
+ private DmaapConsumerJsonParser() {}
public static ConsumerDmaapModel getJsonObject(String message) throws DmaapNotFoundException {
JsonElement jsonElement = new JsonParser().parse(message);
- JsonObject jsonObject;
- jsonObject = jsonElement.isJsonObject() ? jsonElement.getAsJsonObject() :
+ JsonObject jsonObject = jsonElement.isJsonObject() ? jsonElement.getAsJsonObject() :
StreamSupport.stream(jsonElement.getAsJsonArray().spliterator(), false).findFirst()
- .orElseThrow(() -> new DmaapNotFoundException("Json object not found in json array"))
+ .flatMap(element -> Optional.of(new JsonParser().parse(element.toString()).getAsJsonObject()))
+ .orElseThrow(() -> new DmaapNotFoundException("Json object not found in json array"))
.getAsJsonObject();
return create(jsonObject);
+ "\"pnfVendorName\":\"Nokia\"}}}]";
@Test
- public void whenPassingCorrectJson_validationNotThrowingAnException() throws DmaapNotFoundException {
+ void whenPassingCorrectJson_validationNotThrowingAnException() throws DmaapNotFoundException {
//given
String message =
"[{\"event\":{\"commonEventHeader\":{\"domain\":\"other\",\"eventId\":\"<<SerialNumber>>-reg\",\"eventName\""
@Test
- public void whenPassingCorrectJsonWihoutIPV4_validationNotThrowingAnException() throws DmaapNotFoundException {
+ void whenPassingCorrectJsonWithoutIPV4_validationNotThrowingAnException() throws DmaapNotFoundException {
//given
String message =
"[{\"event\":{\"commonEventHeader\":{\"domain\":\"other\",\"eventId\":\"<<SerialNumber>>-reg\",\"eventName\""
}
@Test
- public void whenPassingCorrectJsonWihoutIPV6_validationNotThrowingAnException() throws DmaapNotFoundException {
+ void whenPassingCorrectJsonWihoutIPV6_validationNotThrowingAnException() throws DmaapNotFoundException {
//given
String message =
"[{\"event\":{\"commonEventHeader\":{\"domain\":\"other\",\"eventId\":\"<<SerialNumber>>-reg\",\"eventName\""
}
@Test
- public void whenPassingCorrectJsonWihoutIPV4andIPV6_validationThrowingAnException() {
+ void whenPassingCorrectJsonWihoutIPV4andIPV6_validationThrowingAnException() {
String message =
"[{\"event\":{\"commonEventHeader\":{\"domain\":\"other\",\"eventId\":\"<<SerialNumber>>-reg\",\"eventName\""
+ ":\"pnfRegistration_5GDU\",\"eventType\":\"pnfRegistration\",\"internalHeaderFields\":{},"
+ ":1517206400,\"pnfManufactureDate\":1516406400,\"pnfModelNumber\":\"AJ02\",\"pnfSoftwareVersion\":"
+ "\"v4.5.0.1\",\"pnfType\":\"AirScale\",\"pnfVendorName\":\"Nokia\"}}}]";
- Assertions.assertThrows(DmaapNotFoundException.class, () -> {
- DmaapConsumerJsonParser.getJsonObject(message);
- });
+ Assertions.assertThrows(DmaapNotFoundException.class,
+ () -> DmaapConsumerJsonParser.getJsonObject(message));
}
@Test
- public void whenPassingJsonWithoutMandatoryHeaderInformation_validationThrowingAnException() {
- Assertions.assertThrows(DmaapNotFoundException.class, () -> {
- DmaapConsumerJsonParser.getJsonObject(incorrectMessage);
- });
+ void whenPassingJsonWithoutMandatoryHeaderInformation_validationThrowingAnException() {
+ Assertions.assertThrows(DmaapNotFoundException.class,
+ () -> DmaapConsumerJsonParser.getJsonObject(incorrectMessage));
}
@Test
- public void whenPassingJsonWithoutPnfSerialNumberOrPnfVendorName_validationThrowingAnException() {
- Assertions.assertThrows(DmaapNotFoundException.class, () -> {
- DmaapConsumerJsonParser.getJsonObject(jsonWithoutPnfVendorAndSerialNumber);
- });
+ void whenPassingJsonWithoutPnfSerialNumberOrPnfVendorName_validationThrowingAnException() {
+ Assertions.assertThrows(DmaapNotFoundException.class,
+ () -> DmaapConsumerJsonParser.getJsonObject(jsonWithoutPnfVendorAndSerialNumber));
}
@Test
- public void whenPassingJsonWithoutIPInformation_validationThrowingAnException() {
- Assertions.assertThrows(DmaapNotFoundException.class, () -> {
- DmaapConsumerJsonParser.getJsonObject(jsonWithoutIPInformation);
- });
+ void whenPassingJsonWithoutIPInformation_validationThrowingAnException() {
+ Assertions.assertThrows(DmaapNotFoundException.class,
+ () -> DmaapConsumerJsonParser.getJsonObject(jsonWithoutIPInformation));
}
}
\ No newline at end of file