1010
1111import org .elasticsearch .ResourceNotFoundException ;
1212import org .elasticsearch .action .datastreams .DeleteDataStreamAction ;
13+ import org .elasticsearch .cluster .ClusterName ;
1314import org .elasticsearch .cluster .ClusterState ;
1415import org .elasticsearch .cluster .SnapshotsInProgress ;
1516import org .elasticsearch .cluster .metadata .DataStream ;
1617import org .elasticsearch .cluster .metadata .DataStreamTestHelper ;
1718import org .elasticsearch .cluster .metadata .IndexNameExpressionResolver ;
1819import org .elasticsearch .cluster .metadata .ProjectId ;
20+ import org .elasticsearch .cluster .metadata .ProjectMetadata ;
1921import org .elasticsearch .common .Strings ;
2022import org .elasticsearch .common .collect .ImmutableOpenMap ;
2123import org .elasticsearch .common .settings .Settings ;
@@ -47,61 +49,55 @@ public void testDeleteDataStream() {
4749 final String dataStreamName = "my-data-stream" ;
4850 final List <String > otherIndices = randomSubsetOf (List .of ("foo" , "bar" , "baz" ));
4951
50- final var projectId = randomProjectIdOrDefault ();
51- ClusterState cs = DataStreamTestHelper .getClusterStateWithDataStreams (
52- projectId ,
53- List .of (new Tuple <>(dataStreamName , 2 )),
54- otherIndices
55- );
52+ ProjectMetadata project = DataStreamTestHelper .getProjectWithDataStreams (List .of (new Tuple <>(dataStreamName , 2 )), otherIndices );
5653 DeleteDataStreamAction .Request req = new DeleteDataStreamAction .Request (TEST_REQUEST_TIMEOUT , new String [] { dataStreamName });
5754 ClusterState newState = TransportDeleteDataStreamAction .removeDataStream (
5855 iner ,
59- cs . projectState ( projectId ),
56+ projectStateFromProject ( project ),
6057 req ,
6158 validator ,
6259 Settings .EMPTY
6360 );
64- assertThat (newState .metadata ().getProject (projectId ).dataStreams ().size (), equalTo (0 ));
65- assertThat (newState .metadata ().getProject (projectId ).indices ().size (), equalTo (otherIndices .size ()));
61+ final var newProject = newState .metadata ().getProject (project .id ());
62+ assertThat (newProject .dataStreams ().size (), equalTo (0 ));
63+ assertThat (newProject .indices ().size (), equalTo (otherIndices .size ()));
6664 for (String indexName : otherIndices ) {
67- assertThat (newState . metadata (). getProject ( projectId ) .indices ().get (indexName ).getIndex ().getName (), equalTo (indexName ));
65+ assertThat (newProject .indices ().get (indexName ).getIndex ().getName (), equalTo (indexName ));
6866 }
6967 }
7068
7169 public void testDeleteDataStreamWithFailureStore () {
7270 final String dataStreamName = "my-data-stream" ;
7371 final List <String > otherIndices = randomSubsetOf (List .of ("foo" , "bar" , "baz" ));
7472
75- final var projectId = randomProjectIdOrDefault ();
76- ClusterState cs = DataStreamTestHelper .getClusterStateWithDataStreams (
77- projectId ,
73+ ProjectMetadata project = DataStreamTestHelper .getProjectWithDataStreams (
7874 List .of (new Tuple <>(dataStreamName , 2 )),
7975 otherIndices ,
8076 System .currentTimeMillis (),
8177 Settings .EMPTY ,
8278 1 ,
83- false
79+ false ,
80+ true
8481 );
8582 DeleteDataStreamAction .Request req = new DeleteDataStreamAction .Request (TEST_REQUEST_TIMEOUT , new String [] { dataStreamName });
8683 ClusterState newState = TransportDeleteDataStreamAction .removeDataStream (
8784 iner ,
88- cs . projectState ( projectId ),
85+ projectStateFromProject ( project ),
8986 req ,
9087 validator ,
9188 Settings .EMPTY
9289 );
93- assertThat (newState .metadata ().getProject (projectId ).dataStreams ().size (), equalTo (0 ));
94- assertThat (newState .metadata ().getProject (projectId ).indices ().size (), equalTo (otherIndices .size ()));
90+ final var newProject = newState .metadata ().getProject (project .id ());
91+ assertThat (newProject .dataStreams ().size (), equalTo (0 ));
92+ assertThat (newProject .indices ().size (), equalTo (otherIndices .size ()));
9593 for (String indexName : otherIndices ) {
96- assertThat (newState . metadata (). getProject ( projectId ) .indices ().get (indexName ).getIndex ().getName (), equalTo (indexName ));
94+ assertThat (newProject .indices ().get (indexName ).getIndex ().getName (), equalTo (indexName ));
9795 }
9896 }
9997
10098 public void testDeleteMultipleDataStreams () {
10199 String [] dataStreamNames = { "foo" , "bar" , "baz" , "eggplant" };
102- final var projectId = randomProjectIdOrDefault ();
103- ClusterState cs = DataStreamTestHelper .getClusterStateWithDataStreams (
104- projectId ,
100+ ProjectMetadata project = DataStreamTestHelper .getProjectWithDataStreams (
105101 List .of (
106102 new Tuple <>(dataStreamNames [0 ], randomIntBetween (1 , 3 )),
107103 new Tuple <>(dataStreamNames [1 ], randomIntBetween (1 , 3 )),
@@ -114,17 +110,18 @@ public void testDeleteMultipleDataStreams() {
114110 DeleteDataStreamAction .Request req = new DeleteDataStreamAction .Request (TEST_REQUEST_TIMEOUT , new String [] { "ba*" , "eggplant" });
115111 ClusterState newState = TransportDeleteDataStreamAction .removeDataStream (
116112 iner ,
117- cs . projectState ( projectId ),
113+ projectStateFromProject ( project ),
118114 req ,
119115 validator ,
120116 Settings .EMPTY
121117 );
122- assertThat (newState .metadata ().getProject (projectId ).dataStreams ().size (), equalTo (1 ));
123- DataStream remainingDataStream = newState .metadata ().getProject (projectId ).dataStreams ().get (dataStreamNames [0 ]);
118+ final var newProject = newState .metadata ().getProject (project .id ());
119+ assertThat (newProject .dataStreams ().size (), equalTo (1 ));
120+ DataStream remainingDataStream = newProject .dataStreams ().get (dataStreamNames [0 ]);
124121 assertNotNull (remainingDataStream );
125- assertThat (newState . metadata (). getProject ( projectId ) .indices ().size (), equalTo (remainingDataStream .getIndices ().size ()));
122+ assertThat (newProject .indices ().size (), equalTo (remainingDataStream .getIndices ().size ()));
126123 for (Index i : remainingDataStream .getIndices ()) {
127- assertThat (newState . metadata (). getProject ( projectId ) .indices ().get (i .getName ()).getIndex (), equalTo (i ));
124+ assertThat (newProject .indices ().get (i .getName ()).getIndex (), equalTo (i ));
128125 }
129126 }
130127
@@ -133,12 +130,12 @@ public void testDeleteSnapshottingDataStream() {
133130 final String dataStreamName2 = "my-data-stream2" ;
134131 final List <String > otherIndices = randomSubsetOf (List .of ("foo" , "bar" , "baz" ));
135132
136- final var projectId = randomProjectIdOrDefault ();
137- ClusterState cs = DataStreamTestHelper .getClusterStateWithDataStreams (
138- projectId ,
133+ ProjectMetadata project = DataStreamTestHelper .getProjectWithDataStreams (
139134 List .of (new Tuple <>(dataStreamName , 2 ), new Tuple <>(dataStreamName2 , 2 )),
140135 otherIndices
141136 );
137+ final var projectId = project .id ();
138+ final ClusterState cs = ClusterState .builder (ClusterName .DEFAULT ).putProjectMetadata (project ).build ();
142139 SnapshotsInProgress snapshotsInProgress = SnapshotsInProgress .EMPTY .withAddedEntry (
143140 createEntry (dataStreamName , projectId , "repo1" , false )
144141 ).withAddedEntry (createEntry (dataStreamName2 , projectId , "repo2" , true ));
@@ -180,9 +177,7 @@ private SnapshotsInProgress.Entry createEntry(String dataStreamName, ProjectId p
180177 public void testDeleteNonexistentDataStream () {
181178 final String dataStreamName = "my-data-stream" ;
182179 String [] dataStreamNames = { "foo" , "bar" , "baz" , "eggplant" };
183- final var projectId = randomProjectIdOrDefault ();
184- ClusterState cs = DataStreamTestHelper .getClusterStateWithDataStreams (
185- projectId ,
180+ ProjectMetadata project = DataStreamTestHelper .getProjectWithDataStreams (
186181 List .of (
187182 new Tuple <>(dataStreamNames [0 ], randomIntBetween (1 , 3 )),
188183 new Tuple <>(dataStreamNames [1 ], randomIntBetween (1 , 3 )),
@@ -191,12 +186,13 @@ public void testDeleteNonexistentDataStream() {
191186 ),
192187 List .of ()
193188 );
189+ final ClusterState cs = ClusterState .builder (ClusterName .DEFAULT ).putProjectMetadata (project ).build ();
194190
195191 expectThrows (
196192 ResourceNotFoundException .class ,
197193 () -> TransportDeleteDataStreamAction .removeDataStream (
198194 iner ,
199- cs .projectState (projectId ),
195+ cs .projectState (project . id () ),
200196 new DeleteDataStreamAction .Request (TEST_REQUEST_TIMEOUT , new String [] { dataStreamName }),
201197 validator ,
202198 Settings .EMPTY
@@ -209,20 +205,15 @@ public void testDeleteNonexistentDataStream() {
209205 );
210206 ClusterState newState = TransportDeleteDataStreamAction .removeDataStream (
211207 iner ,
212- cs .projectState (projectId ),
208+ cs .projectState (project . id () ),
213209 req ,
214210 validator ,
215211 Settings .EMPTY
216212 );
217213 assertThat (newState , sameInstance (cs ));
218- assertThat (
219- newState .metadata ().getProject (projectId ).dataStreams ().size (),
220- equalTo (cs .metadata ().getProject (projectId ).dataStreams ().size ())
221- );
222- assertThat (
223- newState .metadata ().getProject (projectId ).dataStreams ().keySet (),
224- containsInAnyOrder (cs .metadata ().getProject (projectId ).dataStreams ().keySet ().toArray (Strings .EMPTY_ARRAY ))
225- );
214+ final var newProject = newState .metadata ().getProject (project .id ());
215+ assertThat (newProject .dataStreams ().size (), equalTo (project .dataStreams ().size ()));
216+ assertThat (newProject .dataStreams ().keySet (), containsInAnyOrder (project .dataStreams ().keySet ().toArray (Strings .EMPTY_ARRAY )));
226217 }
227218
228219}
0 commit comments