From 34482c7f9c1df86b76f4e147cf14b42a3f8a37e5 Mon Sep 17 00:00:00 2001 From: PatrikBuhr Date: Fri, 12 Aug 2022 09:54:56 +0200 Subject: [PATCH] NONRTRIC - bugfix Discarding of empty output filtering. Signed-off-by: PatrikBuhr Issue-ID: NONRTRIC-773 Change-Id: I141ed9aea0cb6d893f014ce49bb1d70a0dbaa8f0 --- src/main/java/org/oran/dmaapadapter/filter/Filter.java | 4 ++++ src/main/java/org/oran/dmaapadapter/tasks/JobDataDistributor.java | 3 ++- src/test/java/org/oran/dmaapadapter/ApplicationTest.java | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/oran/dmaapadapter/filter/Filter.java b/src/main/java/org/oran/dmaapadapter/filter/Filter.java index afb424c..9d29663 100644 --- a/src/main/java/org/oran/dmaapadapter/filter/Filter.java +++ b/src/main/java/org/oran/dmaapadapter/filter/Filter.java @@ -35,6 +35,10 @@ public interface Filter { public final String key; public final String value; + public boolean isEmpty() { + return value.isEmpty() && key.isEmpty(); + } + public FilteredData(String key, String value) { this.key = key; this.value = value; diff --git a/src/main/java/org/oran/dmaapadapter/tasks/JobDataDistributor.java b/src/main/java/org/oran/dmaapadapter/tasks/JobDataDistributor.java index 54b8831..ae1f413 100644 --- a/src/main/java/org/oran/dmaapadapter/tasks/JobDataDistributor.java +++ b/src/main/java/org/oran/dmaapadapter/tasks/JobDataDistributor.java @@ -104,7 +104,8 @@ public abstract class JobDataDistributor { } private Flux filterAndBuffer(Flux inputFlux, Job job) { - Flux filtered = inputFlux.map(job::filter); // + Flux filtered = inputFlux.map(job::filter) // + .filter(f -> !f.isEmpty()); if (job.isBuffered()) { filtered = filtered.map(input -> quoteNonJson(input.value, job)) // diff --git a/src/test/java/org/oran/dmaapadapter/ApplicationTest.java b/src/test/java/org/oran/dmaapadapter/ApplicationTest.java index 014de25..635fa65 100644 --- a/src/test/java/org/oran/dmaapadapter/ApplicationTest.java +++ b/src/test/java/org/oran/dmaapadapter/ApplicationTest.java @@ -268,6 +268,7 @@ class ApplicationTest { @Test void testTrustValidation() throws IOException { + String url = "https://localhost:" + applicationConfig.getLocalServerHttpPort() + "/v3/api-docs"; ResponseEntity resp = restClient(true).getForEntity(url).block(); assertThat(resp.getStatusCode()).isEqualTo(HttpStatus.OK); @@ -404,6 +405,8 @@ class ApplicationTest { // filtered PM message String path = "./src/test/resources/pm_report.json"; String pmReportJson = Files.readString(Path.of(path), Charset.defaultCharset()); + DmaapSimulatorController.addPmResponse("{}"); // This should just be discarded + DmaapSimulatorController.addPmResponse(pmReportJson); ConsumerController.TestResults consumer = this.consumerController.testResults; -- 2.16.6