From b11dfbbef5e81ff6275536c565bc8841e8816325 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Souza?= Date: Fri, 14 Aug 2020 10:20:47 -0300 Subject: [PATCH 1/2] =?UTF-8?q?#ECOAPI-790=20-=20Atualiza=C3=A7=C3=A3o=20d?= =?UTF-8?q?o=20endpoint=20getUser=20do=20User?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../senior/core/user/pojos/GetUserInput.java | 8 +-- .../senior/core/user/pojos/GetUserOutput.java | 51 ++++++++----------- .../senior/core/user/pojos/Integration.java | 18 +++++++ .../java/br/com/senior/core/user/UserIT.java | 45 ++++++++-------- 4 files changed, 59 insertions(+), 63 deletions(-) create mode 100644 src/main/java/br/com/senior/core/user/pojos/Integration.java diff --git a/src/main/java/br/com/senior/core/user/pojos/GetUserInput.java b/src/main/java/br/com/senior/core/user/pojos/GetUserInput.java index 3067c3b..43e0cbd 100644 --- a/src/main/java/br/com/senior/core/user/pojos/GetUserInput.java +++ b/src/main/java/br/com/senior/core/user/pojos/GetUserInput.java @@ -13,15 +13,9 @@ public class GetUserInput { /** - * "Nome do usuário no formato nome@dominio_tenant" + * Nome do usuário no formato nome@dominio_tenant */ @NonNull String username; - /** - * Email do usuário - */ - @NonNull - String email; - } diff --git a/src/main/java/br/com/senior/core/user/pojos/GetUserOutput.java b/src/main/java/br/com/senior/core/user/pojos/GetUserOutput.java index 7be6ef4..c7fafbd 100644 --- a/src/main/java/br/com/senior/core/user/pojos/GetUserOutput.java +++ b/src/main/java/br/com/senior/core/user/pojos/GetUserOutput.java @@ -16,83 +16,72 @@ public class GetUserOutput { /** * Identificador do usuário */ - String id; - + String id; /** * Nome do usuário */ - String username; - + String username; /** * Nome completo do usuário */ - String fullName; - + String fullName; /** * Descrição do usuário */ - String description; - + String description; /** * Endereço de e-mail do usuário */ - String email; - + String email; /** * localidade do usuário */ - String locale; - + String locale; /** * Domínio do tenant no login do usuário */ - String tenantDomain; - + String tenantDomain; /** * Nome do tenant do usuário */ - String tenantName; - + String tenantName; /** * Localidade do tenant do usuário */ - String tenantLocale; - + String tenantLocale; /** * Indica se o usuário está bloqueado */ - Boolean blocked; - + Boolean blocked; /** * Tipo de autenticação utilizada pelo tenant deste usuário */ - AuthType authenticationType; - + AuthType authenticationType; + /** + * Dados do usuário integrado pela G5, mas futuramente poderá ser utilizado para outras integrações se necessário + */ + Integration integration; /** * Indica se o usuário precisa trocar de senha no próximo logon */ - Boolean changePassword; - + Boolean changePassword; /** * Foto do usuário em Base64 */ - String photo; - + String photo; /** * Lista com as propriedades que este usuário possui (opcional) */ - List properties; - + java.util.List properties; /** * Indica se o usuário é um admin de tenant */ - Boolean admin; - + Boolean admin; /** * Indica se o usuário pode alterar a sua senha. * É possível alterar a senha quando o tipo de autenticação do tenant é G7 ou quando é G5 e o tenant está configurado para permitir alterar a senha pela G7. */ - Boolean allowedToChangePassword; + Boolean allowedToChangePassword; /** * @param id - Identificador do usuário diff --git a/src/main/java/br/com/senior/core/user/pojos/Integration.java b/src/main/java/br/com/senior/core/user/pojos/Integration.java new file mode 100644 index 0000000..d386686 --- /dev/null +++ b/src/main/java/br/com/senior/core/user/pojos/Integration.java @@ -0,0 +1,18 @@ +package br.com.senior.core.user.pojos; + +import lombok.AccessLevel; +import lombok.Data; +import lombok.experimental.FieldDefaults; + +@Data +@FieldDefaults(level = AccessLevel.PRIVATE) +public class Integration { + /** + * Nome do usuário recebido via integração, caso não tenha um usuário informado na coluna 'integration_username' será retornado o usuário padrão + */ + String integrationName; + /** + * Código do usuário, aplicado para os usuários integrados através da G5 + */ + String integrationCode; +} diff --git a/src/test/java/br/com/senior/core/user/UserIT.java b/src/test/java/br/com/senior/core/user/UserIT.java index d90ec3a..3db79fc 100644 --- a/src/test/java/br/com/senior/core/user/UserIT.java +++ b/src/test/java/br/com/senior/core/user/UserIT.java @@ -1,16 +1,7 @@ package br.com.senior.core.user; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.fail; - -import java.util.Arrays; -import java.util.List; - -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; - import br.com.senior.core.BaseIT; +import br.com.senior.core.base.ServiceException; import br.com.senior.core.user.pojos.CreateGroupInput; import br.com.senior.core.user.pojos.CreateGroupOutput; import br.com.senior.core.user.pojos.CreateUserInput; @@ -29,7 +20,15 @@ import br.com.senior.core.user.pojos.UpdateGroupUsersOutput; import br.com.senior.core.user.pojos.UpdateUserInput; import br.com.senior.core.user.pojos.UpdateUserOutput; -import br.com.senior.core.base.ServiceException; + +import java.util.List; + +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.fail; /** * Exemplos de código do {@link br.com.senior.core.user.UserClient UserClient} @@ -38,22 +37,26 @@ public class UserIT extends BaseIT { private static final String USER_NAME = "teste"; private static final String USER_EMAIL = "teste@test.com.br"; + private static final String GROUP_NAME = "GrupoParaTestes"; private static String USER_ID; - private static String GROUP_ID; - private static final String GROUP_NAME = "GrupoParaTestes"; - - private static String usernameExpected; private static String token; private static UserClient client; @BeforeClass public static void beforeClass() throws ServiceException { - usernameExpected = Arrays.stream(System.getenv("SENIOR_USERNAME").split("@")).findFirst().orElse(null); token = login().getJsonToken().getAccess_token(); client = new UserClient(token); } + private static void deleteGroup() throws ServiceException { + client.deleteGroup(GROUP_ID); + } + + private static void deleteUser() throws ServiceException { + client.deleteUser(USER_ID); + } + @Test public void testCreateAndGetGroup() throws ServiceException { try { @@ -204,14 +207,6 @@ public void testDeleteGroup() throws Exception { } } - private static void deleteGroup() throws ServiceException { - client.deleteGroup(GROUP_ID); - } - - private static void deleteUser() throws ServiceException { - client.deleteUser(USER_ID); - } - private GetGroupOutput getGroup() throws ServiceException { GetGroupInput input = new GetGroupInput(GROUP_ID); return client.getGroup(input); @@ -248,7 +243,7 @@ private ListGroupUsersOutput listGroupUsers() throws ServiceException { } private GetUserOutput getUser() throws ServiceException { - GetUserInput input = new GetUserInput(USER_NAME, USER_EMAIL); + GetUserInput input = new GetUserInput(USER_NAME); return client.getUser(input); } From 4e2b3ba26257bba9348f4b56ca4858a3dfafe07d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Souza?= Date: Fri, 14 Aug 2020 10:27:17 -0300 Subject: [PATCH 2/2] =?UTF-8?q?#ECOAPI-790=20-=20Atualiza=C3=A7=C3=A3o=20d?= =?UTF-8?q?o=20endpoint=20getUser=20do=20User?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/authentication/AuthenticationIT.java | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/test/java/br/com/senior/core/authentication/AuthenticationIT.java b/src/test/java/br/com/senior/core/authentication/AuthenticationIT.java index c146723..bd09227 100644 --- a/src/test/java/br/com/senior/core/authentication/AuthenticationIT.java +++ b/src/test/java/br/com/senior/core/authentication/AuthenticationIT.java @@ -1,9 +1,5 @@ package br.com.senior.core.authentication; -import org.junit.Assert; -import org.junit.Ignore; -import org.junit.Test; - import br.com.senior.core.BaseIT; import br.com.senior.core.authentication.pojos.LoginMFAInput; import br.com.senior.core.authentication.pojos.LoginOutput; @@ -14,10 +10,14 @@ import br.com.senior.core.authentication.pojos.RefreshTokenInput; import br.com.senior.core.authentication.pojos.RefreshTokenOutput; import br.com.senior.core.authentication.pojos.Scope; +import br.com.senior.core.base.ServiceException; import br.com.senior.core.user.UserClient; import br.com.senior.core.user.pojos.GetUserInput; import br.com.senior.core.user.pojos.GetUserOutput; -import br.com.senior.core.base.ServiceException; + +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; /** * Exemplos de código do {@link br.com.senior.core.authentication.AuthenticationClient AuthenticationClient} @@ -32,7 +32,7 @@ public void testValidLogin() throws ServiceException { } @Test - public void testInvalidLogin() throws ServiceException { + public void testInvalidLogin() { Assert.assertThrows(ServiceException.class, () -> login(System.getenv("SENIOR_USERNAME"), System.getenv("PASSWORD_INVALID"))); } @@ -81,11 +81,10 @@ public void testRefreshTokenWithScope() throws ServiceException { LoginOutput loginOutput = login(); String username = loginOutput.getJsonToken().getUsername(); - String email = loginOutput.getJsonToken().getUsername(); String accessToken = loginOutput.getJsonToken().getAccess_token(); String refreshToken = loginOutput.getJsonToken().getRefresh_token(); - GetUserInput getUserInput = new GetUserInput(username, email); + GetUserInput getUserInput = new GetUserInput(username); GetUserOutput getUserOutput = new UserClient(accessToken).getUser(getUserInput); RefreshTokenInput refreshTokenInput = new RefreshTokenInput(refreshToken, Scope.DESKTOP.toString()); @@ -99,11 +98,10 @@ public void testRefreshTokenWithScope() throws ServiceException { public void testRefreshTokenScopeLess() throws ServiceException { LoginOutput loginOutput = login(); String username = loginOutput.getJsonToken().getUsername(); - String email = loginOutput.getJsonToken().getUsername(); String accessToken = loginOutput.getJsonToken().getAccess_token(); String refreshToken = loginOutput.getJsonToken().getRefresh_token(); - GetUserInput getUserInput = new GetUserInput(username, email); + GetUserInput getUserInput = new GetUserInput(username); GetUserOutput getUserOutput = new UserClient(accessToken).getUser(getUserInput); RefreshTokenInput refreshTokenInput = new RefreshTokenInput(refreshToken);