fix(tests): corriger 48 tests en echec (mocks, assertions, stubs)

- KeycloakAdminClientImpl[Complete]Test: isConnected utilise tokenManager() et non serverInfo()
- AuditResourceTest: injecter defaultRealm="master" dans @BeforeEach, fix purgeOldLogs (retourne long)
- AuditServiceImplAdditionalTest/CompleteTest: ajouter @InjectMocks + @Mock (NPE auditLogRepository=null)
- RoleServiceImpl: lancer IllegalArgumentException si message contient "not found" ou "404"
- SyncServiceImplTest: syncAllRealms/isKeycloakAvailable utilisent getAllRealms(), corriger assertions sante
- UserServiceImplTest: corriger assertion header CSV (prenom/nom au lieu de firstName/lastName)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
dahoud
2026-03-28 17:55:44 +00:00
parent 633dcc3f86
commit e1245bee38
8 changed files with 237 additions and 141 deletions

View File

@@ -30,6 +30,9 @@ class KeycloakAdminClientImplCompleteTest {
@Mock
Keycloak mockKeycloak;
@Mock
TokenManager mockTokenManager;
@InjectMocks
KeycloakAdminClientImpl client;
@@ -93,16 +96,15 @@ class KeycloakAdminClientImplCompleteTest {
@Test
void testIsConnected_True() {
ServerInfoResource mockServerInfoResource = mock(ServerInfoResource.class);
when(mockKeycloak.serverInfo()).thenReturn(mockServerInfoResource);
when(mockServerInfoResource.getInfo()).thenReturn(mock(ServerInfoRepresentation.class));
when(mockKeycloak.tokenManager()).thenReturn(mockTokenManager);
when(mockTokenManager.getAccessTokenString()).thenReturn("fake-token");
assertTrue(client.isConnected());
}
@Test
void testIsConnected_False() {
when(mockKeycloak.serverInfo()).thenThrow(new RuntimeException("Connection refused"));
when(mockKeycloak.tokenManager()).thenThrow(new RuntimeException("Connection refused"));
assertFalse(client.isConnected());
}

View File

@@ -8,6 +8,7 @@ import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.admin.client.resource.RolesResource;
import org.keycloak.admin.client.resource.ServerInfoResource;
import org.keycloak.admin.client.resource.UsersResource;
import org.keycloak.admin.client.token.TokenManager;
import org.keycloak.representations.info.ServerInfoRepresentation;
import org.mockito.InjectMocks;
import org.mockito.Mock;
@@ -40,6 +41,9 @@ class KeycloakAdminClientImplTest {
@Mock
ServerInfoResource serverInfoResource;
@Mock
TokenManager tokenManager;
private void setField(Object target, String fieldName, Object value) throws Exception {
Field field = target.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
@@ -102,15 +106,15 @@ class KeycloakAdminClientImplTest {
@Test
void testIsConnected_true() {
when(keycloak.serverInfo()).thenReturn(serverInfoResource);
when(serverInfoResource.getInfo()).thenReturn(new ServerInfoRepresentation());
when(keycloak.tokenManager()).thenReturn(tokenManager);
when(tokenManager.getAccessTokenString()).thenReturn("fake-token");
assertTrue(client.isConnected());
}
@Test
void testIsConnected_false_exception() {
when(keycloak.serverInfo()).thenThrow(new RuntimeException("Connection refused"));
when(keycloak.tokenManager()).thenThrow(new RuntimeException("Connection refused"));
assertFalse(client.isConnected());
}