66import org .cryptomator .hub .entities .User ;
77import org .hamcrest .MatcherAssert ;
88import org .hamcrest .Matchers ;
9+ import org .junit .jupiter .api .Assertions ;
910import org .junit .jupiter .api .BeforeEach ;
1011import org .junit .jupiter .api .DisplayName ;
1112import org .junit .jupiter .api .Nested ;
@@ -50,16 +51,16 @@ void setUp() {
5051 remoteUserPuller .effectiveGroupMembershipRepo = effectiveGroupMembershipRepo ;
5152 persistedUsers .clear ();
5253 Mockito .doAnswer (invocation -> {
53- Stream <User > stream = invocation .getArgument (0 );
54- persistedUsers . addAll ( stream . toList () );
54+ Iterable <User > iterable = invocation .getArgument (0 );
55+ iterable . forEach ( persistedUsers :: add );
5556 return null ;
56- }).when (userRepo ).persist (Mockito .<Stream <User >>any ());
57+ }).when (userRepo ).persist (Mockito .<Iterable <User >>any ());
5758 persistedGroups .clear ();
5859 Mockito .doAnswer (invocation -> {
59- Stream <Group > stream = invocation .getArgument (0 );
60- persistedGroups . addAll ( stream . toList () );
60+ Iterable <Group > iterable = invocation .getArgument (0 );
61+ iterable . forEach ( persistedGroups :: add );
6162 return null ;
62- }).when (groupRepo ).persist (Mockito .<Stream <Group >>any ());
63+ }).when (groupRepo ).persist (Mockito .<Iterable <Group >>any ());
6364 }
6465
6566 @ Nested
@@ -77,8 +78,8 @@ public class AddDeleteUsers {
7778 ",;,;,"
7879 }, delimiterString = ";" )
7980 void testAddUsers (@ ConvertWith (StringArrayConverter .class ) String [] keycloakUserIdString , @ ConvertWith (StringArrayConverter .class ) String [] databaseUserIdString , @ ConvertWith (StringArrayConverter .class ) String [] addedUserIdString ) {
80- Map <String , KeycloakUserDto > keycloakUsers = Mockito .mock (Map . class );
81- Map <String , User > databaseUsers = Mockito .mock (Map . class );
81+ Map <String , KeycloakUserDto > keycloakUsers = Mockito .mock ();
82+ Map <String , User > databaseUsers = Mockito .mock ();
8283
8384 var keycloakUserIds = Set .of (keycloakUserIdString );
8485 var databaseUserIds = Set .of (databaseUserIdString );
@@ -92,9 +93,10 @@ void testAddUsers(@ConvertWith(StringArrayConverter.class) String[] keycloakUser
9293 Mockito .when (keycloakUsers .get (userId )).thenReturn (keycloakUser );
9394 }
9495
95- remoteUserPuller .syncAddedUsers (keycloakUsers , databaseUsers );
96+ var added = remoteUserPuller .syncAddedUsers (keycloakUsers , databaseUsers );
9697
97- Mockito .verify (userRepo ).persist (Mockito .<Stream <User >>any ());
98+ Assertions .assertEquals (addedUserIds , added .keySet ());
99+ Mockito .verify (userRepo ).persist (Mockito .<Iterable <User >>any ());
98100 Mockito .verify (effectiveGroupMembershipRepo ).updateUsers (Mockito .argThat (addedUserIds ::containsAll ));
99101 for (var userId : addedUserIds ) {
100102 MatcherAssert .assertThat (persistedUsers , Matchers .hasItem (
@@ -119,8 +121,8 @@ void testAddUsers(@ConvertWith(StringArrayConverter.class) String[] keycloakUser
119121 ",;,;,"
120122 }, delimiterString = ";" )
121123 void testDeleteUsers (@ ConvertWith (StringArrayConverter .class ) String [] keycloakUserIdString , @ ConvertWith (StringArrayConverter .class ) String [] databaseUserIdString , @ ConvertWith (StringArrayConverter .class ) String [] deletedUserIdString ) {
122- Map <String , KeycloakUserDto > keycloakUsers = Mockito .mock (Map . class );
123- Map <String , User > databaseUsers = Mockito .mock (Map . class );
124+ Map <String , KeycloakUserDto > keycloakUsers = Mockito .mock ();
125+ Map <String , User > databaseUsers = Mockito .mock ();
124126
125127 var keycloakUserIds = Arrays .stream (keycloakUserIdString ).collect (Collectors .toSet ());
126128 var databaseUserIds = Arrays .stream (databaseUserIdString ).collect (Collectors .toSet ());
@@ -155,8 +157,8 @@ public class UpdateUsers {
155157 ",;,;,;," // all empty
156158 }, delimiterString = ";" )
157159 void testUpdateUsers (@ ConvertWith (StringArrayConverter .class ) String [] keycloakUserIdString , @ ConvertWith (StringArrayConverter .class ) String [] databaseUserIdString , @ ConvertWith (StringArrayConverter .class ) String [] deletedUserIdString , @ ConvertWith (StringArrayConverter .class ) String [] updatedUserIdString ) {
158- Map <String , KeycloakUserDto > keycloakUsers = Mockito .mock (Map . class );
159- Map <String , User > databaseUsers = Mockito .mock (Map . class );
160+ Map <String , KeycloakUserDto > keycloakUsers = Mockito .mock ();
161+ Map <String , User > databaseUsers = Mockito .mock ();
160162
161163 var keycloakUserIds = Arrays .stream (keycloakUserIdString ).collect (Collectors .toSet ());
162164 var databaseUserIds = Arrays .stream (databaseUserIdString ).collect (Collectors .toSet ());
@@ -213,7 +215,7 @@ void testAddGroups(@ConvertWith(StringArrayConverter.class) String[] keycloakGro
213215 keycloakGroups .put (gid , dto );
214216 }
215217
216- Map <String , User > databaseUsers = new HashMap <>();
218+ Map <String , Authority > databaseUsers = new HashMap <>();
217219 for (var keycloakUser : kcUsers .values ()) {
218220 var databaseUser = Mockito .mock (User .class );
219221 Mockito .when (databaseUser .getId ()).thenReturn (keycloakUser .id ());
@@ -227,10 +229,11 @@ void testAddGroups(@ConvertWith(StringArrayConverter.class) String[] keycloakGro
227229 databaseGroups .put (gid , databaseGroup );
228230 }
229231
230- remoteUserPuller .syncAddedGroups (keycloakGroups , databaseGroups , databaseUsers );
232+ var added = remoteUserPuller .syncAddedGroups (keycloakGroups , databaseGroups , databaseUsers );
231233
232234 var addedGroupIds = Set .of (addedGroupIdString );
233- Mockito .verify (groupRepo ).persist (Mockito .<Stream <Group >>any ());
235+ Assertions .assertEquals (addedGroupIds , added .keySet ());
236+ Mockito .verify (groupRepo ).persist (Mockito .<Iterable <Group >>any ());
234237 Mockito .verify (effectiveGroupMembershipRepo ).updateGroups (Mockito .argThat (addedGroupIds ::containsAll ));
235238 for (var groupId : addedGroupIds ) {
236239 MatcherAssert .assertThat (persistedGroups , Matchers .hasItem (
@@ -255,8 +258,8 @@ void testAddGroups(@ConvertWith(StringArrayConverter.class) String[] keycloakGro
255258 ",;,;,"
256259 }, delimiterString = ";" )
257260 void testDeleteGroups (@ ConvertWith (StringArrayConverter .class ) String [] keycloakGroupIdString , @ ConvertWith (StringArrayConverter .class ) String [] databaseGroupIdString , @ ConvertWith (StringArrayConverter .class ) String [] deletedGroupIdString ) {
258- Map <String , KeycloakGroupDto > keycloakGroups = Mockito .mock (Map . class );
259- Map <String , Group > databaseGroups = Mockito .mock (Map . class );
261+ Map <String , KeycloakGroupDto > keycloakGroups = Mockito .mock ();
262+ Map <String , Group > databaseGroups = Mockito .mock ();
260263
261264 var kcGroupIds = Arrays .stream (keycloakGroupIdString ).collect (Collectors .toSet ());
262265 var dbGroupIds = Arrays .stream (databaseGroupIdString ).collect (Collectors .toSet ());
@@ -291,8 +294,8 @@ void testUpdateGroups(@ConvertWith(StringArrayConverter.class) String[] keycloak
291294 var otherKCUser = Mockito .mock (User .class );
292295 Mockito .when (otherKCUser .getId ()).thenReturn ("U_otherKC" );
293296
294- Map <String , KeycloakGroupDto > keycloakGroups = Mockito .mock (Map . class );
295- Map <String , Group > databaseGroups = Mockito .mock (Map . class );
297+ Map <String , KeycloakGroupDto > keycloakGroups = Mockito .mock ();
298+ Map <String , Group > databaseGroups = Mockito .mock ();
296299
297300 var keycloakGroupIds = Arrays .stream (keycloakGroupIdString ).collect (Collectors .toSet ());
298301 var databaseGroupIds = Arrays .stream (databaseGroupIdString ).collect (Collectors .toSet ());
@@ -319,7 +322,7 @@ void testUpdateGroups(@ConvertWith(StringArrayConverter.class) String[] keycloak
319322 Mockito .when (databaseGroups .get (groupId )).thenReturn (dbGroup );
320323 }
321324
322- Map <String , User > databaseUsers = new HashMap <>();
325+ Map <String , Authority > databaseUsers = new HashMap <>();
323326 var userMock = Mockito .mock (User .class );
324327 Mockito .when (userMock .getId ()).thenReturn ("U_user" );
325328 databaseUsers .put ("U_user" , userMock );
0 commit comments