From 99b2412ad4ad3af72bff189404f6d817417660b8 Mon Sep 17 00:00:00 2001 From: Chris Sampson Date: Tue, 25 Apr 2023 21:18:02 +0100 Subject: [PATCH] NIFI-11483 Correctly use DescribedValue for JsonQueryElasticsearch This closes #7195 Signed-off-by: David Handermann --- .../elasticsearch/AbstractJsonQueryElasticsearch.java | 4 ++-- .../elasticsearch/api/ResultOutputStrategy.java | 5 +++++ .../AbstractJsonQueryElasticsearchTest.groovy | 11 ++++++++--- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/AbstractJsonQueryElasticsearch.java b/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/AbstractJsonQueryElasticsearch.java index a0d32779b0..1000779143 100644 --- a/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/AbstractJsonQueryElasticsearch.java +++ b/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/AbstractJsonQueryElasticsearch.java @@ -65,7 +65,7 @@ public abstract class AbstractJsonQueryElasticsearch getNonPaginatedResponseOutputStrategies() { + return EnumSet.of(PER_RESPONSE, PER_HIT); + } + public static ResultOutputStrategy fromValue(final String value) { return Arrays.stream(ResultOutputStrategy.values()).filter(v -> v.getValue().equals(value)).findFirst() .orElseThrow(() -> new IllegalArgumentException(String.format("Unknown value %s", value))); diff --git a/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/test/groovy/org/apache/nifi/processors/elasticsearch/AbstractJsonQueryElasticsearchTest.groovy b/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/test/groovy/org/apache/nifi/processors/elasticsearch/AbstractJsonQueryElasticsearchTest.groovy index 25707cd300..670b9599b0 100644 --- a/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/test/groovy/org/apache/nifi/processors/elasticsearch/AbstractJsonQueryElasticsearchTest.groovy +++ b/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/test/groovy/org/apache/nifi/processors/elasticsearch/AbstractJsonQueryElasticsearchTest.groovy @@ -21,14 +21,16 @@ import com.fasterxml.jackson.databind.ObjectMapper import org.apache.nifi.components.state.Scope import org.apache.nifi.flowfile.FlowFile import org.apache.nifi.processors.elasticsearch.api.AggregationResultsFormat -import org.apache.nifi.processors.elasticsearch.api.SearchResultsFormat import org.apache.nifi.processors.elasticsearch.api.ResultOutputStrategy +import org.apache.nifi.processors.elasticsearch.api.SearchResultsFormat import org.apache.nifi.provenance.ProvenanceEventType import org.apache.nifi.util.MockFlowFile import org.apache.nifi.util.TestRunner import org.apache.nifi.util.TestRunners import org.junit.jupiter.api.Test +import java.util.stream.Collectors + import static groovy.json.JsonOutput.prettyPrint import static groovy.json.JsonOutput.toJson import static org.hamcrest.CoreMatchers.equalTo @@ -95,9 +97,12 @@ abstract class AbstractJsonQueryElasticsearchTest

r.getValue()) + .collect(Collectors.joining(", ")) final String expectedAllowedSplitHits = processor instanceof AbstractPaginatedJsonQueryElasticsearch ? ResultOutputStrategy.values().collect {r -> r.getValue()}.join(", ") - : [ResultOutputStrategy.PER_RESPONSE.getValue(), ResultOutputStrategy.PER_HIT.getValue()].join(", ") + : nonPaginatedResultOutputStrategies final AssertionError assertionError = assertThrows(AssertionError.class, runner.&run) assertThat(assertionError.getMessage(), equalTo(String.format("Processor has 8 validation failures:\n" + @@ -115,7 +120,7 @@ abstract class AbstractJsonQueryElasticsearchTest