2020import org .elasticsearch .cluster .metadata .DataStreamTestHelper ;
2121import org .elasticsearch .cluster .metadata .IndexMetadata ;
2222import org .elasticsearch .cluster .metadata .IndexNameExpressionResolver ;
23+ import org .elasticsearch .cluster .metadata .MetadataDataStreamsService ;
2324import org .elasticsearch .cluster .metadata .ProjectMetadata ;
2425import org .elasticsearch .cluster .metadata .Template ;
26+ import org .elasticsearch .cluster .service .ClusterService ;
2527import org .elasticsearch .common .settings .ClusterSettings ;
2628import org .elasticsearch .common .settings .Settings ;
2729import org .elasticsearch .core .TimeValue ;
3133import org .elasticsearch .index .IndexNotFoundException ;
3234import org .elasticsearch .index .IndexSettingProviders ;
3335import org .elasticsearch .index .IndexSettings ;
36+ import org .elasticsearch .indices .IndicesService ;
3437import org .elasticsearch .indices .SystemIndices ;
3538import org .elasticsearch .indices .TestIndexNameExpressionResolver ;
39+ import org .elasticsearch .test .ClusterServiceUtils ;
3640import org .elasticsearch .test .ESTestCase ;
41+ import org .elasticsearch .threadpool .TestThreadPool ;
42+ import org .elasticsearch .threadpool .ThreadPool ;
43+ import org .junit .After ;
44+ import org .junit .Before ;
3745
46+ import java .io .IOException ;
3847import java .time .Instant ;
3948import java .time .temporal .ChronoUnit ;
4049import java .util .ArrayList ;
5564import static org .hamcrest .Matchers .hasSize ;
5665import static org .hamcrest .Matchers .is ;
5766import static org .hamcrest .Matchers .nullValue ;
67+ import static org .mockito .Mockito .mock ;
5868
5969public class TransportGetDataStreamsActionTests extends ESTestCase {
6070
@@ -66,6 +76,29 @@ public class TransportGetDataStreamsActionTests extends ESTestCase {
6676 private final DataStreamFailureStoreSettings emptyDataStreamFailureStoreSettings = DataStreamFailureStoreSettings .create (
6777 ClusterSettings .createBuiltInClusterSettings ()
6878 );
79+ private ThreadPool testThreadPool ;
80+ private MetadataDataStreamsService metadataDataStreamsService ;
81+
82+ @ Before
83+ public void setup () throws IOException {
84+ testThreadPool = new TestThreadPool (getTestName ());
85+ ClusterService clusterService = ClusterServiceUtils .createClusterService (testThreadPool );
86+ IndicesService indicesService = mock (IndicesService .class );
87+ metadataDataStreamsService = new MetadataDataStreamsService (
88+ clusterService ,
89+ indicesService ,
90+ DataStreamGlobalRetentionSettings .create (ClusterSettings .createBuiltInClusterSettings ()),
91+ IndexSettingProviders .EMPTY
92+ );
93+ }
94+
95+ @ After
96+ public void tearDown () throws Exception {
97+ super .tearDown ();
98+ if (testThreadPool != null ) {
99+ testThreadPool .shutdown ();
100+ }
101+ }
69102
70103 public void testGetDataStream () {
71104 final String dataStreamName = "my-data-stream" ;
@@ -186,7 +219,8 @@ public void testGetTimeSeriesDataStream() {
186219 dataStreamGlobalRetentionSettings ,
187220 emptyDataStreamFailureStoreSettings ,
188221 new IndexSettingProviders (Set .of ()),
189- null
222+ null ,
223+ metadataDataStreamsService
190224 );
191225 assertThat (
192226 response .getDataStreams (),
@@ -219,7 +253,8 @@ public void testGetTimeSeriesDataStream() {
219253 dataStreamGlobalRetentionSettings ,
220254 emptyDataStreamFailureStoreSettings ,
221255 new IndexSettingProviders (Set .of ()),
222- null
256+ null ,
257+ metadataDataStreamsService
223258 );
224259 assertThat (
225260 response .getDataStreams (),
@@ -273,7 +308,8 @@ public void testGetTimeSeriesDataStreamWithOutOfOrderIndices() {
273308 dataStreamGlobalRetentionSettings ,
274309 emptyDataStreamFailureStoreSettings ,
275310 new IndexSettingProviders (Set .of ()),
276- null
311+ null ,
312+ metadataDataStreamsService
277313 );
278314 assertThat (
279315 response .getDataStreams (),
@@ -313,7 +349,8 @@ public void testGetTimeSeriesMixedDataStream() {
313349 dataStreamGlobalRetentionSettings ,
314350 emptyDataStreamFailureStoreSettings ,
315351 new IndexSettingProviders (Set .of ()),
316- null
352+ null ,
353+ metadataDataStreamsService
317354 );
318355
319356 var name1 = getDefaultBackingIndexName ("ds-1" , 1 , instant .toEpochMilli ());
@@ -349,7 +386,8 @@ public void testPassingGlobalRetention() {
349386 dataStreamGlobalRetentionSettings ,
350387 emptyDataStreamFailureStoreSettings ,
351388 new IndexSettingProviders (Set .of ()),
352- null
389+ null ,
390+ metadataDataStreamsService
353391 );
354392 assertThat (response .getDataGlobalRetention (), nullValue ());
355393 DataStreamGlobalRetention dataGlobalRetention = new DataStreamGlobalRetention (
@@ -376,7 +414,8 @@ public void testPassingGlobalRetention() {
376414 withGlobalRetentionSettings ,
377415 emptyDataStreamFailureStoreSettings ,
378416 new IndexSettingProviders (Set .of ()),
379- null
417+ null ,
418+ metadataDataStreamsService
380419 );
381420 assertThat (response .getDataGlobalRetention (), equalTo (dataGlobalRetention ));
382421 // We used the default failures retention here which is greater than the max
@@ -404,7 +443,8 @@ public void testDataStreamIsFailureStoreEffectivelyEnabled_disabled() {
404443 dataStreamGlobalRetentionSettings ,
405444 emptyDataStreamFailureStoreSettings ,
406445 new IndexSettingProviders (Set .of ()),
407- null
446+ null ,
447+ metadataDataStreamsService
408448 );
409449 assertThat (response .getDataStreams (), hasSize (1 ));
410450 assertThat (response .getDataStreams ().getFirst ().isFailureStoreEffectivelyEnabled (), is (false ));
@@ -431,7 +471,8 @@ public void testDataStreamIsFailureStoreEffectivelyEnabled_enabledExplicitly() {
431471 dataStreamGlobalRetentionSettings ,
432472 emptyDataStreamFailureStoreSettings ,
433473 new IndexSettingProviders (Set .of ()),
434- null
474+ null ,
475+ metadataDataStreamsService
435476 );
436477 assertThat (response .getDataStreams (), hasSize (1 ));
437478 assertThat (response .getDataStreams ().getFirst ().isFailureStoreEffectivelyEnabled (), is (true ));
@@ -464,7 +505,8 @@ public void testDataStreamIsFailureStoreEffectivelyEnabled_enabledByClusterSetti
464505 )
465506 ),
466507 new IndexSettingProviders (Set .of ()),
467- null
508+ null ,
509+ metadataDataStreamsService
468510 );
469511 assertThat (response .getDataStreams (), hasSize (1 ));
470512 assertThat (response .getDataStreams ().getFirst ().isFailureStoreEffectivelyEnabled (), is (true ));
@@ -491,7 +533,8 @@ public void testProvidersAffectMode() {
491533 dataStreamGlobalRetentionSettings ,
492534 emptyDataStreamFailureStoreSettings ,
493535 IndexSettingProviders .of ((additionalSettings ) -> additionalSettings .put ("index.mode" , IndexMode .LOOKUP )),
494- null
536+ null ,
537+ metadataDataStreamsService
495538 );
496539 assertThat (response .getDataStreams ().getFirst ().getIndexModeName (), equalTo ("lookup" ));
497540 assertThat (
@@ -531,7 +574,8 @@ public void testGetEffectiveSettingsTemplateOnlySettings() {
531574 dataStreamGlobalRetentionSettings ,
532575 emptyDataStreamFailureStoreSettings ,
533576 new IndexSettingProviders (Set .of ()),
534- null
577+ null ,
578+ metadataDataStreamsService
535579 );
536580 assertNotNull (response .getDataStreams ());
537581 assertThat (response .getDataStreams ().size (), equalTo (1 ));
@@ -563,7 +607,8 @@ public void testGetEffectiveSettingsComponentTemplateOnlySettings() {
563607 dataStreamGlobalRetentionSettings ,
564608 emptyDataStreamFailureStoreSettings ,
565609 new IndexSettingProviders (Set .of ()),
566- null
610+ null ,
611+ metadataDataStreamsService
567612 );
568613 assertNotNull (response .getDataStreams ());
569614 assertThat (response .getDataStreams ().size (), equalTo (1 ));
@@ -601,7 +646,8 @@ public void testGetEffectiveSettings() {
601646 dataStreamGlobalRetentionSettings ,
602647 emptyDataStreamFailureStoreSettings ,
603648 new IndexSettingProviders (Set .of ()),
604- null
649+ null ,
650+ metadataDataStreamsService
605651 );
606652 assertNotNull (response .getDataStreams ());
607653 assertThat (response .getDataStreams ().size (), equalTo (1 ));
0 commit comments