2626import org .elasticsearch .cluster .routing .RoutingTable ;
2727import org .elasticsearch .common .UUIDs ;
2828import org .elasticsearch .common .settings .Settings ;
29- import org .elasticsearch .common .util .set .Sets ;
3029import org .elasticsearch .gateway .GatewayService ;
3130import org .elasticsearch .index .Index ;
3231import org .elasticsearch .index .IndexVersion ;
@@ -531,9 +530,7 @@ public void testProjectsDelta() {
531530 .metadata (Metadata .builder (state0 .metadata ()).put (ReservedStateMetadata .builder ("test" ).build ()))
532531 .build ();
533532 ClusterChangedEvent event = new ClusterChangedEvent ("test" , state1 , state0 );
534- assertThat (event .addedProjects (), empty ());
535- assertThat (event .removedProjects (), empty ());
536- assertThat (event .commonProjects (), equalTo (Set .of (ProjectId .DEFAULT )));
533+ assertTrue (event .projectDelta ().isEmpty ());
537534
538535 // Add projects
539536 final List <ProjectId > projectIds = randomList (1 , 5 , ESTestCase ::randomUniqueProjectId );
@@ -543,9 +540,8 @@ public void testProjectsDelta() {
543540 }
544541 final var state2 = ClusterState .builder (state1 ).metadata (metadataBuilder .build ()).build ();
545542 event = new ClusterChangedEvent ("test" , state2 , state1 );
546- assertThat (event .addedProjects (), containsInAnyOrder (projectIds .toArray ()));
547- assertThat (event .removedProjects (), empty ());
548- assertThat (event .commonProjects (), equalTo (Set .of (ProjectId .DEFAULT )));
543+ assertThat (event .projectDelta ().added (), containsInAnyOrder (projectIds .toArray ()));
544+ assertThat (event .projectDelta ().removed (), empty ());
549545
550546 // Add more projects and delete one
551547 final var removedProjectIds = randomNonEmptySubsetOf (projectIds );
@@ -563,38 +559,26 @@ public void testProjectsDelta() {
563559 final var state3 = ClusterState .builder (state2 ).metadata (metadataBuilder .build ()).routingTable (routingTableBuilder .build ()).build ();
564560
565561 event = new ClusterChangedEvent ("test" , state3 , state2 );
566- assertThat (event .addedProjects (), containsInAnyOrder (moreProjectIds .toArray ()));
567- assertThat (event .removedProjects (), containsInAnyOrder (removedProjectIds .toArray ()));
568- assertThat (
569- event .commonProjects (),
570- equalTo (Sets .union (Sets .difference (Set .copyOf (projectIds ), Set .copyOf (removedProjectIds )), Set .of (ProjectId .DEFAULT )))
571- );
572-
573- // An update without project membership changes
574- final var state4 = ClusterState .builder (state3 ).version (state3 .version () + 1 ).build ();
575- event = new ClusterChangedEvent ("test" , state4 , state3 );
576- assertThat (event .addedProjects (), empty ());
577- assertThat (event .removedProjects (), empty ());
578- assertThat (event .commonProjects (), equalTo (state4 .metadata ().projects ().keySet ()));
562+ assertThat (event .projectDelta ().added (), containsInAnyOrder (moreProjectIds .toArray ()));
563+ assertThat (event .projectDelta ().removed (), containsInAnyOrder (removedProjectIds .toArray ()));
579564
580565 // Remove all projects
581- final List <ProjectId > remainingProjects = state4 .metadata ()
566+ final List <ProjectId > remainingProjects = state3 .metadata ()
582567 .projects ()
583568 .keySet ()
584569 .stream ()
585570 .filter (projectId -> ProjectId .DEFAULT .equals (projectId ) == false )
586571 .toList ();
587- metadataBuilder = Metadata .builder (state4 .metadata ());
588- routingTableBuilder = GlobalRoutingTable .builder (state4 .globalRoutingTable ());
572+ metadataBuilder = Metadata .builder (state3 .metadata ());
573+ routingTableBuilder = GlobalRoutingTable .builder (state3 .globalRoutingTable ());
589574 for (ProjectId projectId : remainingProjects ) {
590575 metadataBuilder .removeProject (projectId );
591576 routingTableBuilder .removeProject (projectId );
592577 }
593- final var state5 = ClusterState .builder (state4 ).metadata (metadataBuilder .build ()).routingTable (routingTableBuilder .build ()).build ();
594- event = new ClusterChangedEvent ("test" , state5 , state4 );
595- assertThat (event .addedProjects (), empty ());
596- assertThat (event .removedProjects (), containsInAnyOrder (remainingProjects .toArray ()));
597- assertThat (event .commonProjects (), equalTo (Set .of (ProjectId .DEFAULT )));
578+ final var state4 = ClusterState .builder (state3 ).metadata (metadataBuilder .build ()).routingTable (routingTableBuilder .build ()).build ();
579+ event = new ClusterChangedEvent ("test" , state4 , state3 );
580+ assertThat (event .projectDelta ().added (), empty ());
581+ assertThat (event .projectDelta ().removed (), containsInAnyOrder (remainingProjects .toArray ()));
598582 }
599583
600584 private static class CustomClusterMetadata2 extends TestClusterCustomMetadata {
0 commit comments