Spaces:
Build error
Build error
da-admin-service-dev
/
src
/test
/java
/com
/dalab
/adminservice
/service
/impl
/RoleServiceImplTest.java
| package com.dalab.adminservice.service.impl; | |
| import com.dalab.adminservice.dto.RoleDTO; | |
| import com.dalab.adminservice.mapper.RoleMapper; | |
| import org.junit.jupiter.api.BeforeEach; | |
| import org.junit.jupiter.api.Test; | |
| import org.junit.jupiter.api.extension.ExtendWith; | |
| import org.keycloak.admin.client.Keycloak; | |
| import org.keycloak.admin.client.resource.RealmResource; | |
| import org.keycloak.admin.client.resource.RolesResource; | |
| import org.keycloak.representations.idm.RoleRepresentation; | |
| import org.mockito.InjectMocks; | |
| import org.mockito.Mock; | |
| import org.mockito.junit.jupiter.MockitoExtension; | |
| import org.springframework.test.util.ReflectionTestUtils; | |
| import java.util.Collections; | |
| import java.util.List; | |
| import static org.junit.jupiter.api.Assertions.assertEquals; | |
| import static org.junit.jupiter.api.Assertions.assertNotNull; | |
| import static org.mockito.Mockito.verify; | |
| import static org.mockito.Mockito.when; | |
| import static org.mockito.ArgumentMatchers.anyList; | |
| class RoleServiceImplTest { | |
| private Keycloak keycloakAdminClient; | |
| private RoleMapper roleMapper; | |
| private RoleServiceImpl roleService; | |
| private RealmResource realmResource; | |
| private RolesResource rolesResource; | |
| private String testRealmName = "test-realm"; | |
| private RoleRepresentation roleRepresentation; | |
| private RoleDTO roleDTO; | |
| void setUp() { | |
| ReflectionTestUtils.setField(roleService, "realmName", testRealmName); | |
| roleRepresentation = new RoleRepresentation(); | |
| roleRepresentation.setId("role-id"); | |
| roleRepresentation.setName("TEST_ROLE"); | |
| roleRepresentation.setDescription("A test role"); | |
| roleDTO = RoleDTO.builder() | |
| .id("role-id") | |
| .name("TEST_ROLE") | |
| .description("A test role") | |
| .build(); | |
| when(keycloakAdminClient.realm(testRealmName)).thenReturn(realmResource); | |
| when(realmResource.roles()).thenReturn(rolesResource); | |
| } | |
| void getAllRealmRoles_shouldReturnRoleDtoList() { | |
| when(rolesResource.list()).thenReturn(Collections.singletonList(roleRepresentation)); | |
| when(roleMapper.toDtoList(anyList())).thenReturn(Collections.singletonList(roleDTO)); | |
| List<RoleDTO> result = roleService.getAllRealmRoles(); | |
| assertNotNull(result); | |
| assertEquals(1, result.size()); | |
| assertEquals(roleDTO.getName(), result.get(0).getName()); | |
| verify(rolesResource).list(); | |
| verify(roleMapper).toDtoList(Collections.singletonList(roleRepresentation)); | |
| } | |
| } |