Refactoring - Version stable

This commit is contained in:
dahoud
2026-03-28 14:21:30 +00:00
parent 00b981c510
commit a740c172ef
4402 changed files with 88517 additions and 1555 deletions

View File

@@ -0,0 +1,51 @@
package dev.lions.unionflow.server.service;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import io.quarkus.oidc.runtime.OidcJwtCallerPrincipal;
import io.quarkus.security.identity.SecurityIdentity;
import java.lang.reflect.Field;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
/**
* Test SANS @QuarkusTest pour couvrir la branche OidcJwtCallerPrincipal
* dans KeycloakService.getRawAccessToken() (ligne 304).
*
* <p>Cette branche ne peut pas être couverte dans un @QuarkusTest car @InjectMock
* injecte un proxy Mockito de JsonWebToken qui n'est pas instanceof OidcJwtCallerPrincipal.
* Ici on instancie KeycloakService directement et on injecte les fields via réflexion.
*/
class KeycloakServiceOidcBranchTest {
@Test
@DisplayName("getRawAccessToken avec OidcJwtCallerPrincipal → retourne le raw token (branche instanceof)")
void getRawAccessToken_whenOidcJwtCallerPrincipal_returnsRawToken() throws Exception {
// Créer une instance de KeycloakService sans CDI
KeycloakService service = new KeycloakService();
// Mock SecurityIdentity (non-anonymous = authenticated)
SecurityIdentity si = mock(SecurityIdentity.class);
when(si.isAnonymous()).thenReturn(false);
// Mock OidcJwtCallerPrincipal → IS-A JsonWebToken ET OidcJwtCallerPrincipal
OidcJwtCallerPrincipal oidcPrincipal = mock(OidcJwtCallerPrincipal.class);
when(oidcPrincipal.getRawToken()).thenReturn("raw-oidc-token");
// Injecter les champs via réflexion
Field siField = KeycloakService.class.getDeclaredField("securityIdentity");
siField.setAccessible(true);
siField.set(service, si);
Field jwtField = KeycloakService.class.getDeclaredField("jwt");
jwtField.setAccessible(true);
jwtField.set(service, oidcPrincipal);
// Appeler getRawAccessToken() — doit prendre la branche OidcJwtCallerPrincipal
String token = service.getRawAccessToken();
assertThat(token).isEqualTo("raw-oidc-token");
}
}