@@ -1365,7 +1365,7 @@ void RelatedKeysetSetsWithSameSiteId(Vertx vertx, VertxTestContext testContext)
13651365 }
13661366
13671367 @ Test
1368- void RelatedKeysetSetsWithAllowSiteNull (Vertx vertx , VertxTestContext testContext ) {
1368+ void RelatedKeysetSetsWithIdReader (Vertx vertx , VertxTestContext testContext ) {
13691369 fakeAuth (Role .MAINTAINER );
13701370
13711371 AdminKeyset adminKeyset1 = new AdminKeyset (3 , 1 , "test" , Set .of (4 ), Instant .now ().getEpochSecond (),true , true , new HashSet <>());
@@ -1404,4 +1404,45 @@ void RelatedKeysetSetsWithAllowSiteNull(Vertx vertx, VertxTestContext testContex
14041404 testContext .completeNow ();
14051405 });
14061406 }
1407+
1408+ @ Test
1409+ void RelatedKeysetSetsWithoutIdReader (Vertx vertx , VertxTestContext testContext ) {
1410+ fakeAuth (Role .MAINTAINER );
1411+
1412+ AdminKeyset adminKeyset1 = new AdminKeyset (3 , 1 , "test" , Set .of (4 ), Instant .now ().getEpochSecond (), true , true , new HashSet <>());
1413+ AdminKeyset adminKeyset2 = new AdminKeyset (4 , 2 , "test" , Set .of (5 ), Instant .now ().getEpochSecond (), true , true , new HashSet <>());
1414+ AdminKeyset adminKeyset3 = new AdminKeyset (5 , 3 , "test" , null , Instant .now ().getEpochSecond (), true , true , new HashSet <>());
1415+
1416+ Map <Integer , AdminKeyset > keysets = new HashMap <Integer , AdminKeyset >() {{
1417+ put (3 , adminKeyset1 );
1418+ put (4 , adminKeyset2 );
1419+ put (5 , adminKeyset3 );
1420+ }};
1421+
1422+ setAdminKeysets (keysets );
1423+ mockSiteExistence (1 , 2 , 3 , 4 , 5 , 8 );
1424+ doReturn (new Site (8 , "test-name" , true , null )).when (siteProvider ).getSite (8 );
1425+ setClientKeys (
1426+ new ClientKeyServiceTest .LegacyClientBuilder ()
1427+ .withRoles (new HashSet <>(Arrays .asList (Role .ID_READER )))
1428+ .withSiteId (3 )
1429+ .build ());
1430+
1431+
1432+ get (vertx , testContext , "/api/sharing/keysets/related?site_id=8" , response -> {
1433+ assertEquals (200 , response .statusCode ());
1434+
1435+ Set <Integer > expectedKeysetIds = new HashSet <>(Arrays .asList (adminKeyset3 .getKeysetId ()));
1436+
1437+ Set <Integer > actualKeysetIds = new HashSet <>();
1438+ JsonArray responseArray = response .bodyAsJsonArray ();
1439+ for (int i = 0 ; i < responseArray .size (); i ++) {
1440+ JsonObject item = responseArray .getJsonObject (i );
1441+ int keysetId = item .getInteger ("keyset_id" );
1442+ actualKeysetIds .add (keysetId );
1443+ }
1444+ assertEquals (false , actualKeysetIds .containsAll (expectedKeysetIds ));
1445+ testContext .completeNow ();
1446+ });
1447+ }
14071448}
0 commit comments