|
@@ -2186,6 +2186,90 @@ public class IngestServiceTests extends ESTestCase {
|
|
|
assertThat(updatedConfig.getVersion(), equalTo(existingVersion + 1));
|
|
|
}
|
|
|
|
|
|
+ public void testResolvePipelinesWithNonePipeline() {
|
|
|
+ // _none request pipeline:
|
|
|
+ {
|
|
|
+ Metadata metadata = Metadata.builder().build();
|
|
|
+ IndexRequest indexRequest = new IndexRequest("idx").setPipeline(IngestService.NOOP_PIPELINE_NAME);
|
|
|
+ boolean result = IngestService.resolvePipelines(indexRequest, indexRequest, metadata);
|
|
|
+ assertThat(result, is(false));
|
|
|
+ assertThat(indexRequest.isPipelineResolved(), is(true));
|
|
|
+ assertThat(indexRequest.getPipeline(), equalTo(IngestService.NOOP_PIPELINE_NAME));
|
|
|
+ }
|
|
|
+
|
|
|
+ // _none default pipeline:
|
|
|
+ {
|
|
|
+ IndexMetadata.Builder builder = IndexMetadata.builder("idx")
|
|
|
+ .settings(settings(Version.CURRENT).put(IndexSettings.DEFAULT_PIPELINE.getKey(), IngestService.NOOP_PIPELINE_NAME))
|
|
|
+ .numberOfShards(1)
|
|
|
+ .numberOfReplicas(0);
|
|
|
+ Metadata metadata = Metadata.builder().put(builder).build();
|
|
|
+ IndexRequest indexRequest = new IndexRequest("idx");
|
|
|
+ boolean result = IngestService.resolvePipelines(indexRequest, indexRequest, metadata);
|
|
|
+ assertThat(result, is(false));
|
|
|
+ assertThat(indexRequest.isPipelineResolved(), is(true));
|
|
|
+ assertThat(indexRequest.getPipeline(), equalTo(IngestService.NOOP_PIPELINE_NAME));
|
|
|
+ }
|
|
|
+
|
|
|
+ // _none default pipeline with request pipeline:
|
|
|
+ {
|
|
|
+ IndexMetadata.Builder builder = IndexMetadata.builder("idx")
|
|
|
+ .settings(settings(Version.CURRENT).put(IndexSettings.DEFAULT_PIPELINE.getKey(), IngestService.NOOP_PIPELINE_NAME))
|
|
|
+ .numberOfShards(1)
|
|
|
+ .numberOfReplicas(0);
|
|
|
+ Metadata metadata = Metadata.builder().put(builder).build();
|
|
|
+ IndexRequest indexRequest = new IndexRequest("idx").setPipeline("pipeline1");
|
|
|
+ boolean result = IngestService.resolvePipelines(indexRequest, indexRequest, metadata);
|
|
|
+ assertThat(result, is(true));
|
|
|
+ assertThat(indexRequest.isPipelineResolved(), is(true));
|
|
|
+ assertThat(indexRequest.getPipeline(), equalTo("pipeline1"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // _none request pipeline with default pipeline:
|
|
|
+ {
|
|
|
+ IndexMetadata.Builder builder = IndexMetadata.builder("idx")
|
|
|
+ .settings(settings(Version.CURRENT).put(IndexSettings.DEFAULT_PIPELINE.getKey(), "default-pipeline"))
|
|
|
+ .numberOfShards(1)
|
|
|
+ .numberOfReplicas(0);
|
|
|
+ Metadata metadata = Metadata.builder().put(builder).build();
|
|
|
+ IndexRequest indexRequest = new IndexRequest("idx").setPipeline(IngestService.NOOP_PIPELINE_NAME);
|
|
|
+ boolean result = IngestService.resolvePipelines(indexRequest, indexRequest, metadata);
|
|
|
+ assertThat(result, is(false));
|
|
|
+ assertThat(indexRequest.isPipelineResolved(), is(true));
|
|
|
+ assertThat(indexRequest.getPipeline(), equalTo(IngestService.NOOP_PIPELINE_NAME));
|
|
|
+ }
|
|
|
+
|
|
|
+ // _none request pipeline with final pipeline:
|
|
|
+ {
|
|
|
+ IndexMetadata.Builder builder = IndexMetadata.builder("idx")
|
|
|
+ .settings(settings(Version.CURRENT).put(IndexSettings.FINAL_PIPELINE.getKey(), "final-pipeline"))
|
|
|
+ .numberOfShards(1)
|
|
|
+ .numberOfReplicas(0);
|
|
|
+ Metadata metadata = Metadata.builder().put(builder).build();
|
|
|
+ IndexRequest indexRequest = new IndexRequest("idx").setPipeline(IngestService.NOOP_PIPELINE_NAME);
|
|
|
+ boolean result = IngestService.resolvePipelines(indexRequest, indexRequest, metadata);
|
|
|
+ assertThat(result, is(true));
|
|
|
+ assertThat(indexRequest.isPipelineResolved(), is(true));
|
|
|
+ assertThat(indexRequest.getPipeline(), equalTo(IngestService.NOOP_PIPELINE_NAME));
|
|
|
+ assertThat(indexRequest.getFinalPipeline(), equalTo("final-pipeline"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // _none final pipeline:
|
|
|
+ {
|
|
|
+ IndexMetadata.Builder builder = IndexMetadata.builder("idx")
|
|
|
+ .settings(settings(Version.CURRENT).put(IndexSettings.FINAL_PIPELINE.getKey(), IngestService.NOOP_PIPELINE_NAME))
|
|
|
+ .numberOfShards(1)
|
|
|
+ .numberOfReplicas(0);
|
|
|
+ Metadata metadata = Metadata.builder().put(builder).build();
|
|
|
+ IndexRequest indexRequest = new IndexRequest("idx").setPipeline("pipeline1");
|
|
|
+ boolean result = IngestService.resolvePipelines(indexRequest, indexRequest, metadata);
|
|
|
+ assertThat(result, is(true));
|
|
|
+ assertThat(indexRequest.isPipelineResolved(), is(true));
|
|
|
+ assertThat(indexRequest.getPipeline(), equalTo("pipeline1"));
|
|
|
+ assertThat(indexRequest.getFinalPipeline(), equalTo(IngestService.NOOP_PIPELINE_NAME));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private static Tuple<String, Object> randomMapEntry() {
|
|
|
return tuple(randomAlphaOfLength(5), randomObject());
|
|
|
}
|