@@ -2186,6 +2186,90 @@ public void testPutPipelineWithVersionedUpdateIncrementsVersion() throws Excepti
21862186 assertThat (updatedConfig .getVersion (), equalTo (existingVersion + 1 ));
21872187 }
21882188
2189+ public void testResolvePipelinesWithNonePipeline () {
2190+ // _none request pipeline:
2191+ {
2192+ Metadata metadata = Metadata .builder ().build ();
2193+ IndexRequest indexRequest = new IndexRequest ("idx" ).setPipeline (IngestService .NOOP_PIPELINE_NAME );
2194+ boolean result = IngestService .resolvePipelines (indexRequest , indexRequest , metadata );
2195+ assertThat (result , is (false ));
2196+ assertThat (indexRequest .isPipelineResolved (), is (true ));
2197+ assertThat (indexRequest .getPipeline (), equalTo (IngestService .NOOP_PIPELINE_NAME ));
2198+ }
2199+
2200+ // _none default pipeline:
2201+ {
2202+ IndexMetadata .Builder builder = IndexMetadata .builder ("idx" )
2203+ .settings (settings (Version .CURRENT ).put (IndexSettings .DEFAULT_PIPELINE .getKey (), IngestService .NOOP_PIPELINE_NAME ))
2204+ .numberOfShards (1 )
2205+ .numberOfReplicas (0 );
2206+ Metadata metadata = Metadata .builder ().put (builder ).build ();
2207+ IndexRequest indexRequest = new IndexRequest ("idx" );
2208+ boolean result = IngestService .resolvePipelines (indexRequest , indexRequest , metadata );
2209+ assertThat (result , is (false ));
2210+ assertThat (indexRequest .isPipelineResolved (), is (true ));
2211+ assertThat (indexRequest .getPipeline (), equalTo (IngestService .NOOP_PIPELINE_NAME ));
2212+ }
2213+
2214+ // _none default pipeline with request pipeline:
2215+ {
2216+ IndexMetadata .Builder builder = IndexMetadata .builder ("idx" )
2217+ .settings (settings (Version .CURRENT ).put (IndexSettings .DEFAULT_PIPELINE .getKey (), IngestService .NOOP_PIPELINE_NAME ))
2218+ .numberOfShards (1 )
2219+ .numberOfReplicas (0 );
2220+ Metadata metadata = Metadata .builder ().put (builder ).build ();
2221+ IndexRequest indexRequest = new IndexRequest ("idx" ).setPipeline ("pipeline1" );
2222+ boolean result = IngestService .resolvePipelines (indexRequest , indexRequest , metadata );
2223+ assertThat (result , is (true ));
2224+ assertThat (indexRequest .isPipelineResolved (), is (true ));
2225+ assertThat (indexRequest .getPipeline (), equalTo ("pipeline1" ));
2226+ }
2227+
2228+ // _none request pipeline with default pipeline:
2229+ {
2230+ IndexMetadata .Builder builder = IndexMetadata .builder ("idx" )
2231+ .settings (settings (Version .CURRENT ).put (IndexSettings .DEFAULT_PIPELINE .getKey (), "default-pipeline" ))
2232+ .numberOfShards (1 )
2233+ .numberOfReplicas (0 );
2234+ Metadata metadata = Metadata .builder ().put (builder ).build ();
2235+ IndexRequest indexRequest = new IndexRequest ("idx" ).setPipeline (IngestService .NOOP_PIPELINE_NAME );
2236+ boolean result = IngestService .resolvePipelines (indexRequest , indexRequest , metadata );
2237+ assertThat (result , is (false ));
2238+ assertThat (indexRequest .isPipelineResolved (), is (true ));
2239+ assertThat (indexRequest .getPipeline (), equalTo (IngestService .NOOP_PIPELINE_NAME ));
2240+ }
2241+
2242+ // _none request pipeline with final pipeline:
2243+ {
2244+ IndexMetadata .Builder builder = IndexMetadata .builder ("idx" )
2245+ .settings (settings (Version .CURRENT ).put (IndexSettings .FINAL_PIPELINE .getKey (), "final-pipeline" ))
2246+ .numberOfShards (1 )
2247+ .numberOfReplicas (0 );
2248+ Metadata metadata = Metadata .builder ().put (builder ).build ();
2249+ IndexRequest indexRequest = new IndexRequest ("idx" ).setPipeline (IngestService .NOOP_PIPELINE_NAME );
2250+ boolean result = IngestService .resolvePipelines (indexRequest , indexRequest , metadata );
2251+ assertThat (result , is (true ));
2252+ assertThat (indexRequest .isPipelineResolved (), is (true ));
2253+ assertThat (indexRequest .getPipeline (), equalTo (IngestService .NOOP_PIPELINE_NAME ));
2254+ assertThat (indexRequest .getFinalPipeline (), equalTo ("final-pipeline" ));
2255+ }
2256+
2257+ // _none final pipeline:
2258+ {
2259+ IndexMetadata .Builder builder = IndexMetadata .builder ("idx" )
2260+ .settings (settings (Version .CURRENT ).put (IndexSettings .FINAL_PIPELINE .getKey (), IngestService .NOOP_PIPELINE_NAME ))
2261+ .numberOfShards (1 )
2262+ .numberOfReplicas (0 );
2263+ Metadata metadata = Metadata .builder ().put (builder ).build ();
2264+ IndexRequest indexRequest = new IndexRequest ("idx" ).setPipeline ("pipeline1" );
2265+ boolean result = IngestService .resolvePipelines (indexRequest , indexRequest , metadata );
2266+ assertThat (result , is (true ));
2267+ assertThat (indexRequest .isPipelineResolved (), is (true ));
2268+ assertThat (indexRequest .getPipeline (), equalTo ("pipeline1" ));
2269+ assertThat (indexRequest .getFinalPipeline (), equalTo (IngestService .NOOP_PIPELINE_NAME ));
2270+ }
2271+ }
2272+
21892273 private static Tuple <String , Object > randomMapEntry () {
21902274 return tuple (randomAlphaOfLength (5 ), randomObject ());
21912275 }
0 commit comments