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 ;
19+ import org .elasticsearch .cluster .metadata .ProjectMetadata ;
1820import org .elasticsearch .common .Strings ;
1921import org .elasticsearch .common .collect .ImmutableOpenMap ;
2022import org .elasticsearch .common .settings .Settings ;
@@ -46,61 +48,55 @@ public void testDeleteDataStream() {
4648 final String dataStreamName = "my-data-stream" ;
4749 final List <String > otherIndices = randomSubsetOf (List .of ("foo" , "bar" , "baz" ));
4850
49- final var projectId = randomProjectIdOrDefault ();
50- ClusterState cs = DataStreamTestHelper .getClusterStateWithDataStreams (
51- projectId ,
52- List .of (new Tuple <>(dataStreamName , 2 )),
53- otherIndices
54- );
51+ ProjectMetadata project = DataStreamTestHelper .getProjectWithDataStreams (List .of (new Tuple <>(dataStreamName , 2 )), otherIndices );
5552 DeleteDataStreamAction .Request req = new DeleteDataStreamAction .Request (TEST_REQUEST_TIMEOUT , new String [] { dataStreamName });
5653 ClusterState newState = TransportDeleteDataStreamAction .removeDataStream (
5754 iner ,
58- cs . projectState ( projectId ),
55+ projectStateFromProject ( project ),
5956 req ,
6057 validator ,
6158 Settings .EMPTY
6259 );
63- assertThat (newState .metadata ().getProject (projectId ).dataStreams ().size (), equalTo (0 ));
64- assertThat (newState .metadata ().getProject (projectId ).indices ().size (), equalTo (otherIndices .size ()));
60+ final var newProject = newState .metadata ().getProject (project .id ());
61+ assertThat (newProject .dataStreams ().size (), equalTo (0 ));
62+ assertThat (newProject .indices ().size (), equalTo (otherIndices .size ()));
6563 for (String indexName : otherIndices ) {
66- assertThat (newState . metadata (). getProject ( projectId ) .indices ().get (indexName ).getIndex ().getName (), equalTo (indexName ));
64+ assertThat (newProject .indices ().get (indexName ).getIndex ().getName (), equalTo (indexName ));
6765 }
6866 }
6967
7068 public void testDeleteDataStreamWithFailureStore () {
7169 final String dataStreamName = "my-data-stream" ;
7270 final List <String > otherIndices = randomSubsetOf (List .of ("foo" , "bar" , "baz" ));
7371
74- final var projectId = randomProjectIdOrDefault ();
75- ClusterState cs = DataStreamTestHelper .getClusterStateWithDataStreams (
76- projectId ,
72+ ProjectMetadata project = DataStreamTestHelper .getProjectWithDataStreams (
7773 List .of (new Tuple <>(dataStreamName , 2 )),
7874 otherIndices ,
7975 System .currentTimeMillis (),
8076 Settings .EMPTY ,
8177 1 ,
82- false
78+ false ,
79+ true
8380 );
8481 DeleteDataStreamAction .Request req = new DeleteDataStreamAction .Request (TEST_REQUEST_TIMEOUT , new String [] { dataStreamName });
8582 ClusterState newState = TransportDeleteDataStreamAction .removeDataStream (
8683 iner ,
87- cs . projectState ( projectId ),
84+ projectStateFromProject ( project ),
8885 req ,
8986 validator ,
9087 Settings .EMPTY
9188 );
92- assertThat (newState .metadata ().getProject (projectId ).dataStreams ().size (), equalTo (0 ));
93- assertThat (newState .metadata ().getProject (projectId ).indices ().size (), equalTo (otherIndices .size ()));
89+ final var newProject = newState .metadata ().getProject (project .id ());
90+ assertThat (newProject .dataStreams ().size (), equalTo (0 ));
91+ assertThat (newProject .indices ().size (), equalTo (otherIndices .size ()));
9492 for (String indexName : otherIndices ) {
95- assertThat (newState . metadata (). getProject ( projectId ) .indices ().get (indexName ).getIndex ().getName (), equalTo (indexName ));
93+ assertThat (newProject .indices ().get (indexName ).getIndex ().getName (), equalTo (indexName ));
9694 }
9795 }
9896
9997 public void testDeleteMultipleDataStreams () {
10098 String [] dataStreamNames = { "foo" , "bar" , "baz" , "eggplant" };
101- final var projectId = randomProjectIdOrDefault ();
102- ClusterState cs = DataStreamTestHelper .getClusterStateWithDataStreams (
103- projectId ,
99+ ProjectMetadata project = DataStreamTestHelper .getProjectWithDataStreams (
104100 List .of (
105101 new Tuple <>(dataStreamNames [0 ], randomIntBetween (1 , 3 )),
106102 new Tuple <>(dataStreamNames [1 ], randomIntBetween (1 , 3 )),
@@ -113,17 +109,18 @@ public void testDeleteMultipleDataStreams() {
113109 DeleteDataStreamAction .Request req = new DeleteDataStreamAction .Request (TEST_REQUEST_TIMEOUT , new String [] { "ba*" , "eggplant" });
114110 ClusterState newState = TransportDeleteDataStreamAction .removeDataStream (
115111 iner ,
116- cs . projectState ( projectId ),
112+ projectStateFromProject ( project ),
117113 req ,
118114 validator ,
119115 Settings .EMPTY
120116 );
121- assertThat (newState .metadata ().getProject (projectId ).dataStreams ().size (), equalTo (1 ));
122- DataStream remainingDataStream = newState .metadata ().getProject (projectId ).dataStreams ().get (dataStreamNames [0 ]);
117+ final var newProject = newState .metadata ().getProject (project .id ());
118+ assertThat (newProject .dataStreams ().size (), equalTo (1 ));
119+ DataStream remainingDataStream = newProject .dataStreams ().get (dataStreamNames [0 ]);
123120 assertNotNull (remainingDataStream );
124- assertThat (newState . metadata (). getProject ( projectId ) .indices ().size (), equalTo (remainingDataStream .getIndices ().size ()));
121+ assertThat (newProject .indices ().size (), equalTo (remainingDataStream .getIndices ().size ()));
125122 for (Index i : remainingDataStream .getIndices ()) {
126- assertThat (newState . metadata (). getProject ( projectId ) .indices ().get (i .getName ()).getIndex (), equalTo (i ));
123+ assertThat (newProject .indices ().get (i .getName ()).getIndex (), equalTo (i ));
127124 }
128125 }
129126
@@ -132,12 +129,12 @@ public void testDeleteSnapshottingDataStream() {
132129 final String dataStreamName2 = "my-data-stream2" ;
133130 final List <String > otherIndices = randomSubsetOf (List .of ("foo" , "bar" , "baz" ));
134131
135- final var projectId = randomProjectIdOrDefault ();
136- ClusterState cs = DataStreamTestHelper .getClusterStateWithDataStreams (
137- projectId ,
132+ ProjectMetadata project = DataStreamTestHelper .getProjectWithDataStreams (
138133 List .of (new Tuple <>(dataStreamName , 2 ), new Tuple <>(dataStreamName2 , 2 )),
139134 otherIndices
140135 );
136+ final var projectId = project .id ();
137+ final ClusterState cs = ClusterState .builder (ClusterName .DEFAULT ).putProjectMetadata (project ).build ();
141138 SnapshotsInProgress snapshotsInProgress = SnapshotsInProgress .EMPTY .withAddedEntry (createEntry (dataStreamName , "repo1" , false ))
142139 .withAddedEntry (createEntry (dataStreamName2 , "repo2" , true ));
143140 ClusterState snapshotCs = ClusterState .builder (cs ).putCustom (SnapshotsInProgress .TYPE , snapshotsInProgress ).build ();
@@ -178,9 +175,7 @@ private SnapshotsInProgress.Entry createEntry(String dataStreamName, String repo
178175 public void testDeleteNonexistentDataStream () {
179176 final String dataStreamName = "my-data-stream" ;
180177 String [] dataStreamNames = { "foo" , "bar" , "baz" , "eggplant" };
181- final var projectId = randomProjectIdOrDefault ();
182- ClusterState cs = DataStreamTestHelper .getClusterStateWithDataStreams (
183- projectId ,
178+ ProjectMetadata project = DataStreamTestHelper .getProjectWithDataStreams (
184179 List .of (
185180 new Tuple <>(dataStreamNames [0 ], randomIntBetween (1 , 3 )),
186181 new Tuple <>(dataStreamNames [1 ], randomIntBetween (1 , 3 )),
@@ -189,12 +184,13 @@ public void testDeleteNonexistentDataStream() {
189184 ),
190185 List .of ()
191186 );
187+ final ClusterState cs = ClusterState .builder (ClusterName .DEFAULT ).putProjectMetadata (project ).build ();
192188
193189 expectThrows (
194190 ResourceNotFoundException .class ,
195191 () -> TransportDeleteDataStreamAction .removeDataStream (
196192 iner ,
197- cs .projectState (projectId ),
193+ cs .projectState (project . id () ),
198194 new DeleteDataStreamAction .Request (TEST_REQUEST_TIMEOUT , new String [] { dataStreamName }),
199195 validator ,
200196 Settings .EMPTY
@@ -207,20 +203,15 @@ public void testDeleteNonexistentDataStream() {
207203 );
208204 ClusterState newState = TransportDeleteDataStreamAction .removeDataStream (
209205 iner ,
210- cs .projectState (projectId ),
206+ cs .projectState (project . id () ),
211207 req ,
212208 validator ,
213209 Settings .EMPTY
214210 );
215211 assertThat (newState , sameInstance (cs ));
216- assertThat (
217- newState .metadata ().getProject (projectId ).dataStreams ().size (),
218- equalTo (cs .metadata ().getProject (projectId ).dataStreams ().size ())
219- );
220- assertThat (
221- newState .metadata ().getProject (projectId ).dataStreams ().keySet (),
222- containsInAnyOrder (cs .metadata ().getProject (projectId ).dataStreams ().keySet ().toArray (Strings .EMPTY_ARRAY ))
223- );
212+ final var newProject = newState .metadata ().getProject (project .id ());
213+ assertThat (newProject .dataStreams ().size (), equalTo (project .dataStreams ().size ()));
214+ assertThat (newProject .dataStreams ().keySet (), containsInAnyOrder (project .dataStreams ().keySet ().toArray (Strings .EMPTY_ARRAY )));
224215 }
225216
226217}
0 commit comments