1414import org .elasticsearch .cluster .ClusterName ;
1515import org .elasticsearch .cluster .ClusterState ;
1616import org .elasticsearch .cluster .metadata .ProjectId ;
17+ import org .elasticsearch .cluster .metadata .ProjectMetadata ;
1718import org .elasticsearch .cluster .metadata .RepositoryMetadata ;
1819import org .elasticsearch .cluster .service .ClusterService ;
1920import org .elasticsearch .common .settings .Settings ;
3435
3536import static org .hamcrest .Matchers .containsInAnyOrder ;
3637import static org .mockito .ArgumentMatchers .any ;
37- import static org .mockito .ArgumentMatchers .eq ;
3838import static org .mockito .Mockito .doAnswer ;
3939import static org .mockito .Mockito .mock ;
4040import static org .mockito .Mockito .spy ;
4444 */
4545public class ReservedRepositoryActionTests extends ESTestCase {
4646
47- private TransformState processJSON (ReservedRepositoryAction action , TransformState prevState , String json ) throws Exception {
47+ private TransformState processJSON (ProjectId projectId , ReservedRepositoryAction action , TransformState prevState , String json )
48+ throws Exception {
4849 try (XContentParser parser = XContentType .JSON .xContent ().createParser (XContentParserConfiguration .EMPTY , json )) {
49- return action .transform (action .fromXContent (parser ), prevState );
50+ return action .transform (projectId , action .fromXContent (parser ), prevState );
5051 }
5152 }
5253
@@ -69,20 +70,24 @@ public void testValidation() throws Exception {
6970
7071 assertEquals (
7172 "[repo] repository type [inter_planetary] does not exist" ,
72- expectThrows (RepositoryException .class , () -> processJSON (action , prevState , badPolicyJSON )).getMessage ()
73+ expectThrows (RepositoryException .class , () -> processJSON (randomProjectIdOrDefault (), action , prevState , badPolicyJSON ))
74+ .getMessage ()
7375 );
7476 }
7577
7678 public void testAddRepo () throws Exception {
7779 var repositoriesService = mockRepositoriesService ();
80+ final var projectId = randomProjectIdOrDefault ();
7881
79- ClusterState state = ClusterState .builder (new ClusterName ("elasticsearch" )).build ();
82+ ClusterState state = ClusterState .builder (new ClusterName ("elasticsearch" ))
83+ .putProjectMetadata (ProjectMetadata .builder (projectId ))
84+ .build ();
8085 TransformState prevState = new TransformState (state , Collections .emptySet ());
8186 ReservedRepositoryAction action = new ReservedRepositoryAction (repositoriesService );
8287
8388 String emptyJSON = "" ;
8489
85- TransformState updatedState = processJSON (action , prevState , emptyJSON );
90+ TransformState updatedState = processJSON (projectId , action , prevState , emptyJSON );
8691 assertEquals (0 , updatedState .keys ().size ());
8792 assertEquals (prevState .state (), updatedState .state ());
8893
@@ -103,14 +108,17 @@ public void testAddRepo() throws Exception {
103108 }""" ;
104109
105110 prevState = updatedState ;
106- updatedState = processJSON (action , prevState , settingsJSON );
111+ updatedState = processJSON (projectId , action , prevState , settingsJSON );
107112 assertThat (updatedState .keys (), containsInAnyOrder ("repo" , "repo1" ));
108113 }
109114
110115 public void testRemoveRepo () {
111116 var repositoriesService = mockRepositoriesService ();
117+ final var projectId = randomProjectIdOrDefault ();
112118
113- ClusterState state = ClusterState .builder (new ClusterName ("elasticsearch" )).build ();
119+ ClusterState state = ClusterState .builder (new ClusterName ("elasticsearch" ))
120+ .putProjectMetadata (ProjectMetadata .builder (projectId ))
121+ .build ();
114122 TransformState prevState = new TransformState (state , Set .of ("repo1" ));
115123 ReservedRepositoryAction action = new ReservedRepositoryAction (repositoriesService );
116124
@@ -120,7 +128,7 @@ public void testRemoveRepo() {
120128 // missing is sufficient to tell that we attempted to delete that repo
121129 assertEquals (
122130 "[repo1] missing" ,
123- expectThrows (RepositoryMissingException .class , () -> processJSON (action , prevState , emptyJSON )).getMessage ()
131+ expectThrows (RepositoryMissingException .class , () -> processJSON (projectId , action , prevState , emptyJSON )).getMessage ()
124132 );
125133 }
126134
@@ -153,7 +161,7 @@ public Repository create(ProjectId projectId, RepositoryMetadata metadata) {
153161 throw new RepositoryException (request .name (), "repository type [" + request .type () + "] does not exist" );
154162 }
155163 return null ;
156- }).when (repositoriesService ).validateRepositoryCanBeCreated (eq (ProjectId .DEFAULT ), any ());
164+ }).when (repositoriesService ).validateRepositoryCanBeCreated (any (ProjectId .class ), any ());
157165
158166 return repositoriesService ;
159167 }
0 commit comments