diff --git a/.classpath b/.classpath index 607384f..6e6c2a0 100644 --- a/.classpath +++ b/.classpath @@ -20,7 +20,7 @@ - + diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 0fb1240..5b59d8a 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -42,9 +42,9 @@ org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.lambda.genericSignature=do not generate org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.shareCommonFinallyBlocks=disabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate @@ -169,7 +169,7 @@ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.processAnnotations=disabled org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.7 +org.eclipse.jdt.core.compiler.source=1.8 org.eclipse.jdt.core.compiler.storeAnnotations=disabled org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL diff --git a/README.md b/README.md index 222d414..2fd63f4 100644 --- a/README.md +++ b/README.md @@ -508,19 +508,34 @@ public class ExampleReadme { try { //Intancia del servicio de Consulta de saldo y autenticación - SWBalanceAccountService sdk = new SWBalanceAccountService("user", "password", "https://services.test.sw.com.mx"); + SWBalanceAccountService sdk = new SWBalanceAccountService("user", "password", "https://services.test.sw.com.mx","https://api.test.sw.com.mx" ); BalanceAcctResponse response = null; response = (BalanceAcctResponse) sdk.GetBalanceAccount(); //Imprimimos los datos de la respuesta que se obtuvo - System.out.println(response.Status); - System.out.println(response.timbresAsignados); - System.out.println(response.HttpStatusCode); - System.out.println(response.fechaExpiracion); - System.out.println(response.idClienteUsuario); - System.out.println(response.idSaldoCliente); - System.out.println(response.saldoTimbres); - System.out.println(response.timbresUtilizados); - System.out.println(response.unlimited); + System.out.println(response.Status); + System.out.println(response.HttpStatusCode); + System.out.println(response.idUserBalance); + System.out.println(response.idUser); + System.out.println(response.stampsBalance); + System.out.println(response.stampsUsed); + System.out.println(response.expirationDate); + System.out.println(response.isUnlimited); + System.out.println(response.stampsAssigned); + if (response.lastTransaction != null) { + System.out.println("Folio: " + response.lastTransaction.folio); + System.out.println("ID Usuario: " + response.lastTransaction.idUser); + System.out.println("ID Usuario Receptor: " + response.lastTransaction.idUserReceiver); + System.out.println("Nombre Receptor: " + response.lastTransaction.nameReceiver); + System.out.println("Stamps In: " + response.lastTransaction.stampsIn); + System.out.println("Stamps Out: " + + (response.lastTransaction.stampsOut != null ? response.lastTransaction.stampsOut : "null")); + System.out.println("Stamps Current: " + response.lastTransaction.stampsCurrent); + System.out.println("Comentario: " + response.lastTransaction.comment); + System.out.println("Fecha: " + response.lastTransaction.date); + System.out.println("Email Enviado: " + response.lastTransaction.isEmailSent); + } else { + System.out.println("No hay transacción disponible."); + } //En caso de obtener error, este puede obtenerse de los siguientes campos System.out.println(response.message); System.out.println(response.messageDetail); @@ -547,6 +562,7 @@ Consulta de timbres
Este método recibe los siguientes parametros: * Usuario y contraseña o Token * Url Servicios SW +* Url APIs SW **Ejemplo de consumo de la libreria para consultar el saldo utilizando Token** @@ -567,21 +583,35 @@ public class ExampleReadme { try { //Intancia del servicio de Consulta de saldo y autenticación - SWBalanceAccountService sdk = new SWBalanceAccountService("T2lYQ0t4L0R...", "https://services.test.sw.com.mx"); + SWBalanceAccountService sdk = new SWBalanceAccountService("T2lYQ0t4L0R...", "https://services.test.sw.com.mx","https://api.test.sw.com.mx"); BalanceAcctResponse response = null; response = (BalanceAcctResponse) sdk.GetBalanceAccount(); //Imprimimos los datos de la respuesta que se obtuvo - System.out.println(response.Status); - System.out.println(response.timbresAsignados); - System.out.println(response.HttpStatusCode); - System.out.println(response.fechaExpiracion); - System.out.println(response.idClienteUsuario); - System.out.println(response.idSaldoCliente); - System.out.println(response.saldoTimbres); - System.out.println(response.timbresUtilizados); - System.out.println(response.unlimited); - + System.out.println(response.Status); + System.out.println(response.HttpStatusCode); + System.out.println(response.idUserBalance); + System.out.println(response.idUser); + System.out.println(response.stampsBalance); + System.out.println(response.stampsUsed); + System.out.println(response.expirationDate); + System.out.println(response.isUnlimited); + System.out.println(response.stampsAssigned); + if (response.lastTransaction != null) { + System.out.println("Folio: " + response.lastTransaction.folio); + System.out.println("ID Usuario: " + response.lastTransaction.idUser); + System.out.println("ID Usuario Receptor: " + response.lastTransaction.idUserReceiver); + System.out.println("Nombre Receptor: " + response.lastTransaction.nameReceiver); + System.out.println("Stamps In: " + response.lastTransaction.stampsIn); + System.out.println("Stamps Out: " + + (response.lastTransaction.stampsOut != null ? response.lastTransaction.stampsOut : "null")); + System.out.println("Stamps Current: " + response.lastTransaction.stampsCurrent); + System.out.println("Comentario: " + response.lastTransaction.comment); + System.out.println("Fecha: " + response.lastTransaction.date); + System.out.println("Email Enviado: " + response.lastTransaction.isEmailSent); + } else { + System.out.println("No hay transacción disponible."); + } //En caso de obtener error, este puede obtenerse de los siguientes campos System.out.println(response.message); System.out.println(response.messageDetail); @@ -1727,14 +1757,14 @@ Crear Usuario Método para crear un nuevo usuario. Este metodo recibe los siguientes parametros: -- Email - Nombre -- Password - RFC -- Profile +- Email - Stamps -- Unlimited -- Active +- isUnlimited +- Contraseña +- Email de notificaciones +- Numero de telefono **Ejemplo de consumo de la libreria para crear una cuenta nueva** @@ -1757,10 +1787,9 @@ public class ExampleReadme { //Creamos la instancia del servicio y nos autenticamos con user y password SWAccountUserService app = new SWAccountUserService ("user", "password", "https://services.test.sw.com.mx","https://api.test.sw.com.mx",null, 0) ccountUserResponse response = null; - response = (AccountUserResponse) app.CrearUsuario("usuario_nuevo", "password_nuevo", "Prueba SW Java 1.6", "CACX7605101P8", 20, AccountUserProfiles.Hijo, false, true); + response = (AccountUserResponse) app.CrearUsuario("usuario_nuevo", "password_nuevo", "Prueba SW Java 1.6", "CACX7605101P8", 20, "0000000000", false, "notification_email@gmail.com"); //Imprimimos los datos de la solicitud System.out.println(response.HttpStatusCode); - System.out.println(response.data); System.out.println(response.Status); //En caso de obtener un error, este puede obtenerse de los campos System.out.println(response.message); @@ -1783,7 +1812,8 @@ Este metodo recibe los siguientes parametros: - Nombre - RFC - Unlimited -- Active +- Numero de telefono +- Correo para notificaciones **Ejemplo de consumo de la libreria para modificar una cuenta** @@ -1806,10 +1836,9 @@ public class ExampleReadme { SWAccountUserService app = new SWAccountUserService ("user", "password", "https://services.test.sw.com.mx","https://api.test.sw.com.mx",null, 0) ccountUserResponse response = null; response = (AccountUserResponse) app.ActualizarUsuario(UUID.fromString("be2a859c-cd5f-42b5-b35d-f065b3dfecac4"), - "Prueba", "RAQÑ7701212M3", false, true); + "Prueba", "RAQÑ7701212M3", false, "0000000000", "correo@email.com"); //Imprimimos los datos de la solicitud System.out.println(response.HttpStatusCode); - System.out.println(response.data); System.out.println(response.Status); //En caso de obtener un error, este puede obtenerse de los campos System.out.println(response.message); @@ -1853,7 +1882,6 @@ public class ExampleReadme { response = (AccountUserResponse) app.EliminarUsuario(UUID.fromString("be2a859c-cd5f-42b5-b35d-f065b3dfecac4")); //Imprimimos los datos de la solicitud System.out.println(response.HttpStatusCode); - System.out.println(response.data); System.out.println(response.Status); //En caso de obtener un error, este puede obtenerse de los campos System.out.println(response.message); @@ -1871,11 +1899,9 @@ Consultar todos los usuarios de una cuenta Método para consultar todos las cuentas hijas. -Este metodo muestra los datos de la consulta de forma paginada, por ello se debe agregar: -- Page (numero de página a consultar) -- PageSize (numero de registros por página) +Este metodo muestra los datos de la consulta de las cuentas hijas de la cuenta que se coloca como autenticación. -**Ejemplo de consumo de la libreria para Consultar todos los Certificados** +**Ejemplo de consumo de la libreria para Consultar todos las cuentas hija** ```java package com.mycompany.examplereadme; @@ -1897,21 +1923,20 @@ public class ExampleReadme { //Creamos la instancia del servicio y nos autenticamos con user y password SWAccountUserService app = new SWAccountUserService ("user", "password", "https://services.test.sw.com.mx","https://api.test.sw.com.mx",null, 0) AccountUserResponse> response = null; - response = (AccountUserResponse>) app.ObtenerUsuarios(1, 10); + response = (AccountUserResponse>) app.ObtenerUsuariosHijo(); System.out.println(response.HttpStatusCode); List lista = response.data; if (lista != null) { for (int i = 0; i < lista.size(); i++) { DataAccountUser dato = lista.get(i); - System.out.println("Email: " + dato.email); - System.out.println("Password: " + dato.password); + System.out.println("Email: " + dato.email); System.out.println("Nombre: " + dato.name); System.out.println("Perfil: " + dato.profile); System.out.println("Stamps: " + dato.stamps); System.out.println("idUsuario: " + dato.idUsuario); - System.out.println("Rfc: " + dato.apellidoPaterno); - System.out.println("Ilimitado: " + dato.unlimited); - System.out.println("Activo: " + dato.activo + "\n"); + System.out.println("Rfc: " + dato.taxId); + System.out.println("Ilimitado: " + dato.isUnlimited); + System.out.println("Activo: " + dato.isActive + "\n"); } } //Imprimimos los datos de la solicitud @@ -1931,7 +1956,7 @@ public class ExampleReadme {
-Consultar certificados por ID Usuario +Consultar usuarios por ID Usuario Método para consultar la informacion de una cuenta. @@ -1959,7 +1984,7 @@ public class ExampleReadme { //Creamos la instancia del servicio y nos autenticamos con user y password SWAccountUserService app = new SWAccountUserService ("user", "password", "https://services.test.sw.com.mx","https://api.test.sw.com.mx",null, 0) AccountUserResponse response = null; - response = (AccountUserResponse) app.ObtenerInfoUsuarioId(UUID.fromString("be2a859c-cd5f-42b5-b35d-f058b3a9aac4")); + response = (AccountUserResponse) app.ObtenerUsuarioPorId(UUID.fromString("be2a859c-cd5f-42b5-b35d-f058b3a9aac4")); DataAccountUser usuario = response.data; if (usuario != null) { System.out.println("Email: " + usuario.email); @@ -1989,12 +2014,14 @@ public class ExampleReadme {
-Consultar certificados por token +Consultar usuarios por Email -Método para obtener la informacion de una cuenta por el medio de autenticacion ya sea por token o usuario y contraseña. +Método para consultar la informacion de las cuentas por email. +Este metodo requiere sólo un parametro: +- Email -**Ejemplo de consumo de la libreria para Consultar la informacion de una cuenta** +**Ejemplo de consumo de la libreria para Consultar la informacion de las cuentas con un mismo email o que coincidan** ```java package com.mycompany.examplereadme; @@ -2015,7 +2042,7 @@ public class ExampleReadme { //Creamos la instancia del servicio y nos autenticamos con user y password SWAccountUserService app = new SWAccountUserService ("user", "password", "https://services.test.sw.com.mx","https://api.test.sw.com.mx",null, 0) AccountUserResponse response = null; - response = (AccountUserResponse) app.ObtenerInfoUsuario(); + response = (AccountUserResponse) app.ObtenerUsuarioPorEmail("email@correo.com"); DataAccountUser usuario = response.data; if (usuario != null) { System.out.println("Email: " + usuario.email); @@ -2039,6 +2066,121 @@ public class ExampleReadme { } } } + +``` +
+ +
+ +Consultar usuarios por RFC Usuario + +Método para consultar la informacion de los usuarios que contengan el mismo RFC. + +Este metodo requiere sólo un parametro: +- RFC + +**Ejemplo de consumo de la libreria para Consultar la informacion de una cuenta** + +```java +package com.mycompany.examplereadme; + +import Exceptions.AuthException; +import Exceptions.GeneralException; +import Services.Account.AccountUser.SWAccountUserService; +import Utils.Responses.Account.AccountUser.DataAccountUser; +import Utils.Responses.Account.AccountUserDataAccountUserResponse; +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; + +public class ExampleReadme { + + public static void main(String[] args) { + try { + //Creamos la instancia del servicio y nos autenticamos con user y password + SWAccountUserService app = new SWAccountUserService ("user", "password", "https://services.test.sw.com.mx","https://api.test.sw.com.mx",null, 0) + AccountUserResponse response = null; + response = (AccountUserResponse) app.ObtenerUsuarioPorRfc("EKU9003173C9"); + DataAccountUser usuario = response.data; + if (usuario != null) { + System.out.println("Email: " + dato.email); + System.out.println("Nombre: " + dato.name); + System.out.println("Perfil: " + dato.profile); + System.out.println("Stamps: " + dato.stamps); + System.out.println("idUsuario: " + dato.idUsuario); + System.out.println("Rfc: " + dato.taxId); + System.out.println("Ilimitado: " + dato.isUnlimited); + System.out.println("Activo: " + dato.isActive + "\n"); + } + //Imprimimos los datos de la solicitud + System.out.println(response.HttpStatusCode); + System.out.println(response.Status); + //En caso de obtener un error, este puede obtenerse de los campos + System.out.println(response.message); + System.out.println(response.messageDetail); + } catch (AuthException | GeneralException | IOException ex) { + Logger.getLogger(ExampleReadme.class.getName()).log(Level.SEVERE, null, ex); + } + } +} + +``` +
+ +
+ +Consultar usuarios activos + +Método para consultar la informacion de los usuarios que esten activos o no. + +Este metodo requiere sólo un parametro: +- true o false + +**Ejemplo de consumo de la libreria para Consultar la informacion de los usuarios activos** + +```java +package com.mycompany.examplereadme; + +import Exceptions.AuthException; +import Exceptions.GeneralException; +import Services.Account.AccountUser.SWAccountUserService; +import Utils.Responses.Account.AccountUser.DataAccountUser; +import Utils.Responses.Account.AccountUserDataAccountUserResponse; +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; + +public class ExampleReadme { + + public static void main(String[] args) { + try { + //Creamos la instancia del servicio y nos autenticamos con user y password + SWAccountUserService app = new SWAccountUserService ("user", "password", "https://services.test.sw.com.mx","https://api.test.sw.com.mx",null, 0) + AccountUserResponse response = null; + response = (AccountUserResponse) app.ObtenerUsuariosActivos(false); // Si quieres los activos coloca "true" + DataAccountUser usuario = response.data; + if (usuario != null) { + System.out.println("Email: " + dato.email); + System.out.println("Nombre: " + dato.name); + System.out.println("Perfil: " + dato.profile); + System.out.println("Stamps: " + dato.stamps); + System.out.println("idUsuario: " + dato.idUsuario); + System.out.println("Rfc: " + dato.taxId); + System.out.println("Ilimitado: " + dato.isUnlimited); + System.out.println("Activo: " + dato.isActive + "\n"); + } + //Imprimimos los datos de la solicitud + System.out.println(response.HttpStatusCode); + System.out.println(response.Status); + //En caso de obtener un error, este puede obtenerse de los campos + System.out.println(response.message); + System.out.println(response.messageDetail); + } catch (AuthException | GeneralException | IOException ex) { + Logger.getLogger(ExampleReadme.class.getName()).log(Level.SEVERE, null, ex); + } + } +} + ```
diff --git a/pom.xml b/pom.xml index 832a21b..4233d73 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ ISO-8859-1 SW-JAVA - 1.0.19.4 + 1.0.21.1 jar https://github.com/lunasoft/sw-sdk-java @@ -89,8 +89,8 @@ maven-compiler-plugin 3.8.1 - 1.7 - 1.7 + 1.8 + 1.8 @@ -139,29 +139,29 @@ - junit - junit - 4.13.1 + org.junit.jupiter + junit-jupiter-api + 5.8.1 - org.apache.httpcomponents - httpclient - 4.5.13 + org.apache.httpcomponents.client5 + httpclient5 + 5.3.1 org.apache.httpcomponents httpasyncclient - 4.1.4 + 4.1.5 org.apache.httpcomponents httpmime - 4.5.6 + 4.5.14 org.json json - 20180130 + 20240303 com.googlecode.juniversalchardet @@ -176,12 +176,12 @@ jakarta.xml.ws jakarta.xml.ws-api - 2.3.3 - + 4.0.2 + com.sun.xml.messaging.saaj saaj-impl - 1.5.1 + 3.0.4 mx.com.sw.services @@ -191,7 +191,7 @@ com.google.code.gson gson - 2.8.9 + 2.11.0 com.googlecode.json-simple diff --git a/src/main/java/Services/Account/AccountUser/SWAccountUserService.java b/src/main/java/Services/Account/AccountUser/SWAccountUserService.java index 0577227..47c7514 100644 --- a/src/main/java/Services/Account/AccountUser/SWAccountUserService.java +++ b/src/main/java/Services/Account/AccountUser/SWAccountUserService.java @@ -10,7 +10,6 @@ import Exceptions.AuthException; import Exceptions.GeneralException; import Services.SWService; -import Utils.Helpers.EnumAccountUser.AccountUserProfiles; import Utils.Requests.Account.AccountUser.AccountUserOptionsRequest; import Utils.Requests.Account.AccountUser.AccountUserRequest; import Utils.Responses.IResponse; @@ -22,12 +21,13 @@ public class SWAccountUserService extends SWService { /** - * Constructor que requiere credenciales de autenticación para el servicio. + * Constructor que inicializa el servicio utilizando credenciales de + * autenticación. * * @param user Nombre de usuario para la autenticación. * @param password Contraseña para la autenticación. * @param URI URI base para la autenticación. - * @param URIAPI URI de la API para el servicio. + * @param URIAPI URI base para la autenticación. * @param proxyHost Host del proxy (puede ser nulo). * @param proxyPort Puerto del proxy. * @throws AuthException Si la autenticación falla. @@ -38,7 +38,7 @@ public SWAccountUserService(String user, String password, String URI, String URI } /** - * Constructor que utiliza un token de autenticación para el servicio. + * Constructor que inicializa el servicio utilizando un token de autenticación. * * @param token Token de autenticación. * @param URIAPI URI de la API para el servicio. @@ -52,48 +52,47 @@ public SWAccountUserService(String token, String URIAPI, String proxyHost, int p /** * Crea un nuevo usuario de cuenta con la información proporcionada. * - * @param email Correo electrónico del nuevo usuario. - * @param passwordUser Contraseña del nuevo usuario. - * @param name Nombre del nuevo usuario. - * @param rfc RFC del nuevo usuario. - * @param stamps Número de timbres del nuevo usuario. - * @param profile Perfil del nuevo usuario. - * @param unlimited Indica si el usuario tiene acceso ilimitado. - * @param active Indica si el usuario está activo. + * @param email Correo electrónico del nuevo usuario. + * @param passwordUser Contraseña del nuevo usuario. + * @param name Nombre del nuevo usuario. + * @param rfc RFC del nuevo usuario. + * @param stamps Número de timbres asignados al usuario. + * @param phone Número telefónico del usuario. + * @param unlimited Indica si el usuario tiene acceso ilimitado. + * @param notificationEmail Correo electrónico para notificaciones. * @return IResponse con el resultado de la operación. * @throws AuthException Si la autenticación falla. * @throws GeneralException Si ocurre un error general. * @throws IOException Si hay un error de entrada/salida. */ - public IResponse CrearUsuario(String email, String passwordUser, String name, String rfc, int stamps, - AccountUserProfiles profile, boolean unlimited, boolean active) + String phone, boolean unlimited, String notificationEmail) throws AuthException, GeneralException, IOException { AccountUserOptionsRequest settings = AccountUserOptionsRequest.crearUsuarioRequest(getToken(), getURIAPI(), - email, passwordUser, - name, rfc, stamps, profile, unlimited, active, getProxyHost(), getProxyPort()); + email, passwordUser, name, rfc, stamps, phone, unlimited, notificationEmail, getProxyHost(), + getProxyPort()); return AccountUserRequest.createCreateUserRequest(settings); } /** * Actualiza la información de un usuario existente. * - * @param idUser Identificador único del usuario a actualizar. - * @param name Nuevo nombre del usuario. - * @param rfc Nuevo RFC del usuario. - * @param unlimited Indica si el usuario tiene acceso ilimitado. - * @param active Indica si el usuario está activo. + * @param idUser Identificador único del usuario a actualizar. + * @param name Nuevo nombre del usuario. + * @param rfc Nuevo RFC del usuario. + * @param unlimited Indica si el usuario tiene acceso ilimitado. + * @param phone Nuevo número telefónico. + * @param notificationEmail Nuevo correo para notificaciones. * @return IResponse con el resultado de la operación. * @throws AuthException Si la autenticación falla. * @throws GeneralException Si ocurre un error general. * @throws IOException Si hay un error de entrada/salida. */ - public IResponse ActualizarUsuario(UUID idUser, String name, String rfc, boolean unlimited, boolean active) + public IResponse ActualizarUsuario(UUID idUser, String name, String rfc, boolean unlimited, String phone, + String notificationEmail) throws AuthException, GeneralException, IOException { - AccountUserOptionsRequest settings = AccountUserOptionsRequest.actualizarUsuarioRequest(getToken(), getURIAPI(), - idUser, name, rfc, - unlimited, active, getProxyHost(), getProxyPort()); + idUser, name, rfc, unlimited, phone, notificationEmail, getProxyHost(), getProxyPort()); return AccountUserRequest.createUpdateUserRequest(settings, idUser); } @@ -113,51 +112,76 @@ public IResponse EliminarUsuario(UUID idUser) throws AuthException, GeneralExcep } /** - * Obtiene la lista de usuarios paginada. + * Obtiene la lista de usuarios existentes. * - * @param page Número de página. - * @param pageSize Número usuarios por página. * @return IResponse con la lista de usuarios. * @throws AuthException Si la autenticación falla. * @throws GeneralException Si ocurre un error general. * @throws IOException Si hay un error de entrada/salida. */ - public IResponse ObtenerUsuarios(int page, int pageSize) throws AuthException, GeneralException, IOException { - + public IResponse ObtenerUsuariosHijo() throws AuthException, GeneralException, IOException { AccountUserOptionsRequest settings = AccountUserOptionsRequest.obtenerUsuariosRequest(getToken(), getURIAPI(), - page, pageSize, getProxyHost(), getProxyPort()); - return AccountUserRequest.createGetAllUsersRequest(settings, page, pageSize); + return AccountUserRequest.createGetAllUsersRequest(settings); } /** - * Obtiene la información del usuario actual. + * Obtiene información de un usuario específico por su ID. * + * @param idUser Identificador único del usuario. * @return IResponse con la información del usuario. * @throws AuthException Si la autenticación falla. * @throws GeneralException Si ocurre un error general. * @throws IOException Si hay un error de entrada/salida. */ - public IResponse ObtenerInfoUsuario() throws AuthException, GeneralException, IOException { + public IResponse ObtenerUsuarioPorId(UUID idUser) throws AuthException, GeneralException, IOException { AccountUserOptionsRequest settings = AccountUserOptionsRequest.obtenerUsuarioPorTokenRequest(getToken(), - getURIAPI(), getProxyHost(), - getProxyPort()); - return AccountUserRequest.createGetUserRequest(settings); + getURIAPI(), getProxyHost(), getProxyPort()); + return AccountUserRequest.createGetUserById(settings, idUser); } /** - * Obtiene la información de un usuario específico por su identificador ú - * ico. + * Obtiene un usuario por su RFC. * - * @param idUser Identificador único del usuario. + * @param rfc RFC del usuario. * @return IResponse con la información del usuario. * @throws AuthException Si la autenticación falla. * @throws GeneralException Si ocurre un error general. * @throws IOException Si hay un error de entrada/salida. */ - public IResponse ObtenerInfoUsuarioId(UUID idUser) throws AuthException, GeneralException, IOException { - AccountUserOptionsRequest settings = AccountUserOptionsRequest.usuarioIdRequest(getToken(), getURIAPI(), idUser, - getProxyHost(), getProxyPort()); - return AccountUserRequest.createGetUserIdRequest(settings, idUser); + public IResponse ObtenerUsuarioPorRfc(String rfc) throws AuthException, GeneralException, IOException { + AccountUserOptionsRequest settings = AccountUserOptionsRequest.obtenerUsuarioPorTokenRequest(getToken(), + getURIAPI(), getProxyHost(), getProxyPort()); + return AccountUserRequest.createGetUserByRfc(settings, rfc); + } + + /** + * Obtiene un usuario por su correo electrónico. + * + * @param email Correo electrónico del usuario. + * @return IResponse con la información del usuario. + * @throws AuthException Si la autenticación falla. + * @throws GeneralException Si ocurre un error general. + * @throws IOException Si hay un error de entrada/salida. + */ + public IResponse ObtenerUsuarioPorEmail(String email) throws AuthException, GeneralException, IOException { + AccountUserOptionsRequest settings = AccountUserOptionsRequest.obtenerUsuarioPorTokenRequest(getToken(), + getURIAPI(), getProxyHost(), getProxyPort()); + return AccountUserRequest.createGetUserByEmail(settings, email); + } + + /** + * Obtiene los usuarios activos. + * + * @param isActive Indica si se buscan usuarios activos o inactivos. + * @return IResponse con la lista de usuarios. + * @throws AuthException Si la autenticación falla. + * @throws GeneralException Si ocurre un error general. + * @throws IOException Si hay un error de entrada/salida. + */ + public IResponse ObtenerUsuariosActivos(Boolean isActive) throws AuthException, GeneralException, IOException { + AccountUserOptionsRequest settings = AccountUserOptionsRequest.obtenerUsuarioPorTokenRequest(getToken(), + getURIAPI(), getProxyHost(), getProxyPort()); + return AccountUserRequest.createGetUserByActive(settings, isActive); } } diff --git a/src/main/java/Services/BalanceAccount/SWBalanceAccountService.java b/src/main/java/Services/BalanceAccount/SWBalanceAccountService.java index 1ed9a15..57ed7e3 100644 --- a/src/main/java/Services/BalanceAccount/SWBalanceAccountService.java +++ b/src/main/java/Services/BalanceAccount/SWBalanceAccountService.java @@ -22,22 +22,12 @@ public class SWBalanceAccountService extends SWService { /** * Constructor que requiere credenciales de autenticación para el servicio. - * @param user Nombre de usuario para la autenticación. - * @param password Contraseña para la autenticación. - * @param URI URI base para la autenticación. - * @throws AuthException Si la autenticación falla. - */ - public SWBalanceAccountService(String user, String password, String URI) throws AuthException { - super(user, password, URI); - } - - /** - * Constructor que utiliza un token de autenticación para el servicio. - * @param user Nombre de usuario para la autenticación. - * @param password Contraseña para la autenticación. - * @param URI URI base para la autenticación. - * @param URIAPI URI de la API para el servicio. - * @throws AuthException Si la autenticación falla. + * + * @param user Nombre de usuario para la autenticación. + * @param password Contraseña para la autenticación. + * @param URI URI base para la autenticación. + * @param URIAPI URI base para la autenticación. + * @throws AuthException Si la autenticación falla. */ public SWBalanceAccountService(String user, String password, String URI, String URIAPI) throws AuthException { super(user, password, URI, URIAPI); @@ -45,80 +35,67 @@ public SWBalanceAccountService(String user, String password, String URI, String /** * Constructor que utiliza un token de autenticación para el servicio. - * @param token Token de autenticación. - * @param URI URI base para la autenticación. - * @throws AuthException Si la autenticación falla. - */ - public SWBalanceAccountService(String token, String URI) throws AuthException { - super(token, URI); - } - - /** - * Constructor que utiliza un token de autenticación para el servicio. - * @param user Nombre de usuario para la autenticación. - * @param password Contraseña para la autenticación. - * @param URI URI base para la autenticación. - * @param proxyHost Host del proxy (puede ser nulo). - * @param proxyPort Puerto del proxy. - * @throws AuthException Si la autenticación falla. - */ - public SWBalanceAccountService(String user, String password, String URI, String proxyHost, int proxyPort) throws AuthException { - super(user, password, URI, proxyHost, proxyPort); - } - - /** - * Constructor que utiliza un token de autenticación para el servicio. - * @param token Token de autenticación. - * @param URI URI base para la autenticación. - * @param proxyHost Host del proxy (puede ser nulo). - * @param proxyPort Puerto del proxy. - * @throws AuthException Si la autenticación falla. + * + * @param token Token de autenticación. + * @param URIAPI URI de la API para el servicio. + * @throws AuthException Si la autenticación falla. */ - public SWBalanceAccountService(String token, String URI, String proxyHost, int proxyPort) { - super(token, URI, proxyHost, proxyPort); + public SWBalanceAccountService(String token, String URIAPI) { + super(token, URIAPI); } /** * Obtiene el saldo de la cuenta. - * @return IResponse con el resultado de la operación. + * + * @return IResponse con el resultado de la operación. * @throws AuthException Si la autenticación falla. * @throws GeneralException Si ocurre un error general. * @throws IOException Si hay un error de entrada/salida. */ public IResponse GetBalanceAccount() throws AuthException, GeneralException, IOException { - BalanceAcctOptionsRequest settings = BalanceAcctOptionsRequest.sendRequest(getToken(), getURI(), getProxyHost(), getProxyPort()); + BalanceAcctOptionsRequest settings = BalanceAcctOptionsRequest.sendRequest(getToken(), + getURIAPI() == null ? getURI() : getURIAPI(), + getProxyHost(), getProxyPort()); return BalanceAcctRequest.createBalanceAcctRequest(settings); } /** * Realiza un movimiento de agregar saldo en la cuenta. - * @param idUser ID del usuario. - * @param stamps Número de timbres a agregar o remover. - * @param comment Comentario del movimiento. - * @param action Tipo de movimiento (add). - * @return IResponse con el resultado de la operación. + * + * @param idUser ID del usuario. + * @param stamps Número de timbres a agregar o remover. + * @param comment Comentario del movimiento. + * @param action Tipo de movimiento (add). + * @return IResponse con el resultado de la operación. * @throws AuthException Si la autenticación falla. * @throws GeneralException Si ocurre un error general. * @throws IOException Si hay un error de entrada/salida. */ - public IResponse AddBalanceAccountStamp(UUID idUser, int stamps, String comment) throws AuthException, GeneralException, IOException { - BalanceAcctOptionsRequest settings = BalanceAcctOptionsRequest.balanceAccountStamp(getToken(), getURIAPI() == null ? getURI() : getURIAPI(), idUser, stamps, comment, AccountBalanceAction.Add, getProxyHost(), getProxyPort()); - return BalanceAcctRequest.createBalanceStampRequest(settings, comment); + public IResponse AddBalanceAccountStamp(UUID idUser, int stamps, String comment) + throws AuthException, GeneralException, IOException { + BalanceAcctOptionsRequest settings = BalanceAcctOptionsRequest.balanceAccountStamp(getToken(), + getURIAPI() == null ? getURI() : getURIAPI(), idUser, stamps, comment, AccountBalanceAction.Add, + getProxyHost(), getProxyPort()); + return BalanceAcctRequest.createBalanceStampRequest(settings, "add", stamps, comment); } /** * Realiza un movimiento de elimnar saldo en la cuenta. - * @param idUser ID del usuario. - * @param stamps Número de timbres a agregar o remover. - * @param comment Comentario del movimiento. - * @param action Tipo de movimiento (remove). - * @return IResponse con el resultado de la operación. + * + * @param idUser ID del usuario. + * @param stamps Número de timbres a agregar o remover. + * @param comment Comentario del movimiento. + * @param action Tipo de movimiento (remove). + * @return IResponse con el resultado de la operación. * @throws AuthException Si la autenticación falla. * @throws GeneralException Si ocurre un error general. * @throws IOException Si hay un error de entrada/salida. */ - public IResponse RemoveBalanceAccountStamp(UUID idUser, int stamps, String comment) throws AuthException, GeneralException, IOException { - BalanceAcctOptionsRequest settings = BalanceAcctOptionsRequest.balanceAccountStamp(getToken(), getURIAPI() == null ? getURI() : getURIAPI(), idUser, stamps, comment, AccountBalanceAction.Add, getProxyHost(), getProxyPort()); - return BalanceAcctRequest.createBalanceStampRequest(settings, comment); + public IResponse RemoveBalanceAccountStamp(UUID idUser, int stamps, String comment) + throws AuthException, GeneralException, IOException { + BalanceAcctOptionsRequest settings = BalanceAcctOptionsRequest.balanceAccountStamp(getToken(), + getURIAPI() == null ? getURI() : getURIAPI(), idUser, stamps, comment, AccountBalanceAction.Remove, + getProxyHost(), getProxyPort()); + return BalanceAcctRequest.createBalanceStampRequest(settings, "remove", stamps, comment); } } diff --git a/src/main/java/Services/Pendings/SWPendingsService.java b/src/main/java/Services/Pendings/SWPendingsService.java index b7ca3ab..32eae31 100644 --- a/src/main/java/Services/Pendings/SWPendingsService.java +++ b/src/main/java/Services/Pendings/SWPendingsService.java @@ -2,7 +2,7 @@ import java.io.IOException; -import javax.xml.soap.SOAPException; +import jakarta.xml.soap.SOAPException; import Exceptions.AuthException; import Exceptions.GeneralException; diff --git a/src/main/java/Services/Relations/SWRelationsService.java b/src/main/java/Services/Relations/SWRelationsService.java index a168134..5996462 100644 --- a/src/main/java/Services/Relations/SWRelationsService.java +++ b/src/main/java/Services/Relations/SWRelationsService.java @@ -2,7 +2,7 @@ import java.io.IOException; -import javax.xml.soap.SOAPException; +import jakarta.xml.soap.SOAPException; import Exceptions.AuthException; import Exceptions.GeneralException; diff --git a/src/main/java/Services/SWService.java b/src/main/java/Services/SWService.java index 39f1050..488b740 100644 --- a/src/main/java/Services/SWService.java +++ b/src/main/java/Services/SWService.java @@ -10,6 +10,9 @@ import Utils.Responses.Authentication.SuccessAuthResponse; public abstract class SWService { + static { + System.setProperty("https.protocols", "TLSv1.2"); + } private String URI; private String URIAPI; private String Token = null; diff --git a/src/main/java/Services/StatusCfdi/StatusCfdiService.java b/src/main/java/Services/StatusCfdi/StatusCfdiService.java index a31ca4b..609101a 100644 --- a/src/main/java/Services/StatusCfdi/StatusCfdiService.java +++ b/src/main/java/Services/StatusCfdi/StatusCfdiService.java @@ -2,7 +2,7 @@ import java.io.IOException; -import javax.xml.soap.SOAPException; +import jakarta.xml.soap.SOAPException; import Exceptions.AuthException; import Exceptions.GeneralException; diff --git a/src/main/java/Utils/Constants.java b/src/main/java/Utils/Constants.java index b1c5c03..e97f9b6 100644 --- a/src/main/java/Utils/Constants.java +++ b/src/main/java/Utils/Constants.java @@ -1,8 +1,8 @@ package Utils; public class Constants { - public static String BASE_PATH = "http://services.test.sw.com.mx"; - public static String AUTH_PATH = "/security/authenticate"; + public static String BASE_PATH = "https://services.test.sw.com.mx"; + public static String AUTH_PATH_V2 = "/v2/security/authenticate"; public static String STAMP_PATH = "/cfdi33/stamp/"; public static String STAMP_ZIP_PATH = "/cfdi/stamp/v1/zip/"; public static String STAMP_V2_PATH = "/cfdi33/v2/stamp/"; @@ -18,6 +18,7 @@ public class Constants { public static String CANCELATION_UUID_PATH = "/cfdi33/cancel/"; public static String BALANCE_ACCOUNT_PATH = "/account/balance/"; public static String BALANCE_ACCOUNT_MANAGEMENT_PATH = "/management/api/balance/"; + public static String BALANCE_ACCOUNTV2_MANAGEMENT_PATH = "/management/v2/api/"; public static String VALIDATE_XML_PATH = "/validate/cfdi33"; public static String GENERATE_PDF_PATH = "/pdf/v1/api/GeneratePdf"; public static String ACEPTAR_RECHAZAR_CANCELACION_CSD_PATH = "/acceptreject/csd"; @@ -35,8 +36,6 @@ public class Constants { public static String DISABLE_SEARCH_CSD = "/certificates/"; public static String LIST_CSD = "/certificates"; public static String REGENERATE_PDF = "/pdf/v1/api/regeneratepdf/"; - public static String USUARIOS = "/management/api/users"; - public static String USUARIOS_ID = "/management/api/users/"; - public static String USUARIOS_TOKEN = "/management/api/users/info"; + public static String USUARIOSV2 = "/management/v2/api/dealers/users"; public static String RESEND = "/comprobante/resendemail"; } diff --git a/src/main/java/Utils/Requests/Account/AccountUser/AccountUserFilters.java b/src/main/java/Utils/Requests/Account/AccountUser/AccountUserFilters.java new file mode 100644 index 0000000..db97a85 --- /dev/null +++ b/src/main/java/Utils/Requests/Account/AccountUser/AccountUserFilters.java @@ -0,0 +1,19 @@ +package Utils.Requests.Account.AccountUser; + +public enum AccountUserFilters { + EMAIL("Email"), + TAX_ID("TaxId"), + ID_USER("IdUser"), + IS_ACTIVE("IsActive"); + + private final String queryKey; + + // Constructor correcto + AccountUserFilters(String queryKey) { + this.queryKey = queryKey; + } + + public String getQueryKey() { + return queryKey; + } +} \ No newline at end of file diff --git a/src/main/java/Utils/Requests/Account/AccountUser/AccountUserOptionsRequest.java b/src/main/java/Utils/Requests/Account/AccountUser/AccountUserOptionsRequest.java index ebb7640..a953478 100644 --- a/src/main/java/Utils/Requests/Account/AccountUser/AccountUserOptionsRequest.java +++ b/src/main/java/Utils/Requests/Account/AccountUser/AccountUserOptionsRequest.java @@ -3,25 +3,34 @@ import java.util.UUID; import Utils.Constants; -import Utils.Helpers.EnumAccountUser.AccountUserProfiles; import Utils.Requests.IRequest; /** - * La clase AccountUserOptionsRequest representa las opciones de solicitud para operaciones relacionadas con usuarios de cuentas. - * Extiende la clase IRequest para incluir información común de solicitud. + * La clase AccountUserOptionsRequest representa las opciones de solicitud para + * operaciones relacionadas con usuarios de cuentas. + * Extiende la clase IRequest para incluir información común de solicitud, + * como el token de autenticación, la URI de la API y la configuración de proxy. */ public class AccountUserOptionsRequest extends IRequest { - private String email; - private String passwordUser; - private String name; - private String rfc; - private int stamps; - private AccountUserProfiles profile; - private boolean unlimited; - private boolean active; + private String name; // Nombre del usuario + private String taxId; // RFC o identificación fiscal + private String email; // Correo electrónico del usuario + private int stamps; // Timbres asignados al usuario + private boolean unlimited; // Indicador si el usuario tiene timbres ilimitados + private String passwordUser; // Contraseña del usuario + private String notificationEmail; // Correo para notificaciones + private String phone; // Teléfono del usuario + private UUID idUsuario; // Identificador único del usuario /** - * Constructor privado para crear una instancia de AccountUserOptionsRequest. Utilizado por los métodos estáticos de creación de solicitudes. + * Constructor privado para crear una instancia de AccountUserOptionsRequest. + * Este constructor no puede ser invocado directamente fuera de la clase, ya que + * está diseñado para ser utilizado por los métodos estáticos. + * + * @param token Token de autenticación + * @param URIAPI URI base de la API + * @param proxyHost Host del proxy (si aplica) + * @param proxyPort Puerto del proxy (si aplica) */ private AccountUserOptionsRequest(String token, String URIAPI, String proxyHost, int proxyPort) { super(token, URIAPI, proxyHost, proxyPort); @@ -29,76 +38,139 @@ private AccountUserOptionsRequest(String token, String URIAPI, String proxyHost, /** * Método estático para crear una solicitud de creación de usuario. + * Establece los parámetros necesarios para registrar un nuevo usuario en el sistema. + * + * @param token Token de autenticación + * @param URIAPI URI base de la API + * @param email Correo electrónico del usuario + * @param passwordUser Contraseña del usuario + * @param name Nombre del usuario + * @param taxId RFC o identificación fiscal + * @param stamps Timbres asignados + * @param phone Teléfono del usuario + * @param unlimited Indicador si el usuario tiene timbres ilimitados + * @param notificationEmail Correo para notificaciones + * @param proxyHost Host del proxy + * @param proxyPort Puerto del proxy + * @return Instancia configurada de AccountUserOptionsRequest */ public static AccountUserOptionsRequest crearUsuarioRequest(String token, String URIAPI, String email, - String passwordUser, String name, String rfc, int stamps, AccountUserProfiles profile, - boolean unlimited, boolean active, String proxyHost, int proxyPort) { - return new AccountUserOptionsRequest(token, URIAPI + Constants.USUARIOS, proxyHost, proxyPort) - .crearUsuario(email, passwordUser, name, rfc, stamps, profile, unlimited, active); + String passwordUser, String name, String taxId, int stamps, String phone, + boolean unlimited, String notificationEmail, String proxyHost, int proxyPort) { + return new AccountUserOptionsRequest(token, URIAPI + Constants.USUARIOSV2, proxyHost, proxyPort) + .crearUsuario(email, passwordUser, name, taxId, stamps, phone, unlimited, notificationEmail); } /** * Método estático para crear una solicitud de actualización de usuario. + * Se utiliza para actualizar la información de un usuario existente. + * + * @param token Token de autenticación + * @param URIAPI URI base de la API + * @param idUsuario Identificador único del usuario + * @param name Nuevo nombre del usuario + * @param taxId Nuevo RFC o identificación fiscal + * @param unlimited Indicador si el usuario tiene timbres ilimitados + * @param phone Nuevo teléfono del usuario + * @param notificationEmail Nuevo correo para notificaciones + * @param proxyHost Host del proxy + * @param proxyPort Puerto del proxy + * @return Instancia configurada de AccountUserOptionsRequest */ public static AccountUserOptionsRequest actualizarUsuarioRequest(String token, String URIAPI, UUID idUsuario, - String name, String rfc, boolean unlimited, boolean active, String proxyHost, int proxyPort) { - return new AccountUserOptionsRequest(token, URIAPI + Constants.USUARIOS_ID + idUsuario.toString(), proxyHost, + String name, String taxId, boolean unlimited, String phone, String notificationEmail, String proxyHost, + int proxyPort) { + return new AccountUserOptionsRequest(token, URIAPI + Constants.USUARIOSV2 + "/" + idUsuario.toString(), + proxyHost, proxyPort) - .actualizarUsuario(idUsuario, name, rfc, unlimited, active); + .actualizarUsuario(idUsuario, name, taxId, unlimited, phone, notificationEmail); } /** * Método estático para crear una solicitud de obtención y eliminación de usuario por ID. + * Esta solicitud permite consultar o eliminar un usuario identificado por su UUID. + * + * @param token Token de autenticación + * @param URIAPI URI base de la API + * @param idUsuario Identificador único del usuario + * @param proxyHost Host del proxy + * @param proxyPort Puerto del proxy + * @return Instancia configurada de AccountUserOptionsRequest */ public static AccountUserOptionsRequest usuarioIdRequest(String token, String URIAPI, UUID idUsuario, String proxyHost, int proxyPort) { - return new AccountUserOptionsRequest(token, URIAPI + Constants.USUARIOS_ID + idUsuario.toString(), proxyHost, + return new AccountUserOptionsRequest(token, URIAPI + Constants.USUARIOSV2 + "/" + idUsuario.toString(), + proxyHost, proxyPort); } /** - * Método estático para crear una solicitud paginada de obtención de todos los usuarios. + * Método estático para crear una solicitud de obtención de todos los usuarios. + * + * @param token Token de autenticación + * @param URIAPI URI base de la API + * @param proxyHost Host del proxy + * @param proxyPort Puerto del proxy + * @return Instancia configurada de AccountUserOptionsRequest */ - public static AccountUserOptionsRequest obtenerUsuariosRequest(String token, String URIAPI, int page, - int pageSize, String proxyHost, int proxyPort) { + public static AccountUserOptionsRequest obtenerUsuariosRequest(String token, String URIAPI, String proxyHost, int proxyPort) { return new AccountUserOptionsRequest(token, - URIAPI + Constants.USUARIOS + "?page=" + page + "&pageSize=" + pageSize, proxyHost, proxyPort); + URIAPI + Constants.USUARIOSV2, proxyHost, proxyPort); } /** * Método estático para crear una solicitud de obtención de usuario por token. + * Este método permite obtener la información del usuario autenticado mediante su token. + * + * @param token Token de autenticación + * @param URIAPI URI base de la API + * @param proxyHost Host del proxy + * @param proxyPort Puerto del proxy + * @return Instancia configurada de AccountUserOptionsRequest */ public static AccountUserOptionsRequest obtenerUsuarioPorTokenRequest(String token, String URIAPI, String proxyHost, int proxyPort) { - return new AccountUserOptionsRequest(token, URIAPI + Constants.USUARIOS, proxyHost, proxyPort); + return new AccountUserOptionsRequest(token, URIAPI + Constants.USUARIOSV2, proxyHost, proxyPort); } // Métodos privados para configurar los parámetros específicos de la solicitud. - private AccountUserOptionsRequest crearUsuario(String email, String passwordUser, String name, String rfc, - int stamps, AccountUserProfiles profile, boolean unlimited, boolean active) { + /** + * Configura los parámetros para una solicitud de creación de usuario. + */ + private AccountUserOptionsRequest crearUsuario(String email, String passwordUser, String name, String taxId, + int stamps, String phone, boolean unlimited, String notificationEmail) { this.email = email; this.passwordUser = passwordUser; this.name = name; - this.rfc = rfc; + this.taxId = taxId; this.stamps = stamps; - this.profile = profile; + this.phone = phone; this.unlimited = unlimited; - this.active = active; + this.notificationEmail = notificationEmail; return this; } - private AccountUserOptionsRequest actualizarUsuario(UUID idUsuario, String name, String rfc, boolean unlimited, - boolean active) { + /** + * Configura los parámetros para una solicitud de actualización de usuario. + */ + private AccountUserOptionsRequest actualizarUsuario(UUID idUsuario, String name, String taxId, boolean unlimited, + String phone, String notificationEmail) { + this.idUsuario = idUsuario; this.name = name; - this.rfc = rfc; + this.taxId = taxId; this.unlimited = unlimited; - this.active = active; + this.notificationEmail = notificationEmail; + this.phone = phone; return this; } // Métodos de acceso a los atributos de la solicitud. + public UUID getIdUsuario() { + return idUsuario; + } + public String getEmail() { return email; } @@ -111,23 +183,23 @@ public String getName() { return name; } - public String getRfc() { - return rfc; + public String getTaxId() { + return taxId; } public int getStamps() { return stamps; } - public AccountUserProfiles getProfile() { - return profile; - } - public boolean isUnlimited() { return unlimited; } - public boolean isActive() { - return active; + public String getNotificationEmail() { + return notificationEmail; + } + + public String getPhone() { + return phone; } -} \ No newline at end of file +} diff --git a/src/main/java/Utils/Requests/Account/AccountUser/AccountUserRequest.java b/src/main/java/Utils/Requests/Account/AccountUser/AccountUserRequest.java index 1a75cca..77300eb 100644 --- a/src/main/java/Utils/Requests/Account/AccountUser/AccountUserRequest.java +++ b/src/main/java/Utils/Requests/Account/AccountUser/AccountUserRequest.java @@ -1,7 +1,9 @@ package Utils.Requests.Account.AccountUser; import java.io.IOException; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.UUID; import org.apache.http.client.methods.CloseableHttpResponse; @@ -9,6 +11,7 @@ import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.methods.HttpPut; +import org.apache.http.client.methods.HttpRequestBase; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.json.JSONException; @@ -21,118 +24,139 @@ import Utils.Responses.Account.AccountUser.DataAccountUser; /** - * La clase AccountUserRequest maneja las solicitudes relacionadas con las - * operaciones de usuario de cuentas. - * Utiliza la biblioteca Apache HttpClient para realizar solicitudes HTTP. + * Clase AccountUserRequest para manejar solicitudes HTTP relacionadas con + * usuarios de cuenta. */ - public class AccountUserRequest { + + // Métodos estáticos para solicitudes específicas + public static IResponse createCreateUserRequest(IRequest request) throws GeneralException, AuthException, IOException { - return new AccountUserRequest().createUserRequest(request); + return new AccountUserRequest().createUserRequest(request, DataAccountUser.class); } public static IResponse createUpdateUserRequest(IRequest request, UUID idUser) throws GeneralException, AuthException, IOException { - return new AccountUserRequest().updateUserRequest(request, idUser); + return new AccountUserRequest().updateUserRequest(request, idUser, DataAccountUser.class); } public static IResponse createDeleteUserRequest(IRequest request, UUID idUser) throws GeneralException, AuthException, IOException { - return new AccountUserRequest().deleteUserRequest(request, idUser); + return new AccountUserRequest().deleteUserRequest(request, idUser, String.class); + } + + public static IResponse createGetAllUsersRequest(IRequest request) + throws GeneralException, AuthException, IOException { + return new AccountUserRequest().getUserFiltersRequest(request, new HashMap<>(), List.class); } - public static IResponse createGetAllUsersRequest(IRequest request, int page, int pageSize) + public static IResponse createGetUserById(IRequest request, UUID idUser) throws GeneralException, AuthException, IOException { - return new AccountUserRequest().getAllUsersRequest(request, page, pageSize); + Map filters = new HashMap<>(); + filters.put(AccountUserFilters.ID_USER, idUser.toString()); + return new AccountUserRequest().getUserFiltersRequest(request, filters, List.class); } - public static IResponse createGetUserRequest(IRequest request) throws GeneralException, AuthException, IOException { - return new AccountUserRequest().getUserRequest(request); + public static IResponse createGetUserByEmail(IRequest request, String email) + throws GeneralException, AuthException, IOException { + Map filters = new HashMap<>(); + filters.put(AccountUserFilters.EMAIL, email); + return new AccountUserRequest().getUserFiltersRequest(request, filters, List.class); + } + + public static IResponse createGetUserByRfc(IRequest request, String rfc) + throws GeneralException, AuthException, IOException { + Map filters = new HashMap<>(); + filters.put(AccountUserFilters.TAX_ID, rfc); + return new AccountUserRequest().getUserFiltersRequest(request, filters, List.class); } - public static IResponse createGetUserIdRequest(IRequest request, UUID idUser) + public static IResponse createGetUserByActive(IRequest request, Boolean isActive) throws GeneralException, AuthException, IOException { - return new AccountUserRequest().getUserIdRequest(request, idUser); + Map filters = new HashMap<>(); + filters.put(AccountUserFilters.IS_ACTIVE, isActive.toString()); + return new AccountUserRequest().getUserFiltersRequest(request, filters, List.class); } - private IResponse createUserRequest(IRequest request) throws GeneralException, AuthException, IOException { + // Métodos internos con clases de respuesta específicas + + private IResponse createUserRequest(IRequest request, Class responseClass) + throws GeneralException, AuthException, IOException { try { JSONObject requestJSON = AccountUserRequestHelper.buildUserCreateJson((AccountUserOptionsRequest) request); - CloseableHttpClient client = HttpClients.createDefault(); - HttpPost httpPost = new HttpPost(request.URI); - AccountUserRequestHelper.configureHttpRequest(request, httpPost, requestJSON); - - try (CloseableHttpResponse responseB = client.execute(httpPost)) { - return AccountUserRequestHelper.handleResponse(responseB, String.class); - } + return executePostRequest(request, requestJSON, responseClass); } catch (JSONException e) { - throw new GeneralException(500, "Error en la construcción de la solicitud JSON: " + e.getMessage()); + throw new GeneralException(500, "Error al construir JSON: " + e.getMessage()); } } - private IResponse updateUserRequest(IRequest request, UUID idUser) + private IResponse updateUserRequest(IRequest request, UUID idUser, Class responseClass) throws GeneralException, AuthException, IOException { try { JSONObject requestJSON = AccountUserRequestHelper.buildUserUpdateJson((AccountUserOptionsRequest) request); - CloseableHttpClient client = HttpClients.createDefault(); - HttpPut httpPut = new HttpPut(request.URI); - AccountUserRequestHelper.configureHttpRequest(request, httpPut, requestJSON); - - try (CloseableHttpResponse responseB = client.execute(httpPut)) { - return AccountUserRequestHelper.handleResponse(responseB, String.class); - } + return executePutRequest(request, requestJSON, responseClass); } catch (JSONException e) { - throw new GeneralException(500, "Error en la construcción de la solicitud JSON: " + e.getMessage()); + throw new GeneralException(500, "Error al construir JSON: " + e.getMessage()); } } - private IResponse deleteUserRequest(IRequest request, UUID IdUser) + private IResponse deleteUserRequest(IRequest request, UUID idUser, Class responseClass) throws GeneralException, AuthException, IOException { - try { - CloseableHttpClient client = HttpClients.createDefault(); - HttpDelete httpDelete = new HttpDelete(request.URI); - AccountUserRequestHelper.configureHttpRequest(request, httpDelete, new JSONObject()); - - try (CloseableHttpResponse responseB = client.execute(httpDelete)) { - return AccountUserRequestHelper.handleResponse(responseB, String.class); - } - } catch (JSONException e) { - throw new GeneralException(500, "Error en la construcción de la solicitud JSON: " + e.getMessage()); - } + HttpDelete httpDelete = new HttpDelete(request.URI); + AccountUserRequestHelper.configureHttpRequest(request, httpDelete, new JSONObject()); + return executeHttpRequest(httpDelete, responseClass); } - private IResponse getAllUsersRequest(IRequest request, int page, int pageSize) + private IResponse getUserFiltersRequest(IRequest request, Map filters, + Class responseClass) throws GeneralException, AuthException, IOException { - HttpGet httpGet = new HttpGet(request.URI); - AccountUserRequestHelper.configureHttpRequest(request, httpGet, new JSONObject()); - try (CloseableHttpClient client = HttpClients.createDefault(); - CloseableHttpResponse response = client.execute(httpGet)) { - return AccountUserRequestHelper.handleResponse(response, List.class); - } - } + String uriWithFilters = buildUriWithFilter(request.URI, filters); + HttpGet httpGet = new HttpGet(uriWithFilters); - private IResponse getUserRequest(IRequest request) throws GeneralException, AuthException, IOException { - HttpGet httpGet = new HttpGet(request.URI + "/info"); AccountUserRequestHelper.configureHttpRequest(request, httpGet, new JSONObject()); + return executeHttpRequest(httpGet, responseClass); + } - try (CloseableHttpClient client = HttpClients.createDefault(); - CloseableHttpResponse response = client.execute(httpGet)) { + // Métodos auxiliares - return AccountUserRequestHelper.handleResponse(response, DataAccountUser.class); + private String buildUriWithFilter(String baseUri, Map filters) { + StringBuilder uriBuilder = new StringBuilder(baseUri); + boolean hasQueryParams = false; + + for (Map.Entry filter : filters.entrySet()) { + if (filter.getValue() != null) { // Verifica que el valor del filtro no sea null + uriBuilder.append(hasQueryParams ? "&" : "?") + .append(filter.getKey().getQueryKey()) + .append("=") + .append(filter.getValue()); + hasQueryParams = true; + } } - } - private IResponse getUserIdRequest(IRequest request, UUID idUser) - throws GeneralException, AuthException, IOException { - HttpGet httpGet = new HttpGet(request.URI); - AccountUserRequestHelper.configureHttpRequest(request, httpGet, new JSONObject()); + return uriBuilder.toString(); + } + private IResponse executeHttpRequest(HttpRequestBase requestBase, Class responseClass) + throws IOException, GeneralException { try (CloseableHttpClient client = HttpClients.createDefault(); - CloseableHttpResponse response = client.execute(httpGet)) { - - return AccountUserRequestHelper.handleResponse(response, DataAccountUser.class); + CloseableHttpResponse response = client.execute(requestBase)) { + return AccountUserRequestHelper.handleResponse(response, responseClass); } } + + private IResponse executePostRequest(IRequest request, JSONObject json, Class responseClass) + throws IOException, GeneralException { + HttpPost httpPost = new HttpPost(request.URI); + AccountUserRequestHelper.configureHttpRequest(request, httpPost, json); + return executeHttpRequest(httpPost, responseClass); + } + + private IResponse executePutRequest(IRequest request, JSONObject json, Class responseClass) + throws IOException, GeneralException { + HttpPut httpPut = new HttpPut(request.URI); + AccountUserRequestHelper.configureHttpRequest(request, httpPut, json); + return executeHttpRequest(httpPut, responseClass); + } } diff --git a/src/main/java/Utils/Requests/Account/AccountUser/AccountUserRequestHelper.java b/src/main/java/Utils/Requests/Account/AccountUser/AccountUserRequestHelper.java index 0cbe9d9..3103aeb 100644 --- a/src/main/java/Utils/Requests/Account/AccountUser/AccountUserRequestHelper.java +++ b/src/main/java/Utils/Requests/Account/AccountUser/AccountUserRequestHelper.java @@ -24,7 +24,8 @@ import Utils.Responses.Account.AccountUser.DataAccountUser; /** - * Clase de utilidad que proporciona métodos auxiliares para manejar solicitudes + * Clase de utilidad que proporciona métodos auxiliares para manejar + * olicitudes * y respuestas * relacionadas con usuarios de cuentas. */ @@ -44,8 +45,15 @@ public class AccountUserRequestHelper { protected static AccountUserResponse handleResponse(CloseableHttpResponse response, Class responseType) throws IOException, GeneralException { int status = response.getStatusLine().getStatusCode(); + + // Verifica si el código de estado es 204 (No Content) para la respuesta OK de Delete user + if (status == 204) { + return new AccountUserResponse<>(status, "success", null, "Usuario eliminado correctamente.", ""); + } + String responseString = EntityUtils.toString(response.getEntity(), "UTF-8"); + // Verifica si la respuesta no está vacía y el estado es válido (< 500) if (!responseString.isEmpty() && status < 500) { JSONObject body = new JSONObject(responseString); @@ -70,16 +78,22 @@ protected static AccountUserResponse handleResponse(CloseableHttpResponse return new AccountUserResponse<>(status, body.getString("status"), (T) userList, "OK", "OK"); } + } + if (status == 400) {// Se agrego para manejar las respuesras erroneas de Actualizar y Crear Usuarios + // en la version 2 + String messageDetail = body.optString("messageDetail", ""); + String message = body.optString("message", "Bad Request"); + return new AccountUserResponse<>(status, "error", null, message, messageDetail); } else { String messageDetail = body.optString("messageDetail", ""); - return new AccountUserResponse<>(status, body.getString("status"), null, body.getString("message"), - messageDetail); + String message = body.optString("message", ""); + return new AccountUserResponse<>(status, body.getString("status"), null, message, messageDetail); } } else { + // Maneja el caso donde el contenido no es válido o está vacío return new AccountUserResponse<>(status, "error", null, response.getStatusLine().getReasonPhrase(), responseString); } - return null; } /** @@ -94,11 +108,11 @@ protected static JSONObject buildUserCreateJson(AccountUserOptionsRequest accoun requestJSON.put("email", accountUserOptionsRequest.getEmail()); requestJSON.put("password", accountUserOptionsRequest.getPassword()); requestJSON.put("name", accountUserOptionsRequest.getName()); - requestJSON.put("rfc", accountUserOptionsRequest.getRfc()); - requestJSON.put("profile", accountUserOptionsRequest.getProfile().getValue()); + requestJSON.put("taxId", accountUserOptionsRequest.getTaxId()); + requestJSON.put("phone", accountUserOptionsRequest.getPhone()); requestJSON.put("stamps", accountUserOptionsRequest.getStamps()); - requestJSON.put("unlimited", accountUserOptionsRequest.isUnlimited()); - requestJSON.put("active", accountUserOptionsRequest.isActive()); + requestJSON.put("isUnlimited", accountUserOptionsRequest.isUnlimited()); + requestJSON.put("notificationEmail", accountUserOptionsRequest.getNotificationEmail()); return requestJSON; } @@ -111,12 +125,14 @@ protected static JSONObject buildUserCreateJson(AccountUserOptionsRequest accoun * @return Objeto JSON representando la solicitud de actualización de usuario. */ - protected static JSONObject buildUserUpdateJson(AccountUserOptionsRequest accountUserOptionsRequest) { + protected static JSONObject buildUserUpdateJson(AccountUserOptionsRequest accountUserOptionsRequest) { JSONObject requestJSON = new JSONObject(); + requestJSON.put("idUser", accountUserOptionsRequest.getIdUsuario()); requestJSON.put("name", accountUserOptionsRequest.getName()); - requestJSON.put("rfc", accountUserOptionsRequest.getRfc()); + requestJSON.put("taxId", accountUserOptionsRequest.getTaxId()); requestJSON.put("unlimited", accountUserOptionsRequest.isUnlimited()); - requestJSON.put("active", accountUserOptionsRequest.isActive()); + requestJSON.put("phone", accountUserOptionsRequest.getPhone()); + requestJSON.put("notificationEmail", accountUserOptionsRequest.getNotificationEmail()); return requestJSON; } @@ -127,37 +143,32 @@ protected static JSONObject buildUserUpdateJson(AccountUserOptionsRequest accoun * @return Objeto DataAccountUser creado a partir del JSON. */ - protected static DataAccountUser UserData(JSONObject userData) { - String email = userData.optString("email", null); - String password = userData.optString("password", null); - String nombre = userData.optString("nombre", null); - String apellidoPaterno = userData.optString("apellidoPaterno", null); - String apellidoMaterno = userData.optString("apellidoMaterno", null); - String username = userData.optString("username", null); - String fechaUltimoPassword = userData.optString("fechaUltimoPassword", null); - String telefono = userData.optString("telefono", null); - boolean administrador = userData.optBoolean("administrador"); - String profileValue = userData.optString("profileValue", null); + protected static DataAccountUser UserData(JSONObject userData) { String idUsuario = userData.optString("idUsuario", null); - String idCliente = userData.optString("idCliente", null); - String stamps = userData.optString("stamps", null); - boolean unlimited = userData.optBoolean("unlimited"); + String idDealer = userData.optString("idDealer", null); + String name = userData.optString("name", null); + String taxId = userData.optString("taxId", null); + String username = userData.optString("username", null); + String lastPasswordChange = userData.optString("lastPasswordChange", null); + String email = userData.optString("email", null); + String notificationEmail = userData.optString("notificationEmail", null); + boolean isAdmin = userData.optBoolean("isAdmin"); int profile = userData.optInt("profile"); - boolean activo = userData.optBoolean("activo"); + boolean isActive = userData.optBoolean("isActive"); String registeredDate = userData.optString("registeredDate", null); - boolean eliminado = userData.optBoolean("eliminado"); - String tokenAccess = userData.optString("tokenAccess", null); - String tokenAccessHash = userData.optString("tokenAccessHash", null); + String accessToken = userData.optString("accessToken", null); + String phone = userData.optString("phone", null); + String stamps = userData.optString("stamps", null); + boolean isUnlimited = userData.optBoolean("isUnlimited"); return new DataAccountUser( - email, password, nombre, apellidoPaterno, apellidoMaterno, username, - fechaUltimoPassword, telefono, administrador, profileValue, idUsuario, - idCliente, stamps, unlimited, profile, activo, registeredDate, - eliminado, tokenAccess, tokenAccessHash); + idUsuario, idDealer, name, taxId, username, lastPasswordChange, email, notificationEmail, + isAdmin, profile, isActive, registeredDate, accessToken, phone, stamps, isUnlimited); } /** - * Configura la solicitud HTTP con la información proporcionada en la IRequest y + * Configura la solicitud HTTP con la información proporcionada en la IRequest + * * el JSON de la solicitud. * * @param request Información de la solicitud. @@ -165,7 +176,7 @@ protected static DataAccountUser UserData(JSONObject userData) { * @param requestJSON Objeto JSON que contiene la información de la solicitud. */ - protected static void configureHttpRequest(IRequest request, HttpRequestBase httpRequest, JSONObject requestJSON) { + protected static void configureHttpRequest(IRequest request, HttpRequestBase httpRequest, JSONObject requestJSON) { try { RequestHelper.setTimeOut(request.options, 5000); RequestHelper.setProxy(request.options, request.proxyHost, request.proxyPort); diff --git a/src/main/java/Utils/Requests/Authentication/AuthOptionsRequest.java b/src/main/java/Utils/Requests/Authentication/AuthOptionsRequest.java index 4602bd5..8b5a229 100644 --- a/src/main/java/Utils/Requests/Authentication/AuthOptionsRequest.java +++ b/src/main/java/Utils/Requests/Authentication/AuthOptionsRequest.java @@ -6,6 +6,8 @@ public class AuthOptionsRequest extends IRequest { private String ProxyHost = null; private String PortHost = null; + private String User; + private String Password; public void setProxyHost(String proxyHost) { ProxyHost = proxyHost; @@ -14,10 +16,23 @@ public void setProxyHost(String proxyHost) { public void setPortHost(String portHost) { PortHost = portHost; } + public void setUser(String user) { + User = user; + } + + public void setPassword(String password) { + Password = password; + } + public AuthOptionsRequest(String URI, String user, String password, String proxyHost, int proxyPort) { - super(URI+ Constants.AUTH_PATH, user, password, proxyHost, proxyPort); + super(URI+ Constants.AUTH_PATH_V2, user, password, proxyHost, proxyPort); // Llama al constructor de SWService para inicializar correctamente + this.ProxyHost = proxyHost; + this.PortHost = String.valueOf(proxyPort); // Guarda el puerto como un string + this.User = user; + this.Password = password; } + public String getProxyHost() { return ProxyHost; @@ -26,4 +41,11 @@ public String getProxyHost() { public String getPortHost() { return PortHost; } + public String getUser() { + return User; + } + + public String getPassword() { + return Password; + } } diff --git a/src/main/java/Utils/Requests/Authentication/AuthRequest.java b/src/main/java/Utils/Requests/Authentication/AuthRequest.java index 8cd9551..b6f075a 100644 --- a/src/main/java/Utils/Requests/Authentication/AuthRequest.java +++ b/src/main/java/Utils/Requests/Authentication/AuthRequest.java @@ -11,61 +11,84 @@ import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.entity.mime.HttpMultipartMode; +import org.apache.http.entity.mime.MultipartEntityBuilder; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; +import org.apache.http.message.BasicHeader; import org.apache.http.util.EntityUtils; import org.json.JSONException; import org.json.JSONObject; import java.io.IOException; +import java.nio.charset.Charset; public class AuthRequest implements IRequestor { public IResponse sendRequest(IRequest request) throws GeneralException, AuthException, IOException { + try { + // Verificar que los campos necesarios no estén vacíos + if (RequestHelper.stringEmptyOrNull(((AuthOptionsRequest) request).getUser()) + || RequestHelper.stringEmptyOrNull(((AuthOptionsRequest) request).getPassword())) { + return new SuccessAuthResponse(400, "error", null, 0, + "El usuario o contraseña proporcionados están vacíos", null); + } + String messageDetail = ""; - if (request.URI.isEmpty()){ - throw new GeneralException(400,"URL VACIA"); - } + // Crear JSON de la solicitud + JSONObject requestJSON = new JSONObject(); + requestJSON.put("user", ((AuthOptionsRequest) request).getUser()); + requestJSON.put("password", ((AuthOptionsRequest) request).getPassword()); - String messageDetail = ""; - try { - CloseableHttpClient client = HttpClients.createDefault(); - HttpPost httppost = new HttpPost(request.URI); - httppost.setHeader("user", request.User); - httppost.addHeader("password", request.Password); - RequestHelper.setTimeOut(request.options, 3000); - RequestHelper.setProxy(request.options, request.proxyHost, request.proxyPort); - httppost.setConfig(request.options.build()); + // Configuración de la solicitud HTTP + CloseableHttpClient client = HttpClients.createDefault(); + HttpPost httppost = new HttpPost(request.URI); + RequestHelper.setTimeOut(request.options, requestJSON.toString().length()); + RequestHelper.setProxy(request.options, request.proxyHost, request.proxyPort); + httppost.setConfig(request.options.build()); + httppost.addHeader(new BasicHeader("Content-Type", "application/json")); + + // Enviar los datos en el cuerpo de la solicitud + MultipartEntityBuilder builder = MultipartEntityBuilder.create(); + builder.setCharset(Charset.forName("UTF-8")); + builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); + StringEntity sEntity = new StringEntity(requestJSON.toString()); + httppost.setEntity(sEntity); + + // Ejecutar la solicitud y procesar la respuesta CloseableHttpResponse responseB = client.execute(httppost); HttpEntity entity = responseB.getEntity(); String responseString = EntityUtils.toString(entity, "UTF-8"); int status = responseB.getStatusLine().getStatusCode(); + + // Cerrar conexiones client.close(); responseB.close(); - if(!responseString.isEmpty() && status < 500) { - JSONObject body = new JSONObject(responseString); - if(!body.isNull("messageDetail")){ - messageDetail = body.getString("messageDetail"); - } - if(status==200){ - JSONObject data = body.getJSONObject("data"); - return new SuccessAuthResponse(status,body.getString("status"),data.getString("token"),data.getInt("expires_in"),"OK","OK"); - } - else{ - return new SuccessAuthResponse(status,body.getString("status"),"",0,body.getString("message"),messageDetail); + // Manejo de la respuesta + if (!responseString.isEmpty() && status < 500) { + JSONObject body = new JSONObject(responseString); + if (!body.isNull("messageDetail")) { + messageDetail = body.getString("messageDetail"); + } - } - } - else{ - return new SuccessAuthResponse(status,"error","",0,responseB.getStatusLine().getReasonPhrase(), responseString); + if (status == 200) { + JSONObject data = body.getJSONObject("data"); + return new SuccessAuthResponse(status, body.getString("status"), data.getString("token"), + data.getInt("expires_in"), "OK", "OK"); + } else { + return new SuccessAuthResponse(status, body.getString("status"), "", 0, body.getString("message"), + messageDetail); + + } + } else { + return new SuccessAuthResponse(status, "error", "", 0, responseB.getStatusLine().getReasonPhrase(), + responseString); } - } catch(JSONException e){ - throw new GeneralException(500,e.getMessage()); + } catch (JSONException e) { + throw new GeneralException(500, e.getMessage()); } - - } - -} \ No newline at end of file +} diff --git a/src/main/java/Utils/Requests/BalanceAccount/BalanceAcctOptionsRequest.java b/src/main/java/Utils/Requests/BalanceAccount/BalanceAcctOptionsRequest.java index a6878a3..5f22072 100644 --- a/src/main/java/Utils/Requests/BalanceAccount/BalanceAcctOptionsRequest.java +++ b/src/main/java/Utils/Requests/BalanceAccount/BalanceAcctOptionsRequest.java @@ -21,22 +21,26 @@ public class BalanceAcctOptionsRequest extends IRequest { * Constructor privado para crear una instancia de BalanceAcctOptionsRequest. * Utilizado por los métodos estáticos de creación de solicitudes. */ - private BalanceAcctOptionsRequest(String token, String URI, String proxyHost, int proxyPort) { - super(token, URI, proxyHost, proxyPort); + private BalanceAcctOptionsRequest(String token, String URIAPI, String proxyHost, int proxyPort) { + super(token, URIAPI, proxyHost, proxyPort); } /** * Método estático para crear una solicitud de obtención de saldo de cuenta. */ - public static BalanceAcctOptionsRequest sendRequest(String token, String URI, String proxyHost, int proxyPort) { - return new BalanceAcctOptionsRequest(token, URI + Constants.BALANCE_ACCOUNT_PATH, proxyHost, proxyPort); + public static BalanceAcctOptionsRequest sendRequest(String token, String URIAPI, String proxyHost, int proxyPort) { + return new BalanceAcctOptionsRequest(token, URIAPI + Constants.BALANCE_ACCOUNTV2_MANAGEMENT_PATH + "users/balance", + proxyHost, proxyPort); } /** * Método estático para crear una solicitud de movimiento de saldo de cuenta. */ - public static BalanceAcctOptionsRequest balanceAccountStamp(String token, String URI, UUID idUser, int stamps, String comment, AccountBalanceAction action, String proxyHost, int proxyPort) { - return new BalanceAcctOptionsRequest(token, URI + Constants.BALANCE_ACCOUNT_MANAGEMENT_PATH + "/" + idUser + "/" + action + "/" + stamps , proxyHost, proxyPort); + public static BalanceAcctOptionsRequest balanceAccountStamp(String token, String URIAPI, UUID idUser, int stamps, + String comment, AccountBalanceAction action, String proxyHost, int proxyPort) { + return new BalanceAcctOptionsRequest(token, + URIAPI + Constants.BALANCE_ACCOUNTV2_MANAGEMENT_PATH + "dealers/users" + "/" + idUser + "/stamps", + proxyHost, proxyPort); } /** diff --git a/src/main/java/Utils/Requests/BalanceAccount/BalanceAcctRequest.java b/src/main/java/Utils/Requests/BalanceAccount/BalanceAcctRequest.java index 8d05236..2232a6d 100644 --- a/src/main/java/Utils/Requests/BalanceAccount/BalanceAcctRequest.java +++ b/src/main/java/Utils/Requests/BalanceAccount/BalanceAcctRequest.java @@ -4,14 +4,13 @@ import Exceptions.GeneralException; import Utils.Helpers.RequestHelper; import Utils.Requests.IRequest; -import Utils.Requests.IRequestor; import Utils.Responses.IResponse; import Utils.Responses.BalanceAccount.BalanceAcctResponse; - import java.io.IOException; - +import java.net.URI; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpEntityEnclosingRequestBase; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; @@ -27,47 +26,85 @@ * Utiliza la biblioteca Apache HttpClient para realizar solicitudes HTTP. */ public class BalanceAcctRequest { - public static IResponse createBalanceAcctRequest(IRequest request) throws GeneralException, AuthException, IOException { + public static IResponse createBalanceAcctRequest(IRequest request) + throws GeneralException, AuthException, IOException { return new BalanceAcctRequest().balanceAcctRequest(request); } - public static IResponse createBalanceStampRequest(IRequest request, String comment) throws GeneralException, AuthException, IOException { - return new BalanceAcctRequest().balanceAcctStampRequest(request, comment); + public static IResponse createBalanceStampRequest(IRequest request, String action, int stamps, String comment) + throws GeneralException, AuthException, IOException { + return new BalanceAcctRequest().balanceAcctStampRequest(request, action, stamps, comment); } private IResponse balanceAcctRequest(IRequest request) throws GeneralException, AuthException, IOException { try { - CloseableHttpClient client = HttpClients.createDefault(); - HttpGet httpget = new HttpGet(request.URI); - httpget.setHeader("Authorization", "bearer " + request.Token); - RequestHelper.setTimeOut(request.options, 3500); - RequestHelper.setProxy(request.options, request.proxyHost, request.proxyPort); - httpget.setConfig(request.options.build()); - CloseableHttpResponse responseB = client.execute(httpget); - HttpEntity entity = responseB.getEntity(); + CloseableHttpClient client = HttpClients.createDefault(); + HttpGet httpget = new HttpGet(request.URI); + httpget.setHeader("Authorization", "bearer " + request.Token); + RequestHelper.setTimeOut(request.options, 3500); + RequestHelper.setProxy(request.options, request.proxyHost, request.proxyPort); + httpget.setConfig(request.options.build()); + CloseableHttpResponse responseB = client.execute(httpget); + HttpEntity entity = responseB.getEntity(); String responseString = EntityUtils.toString(entity, "UTF-8"); int status = responseB.getStatusLine().getStatusCode(); client.close(); responseB.close(); - if(!responseString.isEmpty() && status < 500) { + if (!responseString.isEmpty() && status < 500) { JSONObject body = new JSONObject(responseString); if (status == 200) { JSONObject data = body.getJSONObject("data"); - return new BalanceAcctResponse(status, body.getString("status"), - data.getString("idSaldoCliente"), data.getString("idClienteUsuario"), data.getInt("saldoTimbres"), data.getInt("timbresUtilizados"), - data.get("fechaExpiracion").toString(), data.getBoolean("unlimited"), data.getInt("timbresAsignados"),"OK","OK"); - } - else { + // Asegúrate de obtener correctamente los nuevos campos, incluyendo la + // subestructura "lastTransaction". + return new BalanceAcctResponse( + status, + body.getString("status"), + data.getString("idUserBalance"), + data.getString("idUser"), + data.getInt("stampsBalance"), + data.getInt("stampsUsed"), + data.getInt("stampsAssigned"), + data.getBoolean("isUnlimited"), + data.get("expirationDate") != null ? data.get("expirationDate").toString() : null, + // Agregar la subestructura de la transacción + new BalanceAcctResponse.LastTransaction( + data.getJSONObject("lastTransaction").getInt("folio"), + data.getJSONObject("lastTransaction").getString("idUser"), + data.getJSONObject("lastTransaction").getString("idUserReceiver"), + data.getJSONObject("lastTransaction").getString("nameReceiver"), + data.getJSONObject("lastTransaction").has("stampsIn") + && !data.getJSONObject("lastTransaction").isNull("stampsIn") + ? data.getJSONObject("lastTransaction").getInt("stampsIn") + : null, + data.getJSONObject("lastTransaction").has("stampsOut") + && !data.getJSONObject("lastTransaction").isNull("stampsOut") + ? data.getJSONObject("lastTransaction").getInt("stampsOut") + : null, + data.getJSONObject("lastTransaction").has("stampsCurrent") + && !data.getJSONObject("lastTransaction").isNull("stampsCurrent") + ? data.getJSONObject("lastTransaction").getInt("stampsCurrent") + : null, + data.getJSONObject("lastTransaction").has("comment") + && !data.getJSONObject("lastTransaction").isNull("comment") + ? data.getJSONObject("lastTransaction").getString("comment") + : null, + data.getJSONObject("lastTransaction").getString("date"), + data.getJSONObject("lastTransaction").getBoolean("isEmailSent")), + "OK", "OK"); + + } else { String messageDetail = ""; if (!body.isNull("messageDetail")) { messageDetail = body.getString("messageDetail"); } - return new BalanceAcctResponse(status, body.getString("status"), body.getString("message"), messageDetail); + return new BalanceAcctResponse(status, body.getString("status"), body.getString("message"), + messageDetail); } } else { - return new BalanceAcctResponse(status, "error", responseB.getStatusLine().getReasonPhrase(), responseString); + return new BalanceAcctResponse(status, "error", responseB.getStatusLine().getReasonPhrase(), + responseString); } } catch (JSONException e) { @@ -75,44 +112,58 @@ private IResponse balanceAcctRequest(IRequest request) throws GeneralException, } } - private IResponse balanceAcctStampRequest (IRequest request, String comment) throws GeneralException, AuthException, IOException { - try { - CloseableHttpClient client = HttpClients.createDefault(); - HttpPost httpPost = new HttpPost(request.URI); - httpPost.setHeader("Authorization", "Bearer " + request.Token); - httpPost.setHeader("Content-Type", "application/json"); + private IResponse balanceAcctStampRequest(IRequest request, String action, int stamps, String comment) + throws GeneralException, AuthException, IOException { + try (CloseableHttpClient client = HttpClients.createDefault()) { + HttpEntityEnclosingRequestBase httpRequest; + + if ("add".equalsIgnoreCase(action)) { + httpRequest = new HttpPost(request.URI); + } else if ("remove".equalsIgnoreCase(action)) { + httpRequest = new HttpDeleteWithBody(request.URI); + } else { + throw new IllegalArgumentException("Acción no válida: " + action); + } + httpRequest.setHeader("Authorization", "bearer " + request.Token); + httpRequest.setHeader("Content-Type", "application/json"); RequestHelper.setTimeOut(request.options, 3500); RequestHelper.setProxy(request.options, request.proxyHost, request.proxyPort); - httpPost.setConfig(request.options.build()); - + httpRequest.setConfig(request.options.build()); JSONObject json = new JSONObject(); - json.put("Comentario", comment); - - StringEntity entity = new StringEntity(json.toString()); - httpPost.setEntity(entity); - - CloseableHttpResponse responseB = client.execute(httpPost); - - int status = responseB.getStatusLine().getStatusCode(); - String responseString = EntityUtils.toString(responseB.getEntity(), "UTF-8"); - JSONObject body = new JSONObject(responseString); - - client.close(); - responseB.close(); - - if (status == 200) { - return new BalanceAcctResponse(status, body.getString("status"), body.getString("data"), ""); - }else{ - String messageDetail = ""; + json.put("stamps", stamps); + json.put("comment", comment); + httpRequest.setEntity(new StringEntity(json.toString())); + try (CloseableHttpResponse response = client.execute(httpRequest)) { + int status = response.getStatusLine().getStatusCode(); + String responseString = EntityUtils.toString(response.getEntity(), "UTF-8"); + JSONObject body = new JSONObject(responseString); - if (!body.isNull("messageDetail")) { - messageDetail = body.getString("messageDetail"); + if (status == 200) { + return new BalanceAcctResponse(status, body.getString("status"), + "Nuevo saldo: " + body.getInt("data"), ""); + } else { + String messageDetail = body.optString("messageDetail", ""); + return new BalanceAcctResponse(status, body.getString("status"), body.getString("message"), + messageDetail); } - return new BalanceAcctResponse(status, body.getString("status"), body.getString("message"), messageDetail); } - } catch (JSONException e) { throw new GeneralException(500, e.getMessage()); } } + + class HttpDeleteWithBody extends HttpEntityEnclosingRequestBase { + public static final String METHOD_NAME = "DELETE"; + + public HttpDeleteWithBody(final String uri) { + super(); + setURI(URI.create(uri)); + } + + @Override + public String getMethod() { + return METHOD_NAME; + } + } + } \ No newline at end of file diff --git a/src/main/java/Utils/Requests/IRequestor.java b/src/main/java/Utils/Requests/IRequestor.java index 01e14fa..6e5e823 100644 --- a/src/main/java/Utils/Requests/IRequestor.java +++ b/src/main/java/Utils/Requests/IRequestor.java @@ -2,7 +2,7 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; -import javax.xml.soap.SOAPException; +import jakarta.xml.soap.SOAPException; import org.apache.http.client.ClientProtocolException; import Exceptions.AuthException; import Exceptions.GeneralException; diff --git a/src/main/java/Utils/Requests/StatusCfdi/StatusCancelationRequest.java b/src/main/java/Utils/Requests/StatusCfdi/StatusCancelationRequest.java index 888e24e..7c755a2 100644 --- a/src/main/java/Utils/Requests/StatusCfdi/StatusCancelationRequest.java +++ b/src/main/java/Utils/Requests/StatusCfdi/StatusCancelationRequest.java @@ -3,17 +3,17 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; -import javax.xml.soap.MessageFactory; -import javax.xml.soap.MimeHeaders; -import javax.xml.soap.SOAPBody; -import javax.xml.soap.SOAPConnection; -import javax.xml.soap.SOAPConnectionFactory; -import javax.xml.soap.SOAPElement; -import javax.xml.soap.SOAPEnvelope; -import javax.xml.soap.SOAPException; -import javax.xml.soap.SOAPFault; -import javax.xml.soap.SOAPMessage; -import javax.xml.soap.SOAPPart; +import jakarta.xml.soap.MessageFactory; +import jakarta.xml.soap.MimeHeaders; +import jakarta.xml.soap.SOAPBody; +import jakarta.xml.soap.SOAPConnection; +import jakarta.xml.soap.SOAPConnectionFactory; +import jakarta.xml.soap.SOAPElement; +import jakarta.xml.soap.SOAPEnvelope; +import jakarta.xml.soap.SOAPException; +import jakarta.xml.soap.SOAPFault; +import jakarta.xml.soap.SOAPMessage; +import jakarta.xml.soap.SOAPPart; import org.apache.http.client.ClientProtocolException; import org.w3c.dom.Node; diff --git a/src/main/java/Utils/Responses/Account/AccountUser/DataAccountUser.java b/src/main/java/Utils/Responses/Account/AccountUser/DataAccountUser.java index 0c88ba8..13bc783 100644 --- a/src/main/java/Utils/Responses/Account/AccountUser/DataAccountUser.java +++ b/src/main/java/Utils/Responses/Account/AccountUser/DataAccountUser.java @@ -5,55 +5,47 @@ */ public class DataAccountUser { // Atributos que representan la información de una cuenta - public String email; - public String password; + public String idUsuario; + public String idDealer; public String name; - public String apellidoPaterno; - public String apellidoMaterno; + public String taxId; public String username; - public String fechaUltimoPassword; - public String telefono; - public boolean administrador; - public String profileValue; - public String idUsuario; - public String idCliente; - public String stamps; - public boolean unlimited; + public String lastPasswordChange; + public String email; + public String notificationEmail; + public boolean isAdmin; public int profile; - public boolean activo; + public boolean isActive; public String registeredDate; - public boolean eliminado; - public String tokenAccess; - public String tokenAccessHash; + public String accessToken; + public String phone; + public String stamps; + public boolean isUnlimited; /** - * Constructor que inicializa una instancia de DataAccountUser con la información de la cuenta. + * Constructor que inicializa una instancia de DataAccountUser con la + * información de la cuenta. */ - public DataAccountUser(String email, String password, String name, String apellidoPaterno, - String apellidoMaterno, String username, String fechaUltimoPassword, String telefono, - boolean administrador, String profileValue, String idUsuario, String idCliente, String stamps, - boolean unlimited, int profile, boolean activo, String registeredDate, boolean eliminado, - String tokenAccess, String tokenAccessHash) { - this.email = email; - this.password = password; + public DataAccountUser(String idUsuario, String idDealer, String name, String taxId, String username, + String lastPasswordChange, String email, String notificationEmail, boolean isAdmin, + int profile, boolean isActive, String registeredDate, String accessToken, + String phone, String stamps, boolean isUnlimited) { + this.idUsuario = idUsuario; + this.idDealer = idDealer; this.name = name; - this.apellidoPaterno = apellidoPaterno; - this.apellidoMaterno = apellidoMaterno; + this.taxId = taxId; this.username = username; - this.fechaUltimoPassword = fechaUltimoPassword; - this.telefono = telefono; - this.administrador = administrador; - this.profileValue = profileValue; - this.idUsuario = idUsuario; - this.idCliente = idCliente; - this.stamps = stamps; - this.unlimited = unlimited; + this.lastPasswordChange = lastPasswordChange; + this.email = email; + this.notificationEmail = notificationEmail; + this.isAdmin = isAdmin; this.profile = profile; - this.activo = activo; + this.isActive = isActive; this.registeredDate = registeredDate; - this.eliminado = eliminado; - this.tokenAccess = tokenAccess; - this.tokenAccessHash = tokenAccessHash; + this.accessToken = accessToken; + this.phone = phone; + this.stamps = stamps; + this.isUnlimited = isUnlimited; } } diff --git a/src/main/java/Utils/Responses/BalanceAccount/BalanceAcctResponse.java b/src/main/java/Utils/Responses/BalanceAccount/BalanceAcctResponse.java index 18d2629..73bca59 100644 --- a/src/main/java/Utils/Responses/BalanceAccount/BalanceAcctResponse.java +++ b/src/main/java/Utils/Responses/BalanceAccount/BalanceAcctResponse.java @@ -3,28 +3,66 @@ import Utils.Responses.IResponse; public class BalanceAcctResponse extends IResponse { - public String idSaldoCliente; - public String idClienteUsuario; - public int saldoTimbres; - public int timbresUtilizados; - public String fechaExpiracion; - public boolean unlimited; - public int timbresAsignados; + // Datos principales + public String idUserBalance; + public String idUser; + public int stampsBalance; + public int stampsUsed; + public int stampsAssigned; + public boolean isUnlimited; + public String expirationDate; - public BalanceAcctResponse(int httpStatusCode, String status, String idSaldoCliente, String idClienteUsuario, - int saldoTimbres, int timbresUtilizados, String fechaExpiracion, boolean unlimited, int timbresAsignados, - String msg, String msgDetail) { - super(httpStatusCode, status, msg, msgDetail); - this.idSaldoCliente = idSaldoCliente; - this.idClienteUsuario = idClienteUsuario; - this.saldoTimbres = saldoTimbres; - this.timbresUtilizados = timbresUtilizados; - this.fechaExpiracion = fechaExpiracion; - this.unlimited = unlimited; - this.timbresAsignados = timbresAsignados; - } + // Subestructura de la transacción + public LastTransaction lastTransaction; - public BalanceAcctResponse(int httpStatusCode, String status, String msg, String msgDetail) { - super(httpStatusCode, status, msg, msgDetail); - } + // Constructor completo + public BalanceAcctResponse(int httpStatusCode, String status, String idUserBalance, String idUser, + int stampsBalance, int stampsUsed, int stampsAssigned, boolean isUnlimited, + String expirationDate, LastTransaction lastTransaction, + String msg, String msgDetail) { + super(httpStatusCode, status, msg, msgDetail); + this.idUserBalance = idUserBalance; + this.idUser = idUser; + this.stampsBalance = stampsBalance; + this.stampsUsed = stampsUsed; + this.stampsAssigned = stampsAssigned; + this.isUnlimited = isUnlimited; + this.expirationDate = expirationDate; + this.lastTransaction = lastTransaction; + } + + // Constructor sin los datos de la transacción + public BalanceAcctResponse(int httpStatusCode, String status, String msg, String msgDetail) { + super(httpStatusCode, status, msg, msgDetail); + } + + // Clase interna para la transacción + public static class LastTransaction { + public int folio; + public String idUser; + public String idUserReceiver; + public String nameReceiver; + public Integer stampsIn; + public Integer stampsOut; // Usamos Integer para poder representar 'null' en el JSON + public Integer stampsCurrent; + public String comment; + public String date; + public boolean isEmailSent; + + // Constructor de la transacción + public LastTransaction(int folio, String idUser, String idUserReceiver, String nameReceiver, + int stampsIn, Integer stampsOut, int stampsCurrent, String comment, String date, + boolean isEmailSent) { + this.folio = folio; + this.idUser = idUser; + this.idUserReceiver = idUserReceiver; + this.nameReceiver = nameReceiver; + this.stampsIn = stampsIn; + this.stampsOut = stampsOut; + this.stampsCurrent = stampsCurrent; + this.comment = comment; + this.date = date; + this.isEmailSent = isEmailSent; + } + } } diff --git a/src/test/java/Tests/Account/AccountUser/SWAccountUserServiceTest.java b/src/test/java/Tests/Account/AccountUser/SWAccountUserServiceTest.java index 46d8c06..b586fcf 100644 --- a/src/test/java/Tests/Account/AccountUser/SWAccountUserServiceTest.java +++ b/src/test/java/Tests/Account/AccountUser/SWAccountUserServiceTest.java @@ -8,7 +8,6 @@ import Services.Account.AccountUser.SWAccountUserService; import Tests.Utils; -import Utils.Helpers.EnumAccountUser.AccountUserProfiles; import Utils.Responses.Account.AccountUser.AccountUserResponse; import Utils.Responses.Account.AccountUser.DataAccountUser; @@ -17,17 +16,18 @@ public class SWAccountUserServiceTest { @Test public void CrearUsuario_Success() throws Exception { try { - SWAccountUserService app = new SWAccountUserService(Utils.userSW, Utils.passwordSW, Utils.urlSW, - Utils.urlApiSW, - null, 0); + SWAccountUserService app = new SWAccountUserService(Utils.tokenSW, Utils.urlApiSW, null, 0); AccountUserResponse response = null; - response = (AccountUserResponse) app.CrearUsuario("hijoJava16_" + Utils.userSW.toString(), - Utils.passwordSW + "$", "Prueba SW Java 1.6", Utils.rfc, 1, AccountUserProfiles.Hijo, false, true); + String newUser = "hijoJava16__" + Utils.userSW.toString(); + response = (AccountUserResponse) app.CrearUsuario(newUser, + Utils.passwordSW + "$", "Prueba SW Java 1.6", Utils.rfc, 1, "3920000000", false, + "notification@email.com"); Assert.assertNotNull(response.HttpStatusCode); Assert.assertNotNull(response.Status); Assert.assertNotNull(response.message); Assert.assertNotNull(response.messageDetail); - Assert.assertTrue(response.Status.equals("success") || response.message.equals("AU1001Usuario ya existe.")); + Assert.assertTrue(response.Status.equals("success") + || response.message.equals("El email '" + newUser + "' ya esta en uso.")); } catch (Exception e) { } } @@ -36,13 +36,16 @@ public void CrearUsuario_Success() throws Exception { public void CrearUsuario_Success_Token() throws Exception { SWAccountUserService app = new SWAccountUserService(Utils.tokenSW, Utils.urlApiSW, null, 0); AccountUserResponse response = null; - response = (AccountUserResponse) app.CrearUsuario("hijoJava16__" + Utils.userSW.toString(), - Utils.passwordSW + "$", "Prueba SW Java 1.6", Utils.rfc, 1, AccountUserProfiles.Hijo, false, true); + String newUser = "hijoJava16__" + Utils.userSW.toString(); + response = (AccountUserResponse) app.CrearUsuario(newUser, + Utils.passwordSW + "$", "Prueba SW Java 1.6", Utils.rfc, 1, "3920000000", false, + "notification@email.com"); Assert.assertNotNull(response.HttpStatusCode); Assert.assertNotNull(response.Status); Assert.assertNotNull(response.message); Assert.assertNotNull(response.messageDetail); - Assert.assertTrue(response.Status.equals("success") || response.message.equals("AU1001Usuario ya existe.")); + Assert.assertTrue(response.Status.equals("success") + || response.message.equals("El email '" + newUser + "' ya esta en uso.")); } @Test @@ -50,7 +53,8 @@ public void CrearUsuario_Error_Token() throws Exception { SWAccountUserService app = new SWAccountUserService("Token...", Utils.urlApiSW, null, 0); AccountUserResponse response = null; response = (AccountUserResponse) app.CrearUsuario("hijoJava16__" + Utils.userSW.toString(), - Utils.passwordSW + "$", "Prueba SW Java 1.6", Utils.rfc, 1, AccountUserProfiles.Hijo, false, true); + Utils.passwordSW + "$", "Prueba SW Java 1.6", Utils.rfc, 1, "3920000000", false, + "notification@email.com"); Assert.assertNotNull(response.HttpStatusCode); Assert.assertNotNull(response.Status); Assert.assertNotNull(response.message); @@ -64,7 +68,7 @@ public void CrearUsuario_Error_Contra() throws Exception { AccountUserResponse response = null; response = (AccountUserResponse) app.CrearUsuario("hijoJava16__" + Utils.userSW.toString(), Utils.passwordSW, - "Prueba SW Java 1.6", Utils.rfc, 1, AccountUserProfiles.Hijo, false, true); + "Prueba SW Java 1.6", Utils.rfc, 1, "3920000000", false, "notification@email.com"); Assert.assertNotNull(response.HttpStatusCode); Assert.assertNotNull(response.Status); Assert.assertNotNull(response.message); @@ -79,7 +83,7 @@ public void ActualizarUsuario_Error_UsuarioDiferente() throws Exception { AccountUserResponse response = null; response = (AccountUserResponse) app.ActualizarUsuario( UUID.fromString("be2a859c-cd5f-42b5-b35d-f065b3a9aac4"), - "prueba actualizada nombre", "XXXE0101010", false, true); + "prueba actualizada nombre", "XXXE0101010", false, "3920000000", "correo@email.com"); Assert.assertNotNull(response.HttpStatusCode); Assert.assertNotNull(response.Status); Assert.assertNotNull(response.message); @@ -89,18 +93,18 @@ public void ActualizarUsuario_Error_UsuarioDiferente() throws Exception { @Test public void ActualizarUsuario_Success() throws Exception { - SWAccountUserService app = new SWAccountUserService("hijoJava16__" + Utils.userSW, Utils.passwordSW + "$", + SWAccountUserService app = new SWAccountUserService(Utils.userSW, Utils.passwordSW, Utils.urlSW, Utils.urlApiSW, null, 0); AccountUserResponse response = null; response = (AccountUserResponse) app.ActualizarUsuario( - UUID.fromString("be2a859c-cd5f-42b5-b35d-f065b3a9aac4"), - "prueba actualizada nombre", "XXXE0101010", false, true); + UUID.fromString("85B28EA4-0970-4B53-A6C4-D0F57216E934"), + "prueba actualizada nombre", "EKU9003173C9", false, "3120000000", "correo1@email.com"); Assert.assertNotNull(response.HttpStatusCode); - Assert.assertNotNull(response.data); Assert.assertNotNull(response.Status); Assert.assertNotNull(response.message); Assert.assertNotNull(response.messageDetail); - Assert.assertTrue(response.Status.equals("success")); + Assert.assertTrue(response.Status.equals("success") || response.message + .equals("No es posible actualizar, los datos enviados son identicos a los actuales")); } @Test @@ -108,7 +112,36 @@ public void EliminarUsuario_Error_NoEncontrado() throws Exception { SWAccountUserService app = new SWAccountUserService(Utils.userSW, Utils.passwordSW, Utils.urlSW, Utils.urlApiSW, null, 0); AccountUserResponse response = null; - response = (AccountUserResponse) app.EliminarUsuario(UUID.fromString("dec88273-6587-4f1e-9673-317b30e07aab")); + response = (AccountUserResponse) app + .EliminarUsuario(UUID.fromString("dec88273-6587-4f1e-9673-317b30e07aab")); + Assert.assertNotNull(response.HttpStatusCode); + Assert.assertNotNull(response.Status); + Assert.assertNotNull(response.message); + Assert.assertNotNull(response.messageDetail); + Assert.assertTrue(response.Status.equals("error")); + } + + @Test + public void EliminarUsuario_Error_NoPertenecealDealer() throws Exception { + SWAccountUserService app = new SWAccountUserService(Utils.userSW, Utils.passwordSW, Utils.urlSW, Utils.urlApiSW, + null, 0); + AccountUserResponse response = null; + response = (AccountUserResponse) app + .EliminarUsuario(UUID.fromString("2c4ff198-0512-4128-a85d-41e8aedaa0d6")); + Assert.assertNotNull(response.HttpStatusCode); + Assert.assertNotNull(response.Status); + Assert.assertNotNull(response.message); + Assert.assertNotNull(response.messageDetail); + Assert.assertTrue(response.Status.equals("error")); + } + + @Test + public void EliminarUsuario_Error_NoSePuedeEliminarPorqueTieneSaldo() throws Exception { + SWAccountUserService app = new SWAccountUserService(Utils.userSW, Utils.passwordSW, Utils.urlSW, Utils.urlApiSW, + null, 0); + AccountUserResponse response = null; + response = (AccountUserResponse) app + .EliminarUsuario(UUID.fromString("be2a859c-cd5f-42b5-b35d-f065b3a9aac4")); Assert.assertNotNull(response.HttpStatusCode); Assert.assertNotNull(response.Status); Assert.assertNotNull(response.message); @@ -121,47 +154,50 @@ public void EliminarUsuario_Success() throws Exception { SWAccountUserService app = new SWAccountUserService(Utils.userSW, Utils.passwordSW, Utils.urlSW, Utils.urlApiSW, null, 0); AccountUserResponse response = null; - response = (AccountUserResponse) app.EliminarUsuario(UUID.fromString("dec88273-6587-4f1e-9673-317b30e07aab")); + response = (AccountUserResponse) app + .EliminarUsuario(UUID.fromString("4522ae3c-681b-4129-9dea-516178ca4f84")); Assert.assertNotNull(response.HttpStatusCode); Assert.assertNotNull(response.Status); Assert.assertNotNull(response.message); Assert.assertNotNull(response.messageDetail); Assert.assertTrue( - response.Status.equals("success") || response.message.equals("No se encuentra registro de usuario")); + response.Status.equals("success") + || response.message.equals("El usuario ya ha sido previamente removido")); } @Test public void EliminarUsuario_Token_Success() throws Exception { SWAccountUserService app = new SWAccountUserService(Utils.tokenSW, Utils.urlApiSW, null, 0); AccountUserResponse response = null; - response = (AccountUserResponse) app.EliminarUsuario(UUID.fromString("dec88273-6587-4f1e-9673-317b30e07aab")); + response = (AccountUserResponse) app + .EliminarUsuario(UUID.fromString("dec88273-6587-4f1e-9673-317b30e07aab")); Assert.assertNotNull(response.HttpStatusCode); Assert.assertNotNull(response.Status); Assert.assertNotNull(response.message); Assert.assertNotNull(response.messageDetail); Assert.assertTrue( - response.Status.equals("success") || response.message.equals("No se encuentra registro de usuario")); + response.Status.equals("success") + || response.message.equals("El usuario ya ha sido previamente removido")); } @Test - public void ListaUsuarios_Success() throws Exception { + public void TodosUsuariosHijo_Success() throws Exception { SWAccountUserService app = new SWAccountUserService(Utils.userSW, Utils.passwordSW, Utils.urlSW, Utils.urlApiSW, null, 0); AccountUserResponse> response = null; - response = (AccountUserResponse>) app.ObtenerUsuarios(1, 10); + response = (AccountUserResponse>) app.ObtenerUsuariosHijo(); List lista = response.data; if (lista != null) { for (int i = 0; i < lista.size(); i++) { DataAccountUser dato = lista.get(i); System.out.println("Email: " + dato.email); - System.out.println("Password: " + dato.password); System.out.println("Nombre: " + dato.name); System.out.println("Perfil: " + dato.profile); System.out.println("Stamps: " + dato.stamps); System.out.println("idUsuario: " + dato.idUsuario); - System.out.println("Rfc: " + dato.apellidoPaterno); - System.out.println("Ilimitado: " + dato.unlimited); - System.out.println("Activo: " + dato.activo + "\n"); + System.out.println("Rfc: " + dato.taxId); + System.out.println("Ilimitado: " + dato.isUnlimited); + System.out.println("Activo: " + dato.isActive + "\n"); } } Assert.assertNotNull(response.HttpStatusCode); @@ -172,23 +208,22 @@ public void ListaUsuarios_Success() throws Exception { } @Test - public void ListaUsuarios_Token_Success() throws Exception { + public void TodosUsuariosHijo_Token_Success() throws Exception { SWAccountUserService app = new SWAccountUserService(Utils.tokenSW, Utils.urlApiSW, null, 0); AccountUserResponse> response = null; - response = (AccountUserResponse>) app.ObtenerUsuarios(1, 10); + response = (AccountUserResponse>) app.ObtenerUsuariosHijo(); List lista = response.data; if (lista != null) { for (int i = 0; i < lista.size(); i++) { DataAccountUser dato = lista.get(i); System.out.println("Email: " + dato.email); - System.out.println("Password: " + dato.password); System.out.println("Nombre: " + dato.name); System.out.println("Perfil: " + dato.profile); System.out.println("Stamps: " + dato.stamps); System.out.println("idUsuario: " + dato.idUsuario); - System.out.println("Rfc: " + dato.apellidoPaterno); - System.out.println("Ilimitado: " + dato.unlimited); - System.out.println("Activo: " + dato.activo + "\n"); + System.out.println("Rfc: " + dato.taxId); + System.out.println("Ilimitado: " + dato.isUnlimited); + System.out.println("Activo: " + dato.isActive + "\n"); } } Assert.assertNotNull(response.HttpStatusCode); @@ -199,23 +234,22 @@ public void ListaUsuarios_Token_Success() throws Exception { } @Test - public void ListaUsuarios_Token_Error() throws Exception { + public void TodosUsuariosHijo_Token_Error() throws Exception { SWAccountUserService app = new SWAccountUserService("Token...", Utils.urlApiSW, null, 0); AccountUserResponse> response = null; - response = (AccountUserResponse>) app.ObtenerUsuarios(1, 10); + response = (AccountUserResponse>) app.ObtenerUsuariosHijo(); List lista = response.data; if (lista != null) { for (int i = 0; i < lista.size(); i++) { DataAccountUser dato = lista.get(i); System.out.println("Email: " + dato.email); - System.out.println("Password: " + dato.password); System.out.println("Nombre: " + dato.name); System.out.println("Perfil: " + dato.profile); System.out.println("Stamps: " + dato.stamps); System.out.println("idUsuario: " + dato.idUsuario); - System.out.println("Rfc: " + dato.apellidoPaterno); - System.out.println("Ilimitado: " + dato.unlimited); - System.out.println("Activo: " + dato.activo + "\n"); + System.out.println("Rfc: " + dato.taxId); + System.out.println("Ilimitado: " + dato.isUnlimited); + System.out.println("Activo: " + dato.isActive + "\n"); } } Assert.assertNotNull(response.HttpStatusCode); @@ -226,21 +260,23 @@ public void ListaUsuarios_Token_Error() throws Exception { } @Test - public void ObtenerUsuario_Token_Success() throws Exception { + public void UsuariosPorRFC_Token_Success() throws Exception { SWAccountUserService app = new SWAccountUserService(Utils.tokenSW, Utils.urlApiSW, null, 0); - AccountUserResponse response = null; - response = (AccountUserResponse) app.ObtenerInfoUsuario(); - DataAccountUser usuario = response.data; - if (usuario != null) { - System.out.println("Email: " + usuario.email); - System.out.println("Password: " + usuario.password); - System.out.println("Nombre: " + usuario.name); - System.out.println("Perfil: " + usuario.profile); - System.out.println("Stamps: " + usuario.stamps); - System.out.println("idUsuario: " + usuario.idUsuario); - System.out.println("Rfc: " + usuario.apellidoPaterno); - System.out.println("Ilimitado: " + usuario.unlimited); - System.out.println("Activo: " + usuario.activo + "\n"); + AccountUserResponse> response = null; + response = (AccountUserResponse>) app.ObtenerUsuarioPorRfc("EKU9003173C9"); + List lista = response.data; + if (lista != null) { + for (int i = 0; i < lista.size(); i++) { + DataAccountUser dato = lista.get(i); + System.out.println("Email: " + dato.email); + System.out.println("Nombre: " + dato.name); + System.out.println("Perfil: " + dato.profile); + System.out.println("Stamps: " + dato.stamps); + System.out.println("idUsuario: " + dato.idUsuario); + System.out.println("Rfc: " + dato.taxId); + System.out.println("Ilimitado: " + dato.isUnlimited); + System.out.println("Activo: " + dato.isActive + "\n"); + } } Assert.assertNotNull(response.HttpStatusCode); Assert.assertNotNull(response.Status); @@ -250,71 +286,75 @@ public void ObtenerUsuario_Token_Success() throws Exception { } @Test - public void ObtenerUsuario_Success() throws Exception { - SWAccountUserService app = new SWAccountUserService(Utils.userSW, Utils.passwordSW, Utils.urlSW, Utils.urlApiSW, - null, 0); - AccountUserResponse response = null; - response = (AccountUserResponse) app.ObtenerInfoUsuario(); - DataAccountUser usuario = response.data; - if (usuario != null) { - System.out.println("Email: " + usuario.email); - System.out.println("Password: " + usuario.password); - System.out.println("Nombre: " + usuario.name); - System.out.println("Perfil: " + usuario.profile); - System.out.println("Stamps: " + usuario.stamps); - System.out.println("idUsuario: " + usuario.idUsuario); - System.out.println("Rfc: " + usuario.apellidoPaterno); - System.out.println("Ilimitado: " + usuario.unlimited); - System.out.println("Activo: " + usuario.activo + "\n"); + public void UsuariosPorRFC_Token_Error() throws Exception { + SWAccountUserService app = new SWAccountUserService("WrongToken...", Utils.urlApiSW, null, 0); + AccountUserResponse> response = null; + response = (AccountUserResponse>) app.ObtenerUsuarioPorRfc("EKU9003173C9"); + List lista = response.data; + if (lista != null) { + for (int i = 0; i < lista.size(); i++) { + DataAccountUser dato = lista.get(i); + System.out.println("Email: " + dato.email); + System.out.println("Nombre: " + dato.name); + System.out.println("Perfil: " + dato.profile); + System.out.println("Stamps: " + dato.stamps); + System.out.println("idUsuario: " + dato.idUsuario); + System.out.println("Rfc: " + dato.taxId); + System.out.println("Ilimitado: " + dato.isUnlimited); + System.out.println("Activo: " + dato.isActive + "\n"); + } } Assert.assertNotNull(response.HttpStatusCode); Assert.assertNotNull(response.Status); Assert.assertNotNull(response.message); Assert.assertNotNull(response.messageDetail); - Assert.assertTrue(response.Status.equals("success")); + Assert.assertTrue(response.Status.equals("error")); } @Test - public void ObtenerUsuario_Token_Error() throws Exception { - SWAccountUserService app = new SWAccountUserService("Token...", Utils.urlApiSW, null, 0); - AccountUserResponse response = null; - response = (AccountUserResponse) app.ObtenerInfoUsuario(); - DataAccountUser usuario = response.data; - if (usuario != null) { - System.out.println("Email: " + usuario.email); - System.out.println("Password: " + usuario.password); - System.out.println("Nombre: " + usuario.name); - System.out.println("Perfil: " + usuario.profile); - System.out.println("Stamps: " + usuario.stamps); - System.out.println("idUsuario: " + usuario.idUsuario); - System.out.println("Rfc: " + usuario.apellidoPaterno); - System.out.println("Ilimitado: " + usuario.unlimited); - System.out.println("Activo: " + usuario.activo + "\n"); + public void UsuariosActivos_Token_Success() throws Exception { + SWAccountUserService app = new SWAccountUserService(Utils.tokenSW, Utils.urlApiSW, null, 0); + AccountUserResponse> response = null; + response = (AccountUserResponse>) app.ObtenerUsuariosActivos(true); + List lista = response.data; + if (lista != null) { + for (int i = 0; i < lista.size(); i++) { + DataAccountUser dato = lista.get(i); + System.out.println("Email: " + dato.email); + System.out.println("Nombre: " + dato.name); + System.out.println("Perfil: " + dato.profile); + System.out.println("Stamps: " + dato.stamps); + System.out.println("idUsuario: " + dato.idUsuario); + System.out.println("Rfc: " + dato.taxId); + System.out.println("Ilimitado: " + dato.isUnlimited); + System.out.println("Activo: " + dato.isActive + "\n"); + } } Assert.assertNotNull(response.HttpStatusCode); Assert.assertNotNull(response.Status); Assert.assertNotNull(response.message); Assert.assertNotNull(response.messageDetail); - Assert.assertTrue(response.Status.equals("error")); + Assert.assertTrue(response.Status.equals("success")); } @Test - public void ObtenerUsuarioId_Token_Success() throws Exception { + public void UsuariosNoActivos_Token_Success() throws Exception { SWAccountUserService app = new SWAccountUserService(Utils.tokenSW, Utils.urlApiSW, null, 0); - AccountUserResponse response = null; - response = (AccountUserResponse) app - .ObtenerInfoUsuarioId(UUID.fromString("be2a859c-cd5f-42b5-b35d-f065b3a9aac4")); - DataAccountUser usuario = response.data; - if (usuario != null) { - System.out.println("Email: " + usuario.email); - System.out.println("Password: " + usuario.password); - System.out.println("Nombre: " + usuario.name); - System.out.println("Perfil: " + usuario.profile); - System.out.println("Stamps: " + usuario.stamps); - System.out.println("idUsuario: " + usuario.idUsuario); - System.out.println("Rfc: " + usuario.apellidoPaterno); - System.out.println("Ilimitado: " + usuario.unlimited); - System.out.println("Activo: " + usuario.activo + "\n"); + AccountUserResponse> response = null; + response = (AccountUserResponse>) app.ObtenerUsuariosActivos(false); + List lista = response.data; + if (lista != null) { + for (int i = 0; i < lista.size(); i++) { + DataAccountUser dato = lista.get(i); + System.out.println("Email: " + dato.email); + System.out.println("Nombre: " + dato.name); + System.out.println("Perfil: " + dato.profile); + System.out.println("Stamps: " + dato.stamps); + System.out.println("idUsuario: " + dato.idUsuario); + System.out.println("Rfc: " + dato.taxId); + System.out.println("Ilimitado: " + dato.isUnlimited); + System.out.println("Activo: " + dato.isActive + "\n"); + } } Assert.assertNotNull(response.HttpStatusCode); Assert.assertNotNull(response.Status); @@ -324,23 +364,49 @@ public void ObtenerUsuarioId_Token_Success() throws Exception { } @Test - public void ObtenerUsuarioId_Success() throws Exception { - SWAccountUserService app = new SWAccountUserService(Utils.userSW, Utils.passwordSW, Utils.urlSW, Utils.urlApiSW, - null, 0); - AccountUserResponse response = null; - response = (AccountUserResponse) app - .ObtenerInfoUsuarioId(UUID.fromString("be2a859c-cd5f-42b5-b35d-f065b3a9aac4")); - DataAccountUser usuario = response.data; - if (usuario != null) { - System.out.println("Email: " + usuario.email); - System.out.println("Password: " + usuario.password); - System.out.println("Nombre: " + usuario.name); - System.out.println("Perfil: " + usuario.profile); - System.out.println("Stamps: " + usuario.stamps); - System.out.println("idUsuario: " + usuario.idUsuario); - System.out.println("Rfc: " + usuario.apellidoPaterno); - System.out.println("Ilimitado: " + usuario.unlimited); - System.out.println("Activo: " + usuario.activo + "\n"); + public void UsuariosActivos_Token_Error() throws Exception { + SWAccountUserService app = new SWAccountUserService("WrongToken...", Utils.urlApiSW, null, 0); + AccountUserResponse> response = null; + response = (AccountUserResponse>) app.ObtenerUsuarioPorRfc("EKU9003173C9"); + List lista = response.data; + if (lista != null) { + for (int i = 0; i < lista.size(); i++) { + DataAccountUser dato = lista.get(i); + System.out.println("Email: " + dato.email); + System.out.println("Nombre: " + dato.name); + System.out.println("Perfil: " + dato.profile); + System.out.println("Stamps: " + dato.stamps); + System.out.println("idUsuario: " + dato.idUsuario); + System.out.println("Rfc: " + dato.taxId); + System.out.println("Ilimitado: " + dato.isUnlimited); + System.out.println("Activo: " + dato.isActive + "\n"); + } + } + Assert.assertNotNull(response.HttpStatusCode); + Assert.assertNotNull(response.Status); + Assert.assertNotNull(response.message); + Assert.assertNotNull(response.messageDetail); + Assert.assertTrue(response.Status.equals("error")); + } + + @Test + public void UsuariosPorEmail_Token_Success() throws Exception { + SWAccountUserService app = new SWAccountUserService(Utils.tokenSW, Utils.urlApiSW, null, 0); + AccountUserResponse> response = null; + response = (AccountUserResponse>) app.ObtenerUsuarioPorEmail(Utils.userSW); + List lista = response.data; + if (lista != null) { + for (int i = 0; i < lista.size(); i++) { + DataAccountUser dato = lista.get(i); + System.out.println("Email: " + dato.email); + System.out.println("Nombre: " + dato.name); + System.out.println("Perfil: " + dato.profile); + System.out.println("Stamps: " + dato.stamps); + System.out.println("idUsuario: " + dato.idUsuario); + System.out.println("Rfc: " + dato.taxId); + System.out.println("Ilimitado: " + dato.isUnlimited); + System.out.println("Activo: " + dato.isActive + "\n"); + } } Assert.assertNotNull(response.HttpStatusCode); Assert.assertNotNull(response.Status); @@ -350,28 +416,29 @@ public void ObtenerUsuarioId_Success() throws Exception { } @Test - public void ObtenerUsuarioId_Token_Error() throws Exception { - SWAccountUserService app = new SWAccountUserService("Token...", Utils.urlApiSW, null, 0); - AccountUserResponse response = null; - response = (AccountUserResponse) app - .ObtenerInfoUsuarioId(UUID.fromString("be2a859c-cd5f-42e6-b35d-f065b3a9aac4")); - DataAccountUser usuario = response.data; - if (usuario != null) { - System.out.println("Email: " + usuario.email); - System.out.println("Password: " + usuario.password); - System.out.println("Nombre: " + usuario.name); - System.out.println("Perfil: " + usuario.profile); - System.out.println("Stamps: " + usuario.stamps); - System.out.println("idUsuario: " + usuario.idUsuario); - System.out.println("Rfc: " + usuario.apellidoPaterno); - System.out.println("Ilimitado: " + usuario.unlimited); - System.out.println("Activo: " + usuario.activo + "\n"); + public void UsuariosPorId_Token_Success() throws Exception { + SWAccountUserService app = new SWAccountUserService(Utils.tokenSW, Utils.urlApiSW, null, 0); + AccountUserResponse> response = null; + response = (AccountUserResponse>) app.ObtenerUsuarioPorId(UUID.fromString("be2a859c-cd5f-42b5-b35d-f065b3a9aac4")); + List lista = response.data; + if (lista != null) { + for (int i = 0; i < lista.size(); i++) { + DataAccountUser dato = lista.get(i); + System.out.println("Email: " + dato.email); + System.out.println("Nombre: " + dato.name); + System.out.println("Perfil: " + dato.profile); + System.out.println("Stamps: " + dato.stamps); + System.out.println("idUsuario: " + dato.idUsuario); + System.out.println("Rfc: " + dato.taxId); + System.out.println("Ilimitado: " + dato.isUnlimited); + System.out.println("Activo: " + dato.isActive + "\n"); + } } Assert.assertNotNull(response.HttpStatusCode); Assert.assertNotNull(response.Status); Assert.assertNotNull(response.message); Assert.assertNotNull(response.messageDetail); - Assert.assertTrue(response.Status.equals("error")); + Assert.assertTrue(response.Status.equals("success")); } } diff --git a/src/test/java/Tests/Authentication/SWAuthenticationServiceTest.java b/src/test/java/Tests/Authentication/SWAuthenticationServiceTest.java index c0628b2..e0ae4e0 100644 --- a/src/test/java/Tests/Authentication/SWAuthenticationServiceTest.java +++ b/src/test/java/Tests/Authentication/SWAuthenticationServiceTest.java @@ -11,10 +11,10 @@ import Exceptions.GeneralException; public class SWAuthenticationServiceTest { - @Test - public void testAuth(){ + @Test + public void testAuth() { try { - SWAuthenticationService auth = new SWAuthenticationService(Utils.userSW, Utils.passwordSW, Utils.urlSW); + SWAuthenticationService auth = new SWAuthenticationService(Utils.userSW, Utils.passwordSW, Utils.urlSW); SuccessAuthResponse res = (SuccessAuthResponse) auth.Token(); String expected = "success"; System.out.println(res.token); @@ -23,22 +23,23 @@ public void testAuth(){ System.out.println(res.messageDetail); Assert.assertTrue(expected.equalsIgnoreCase(res.Status)); } catch (Exception e) { - Assert.fail(e.getMessage()); + Assert.fail(e.getMessage()); } } - @Test - public void testBadAuth(){ + + @Test + public void testBadAuth() { try { - SWAuthenticationService auth = new SWAuthenticationService(Utils.userSW, Utils.passwordSW, Utils.urlSW); + SWAuthenticationService auth = new SWAuthenticationService(Utils.userSW, Utils.passwordSW, Utils.urlSW); auth.Token(); } catch (AuthException e) { System.out.println(e.getErrorMSG()); System.out.println(e.getHttpStatusCode()); Assert.assertTrue(true); } catch (GeneralException e) { - Assert.fail(e.getMessage()); - } catch (IOException e) { - Assert.fail(e.getMessage()); - } + Assert.fail(e.getMessage()); + } catch (IOException e) { + Assert.fail(e.getMessage()); + } } } diff --git a/src/test/java/Tests/BalanceAccount/SWBalanceAccountServiceTest.java b/src/test/java/Tests/BalanceAccount/SWBalanceAccountServiceTest.java index 74b56f4..cf36b83 100644 --- a/src/test/java/Tests/BalanceAccount/SWBalanceAccountServiceTest.java +++ b/src/test/java/Tests/BalanceAccount/SWBalanceAccountServiceTest.java @@ -5,94 +5,124 @@ import Services.BalanceAccount.SWBalanceAccountService; import Tests.Utils; import Utils.Responses.BalanceAccount.BalanceAcctResponse; -import Utils.Helpers.EnumBalanceStamp.AccountBalanceAction; import java.io.IOException; import java.util.UUID; import org.junit.Assert; import org.junit.Test; - public class SWBalanceAccountServiceTest { @Test public void testBalanceAccountService() throws AuthException, GeneralException, IOException { - SWBalanceAccountService app = new SWBalanceAccountService(Utils.userSW, Utils.passwordSW, Utils.urlSW); + SWBalanceAccountService app = new SWBalanceAccountService(Utils.userSW, Utils.passwordSW, Utils.urlSW, + Utils.urlApiSW); BalanceAcctResponse response = (BalanceAcctResponse) app.GetBalanceAccount(); System.out.println(response.Status); System.out.println(response.HttpStatusCode); - System.out.println(response.idSaldoCliente); - System.out.println(response.idClienteUsuario); - System.out.println(response.saldoTimbres); - System.out.println(response.timbresUtilizados); - System.out.println(response.fechaExpiracion); - System.out.println(response.unlimited); - System.out.println(response.timbresAsignados); + System.out.println(response.idUserBalance); + System.out.println(response.idUser); + System.out.println(response.stampsBalance); + System.out.println(response.stampsUsed); + System.out.println(response.expirationDate); + System.out.println(response.isUnlimited); + System.out.println(response.stampsAssigned); + if (response.lastTransaction != null) { + System.out.println("Folio: " + response.lastTransaction.folio); + System.out.println("ID Usuario: " + response.lastTransaction.idUser); + System.out.println("ID Usuario Receptor: " + response.lastTransaction.idUserReceiver); + System.out.println("Nombre Receptor: " + response.lastTransaction.nameReceiver); + System.out.println("Stamps In: " + response.lastTransaction.stampsIn); + System.out.println("Stamps Out: " + + (response.lastTransaction.stampsOut != null ? response.lastTransaction.stampsOut : "null")); + System.out.println("Stamps Current: " + response.lastTransaction.stampsCurrent); + System.out.println("Comentario: " + response.lastTransaction.comment); + System.out.println("Fecha: " + response.lastTransaction.date); + System.out.println("Email Enviado: " + response.lastTransaction.isEmailSent); + } else { + System.out.println("No hay transacción disponible."); + } String expect_status = "success"; Assert.assertTrue(expect_status.equalsIgnoreCase(response.Status)); } + @Test public void testBalanceAccountService_authToken() throws Exception { - SWBalanceAccountService app = new SWBalanceAccountService(Utils.tokenSW, Utils.urlSW); + SWBalanceAccountService app = new SWBalanceAccountService(Utils.tokenSW, Utils.urlApiSW); BalanceAcctResponse response = (BalanceAcctResponse) app.GetBalanceAccount(); System.out.println(response.Status); System.out.println(response.HttpStatusCode); - System.out.println(response.idSaldoCliente); - System.out.println(response.idClienteUsuario); - System.out.println(response.saldoTimbres); - System.out.println(response.timbresUtilizados); - System.out.println(response.fechaExpiracion); - System.out.println(response.unlimited); - System.out.println(response.timbresAsignados); + System.out.println(response.idUserBalance); + System.out.println(response.idUser); + System.out.println(response.stampsBalance); + System.out.println(response.stampsUsed); + System.out.println(response.expirationDate); + System.out.println(response.isUnlimited); + System.out.println(response.stampsAssigned); + if (response.lastTransaction != null) { + System.out.println("Folio: " + response.lastTransaction.folio); + System.out.println("ID Usuario: " + response.lastTransaction.idUser); + System.out.println("ID Usuario Receptor: " + response.lastTransaction.idUserReceiver); + System.out.println("Nombre Receptor: " + response.lastTransaction.nameReceiver); + System.out.println("Stamps In: " + response.lastTransaction.stampsIn); + System.out.println("Stamps Out: " + + (response.lastTransaction.stampsOut != null ? response.lastTransaction.stampsOut : "null")); + System.out.println("Stamps Current: " + response.lastTransaction.stampsCurrent); + System.out.println("Comentario: " + response.lastTransaction.comment); + System.out.println("Fecha: " + response.lastTransaction.date); + System.out.println("Email Enviado: " + response.lastTransaction.isEmailSent); + } else { + System.out.println("No hay transacción disponible."); + } String expect_status = "success"; Assert.assertTrue(expect_status.equalsIgnoreCase(response.Status)); } + @Test public void testBalanceAccountService_incorrectToken() { - try { - SWBalanceAccountService app = new SWBalanceAccountService("wrong token", Utils.urlSW); + try { + SWBalanceAccountService app = new SWBalanceAccountService("wrong token", Utils.urlSW); BalanceAcctResponse response = (BalanceAcctResponse) app.GetBalanceAccount(); System.out.println(response.Status); System.out.println(response.HttpStatusCode); - System.out.println(response.idSaldoCliente); - System.out.println(response.idClienteUsuario); - System.out.println(response.saldoTimbres); - System.out.println(response.timbresUtilizados); - System.out.println(response.fechaExpiracion); - System.out.println(response.unlimited); - System.out.println(response.timbresAsignados); - Assert.assertTrue(response.HttpStatusCode == 401); - } - catch(AuthException e) { - Assert.fail(); - } catch (GeneralException e) { - Assert.fail(); - } catch (IOException e) { - Assert.fail(); - } - } - @Test - public void testBalanceAccountService_emptyUserParams(){ - try { - SWBalanceAccountService app = new SWBalanceAccountService("", "", ""); - app.GetBalanceAccount(); - } - catch(AuthException e) { - System.out.println(e.getErrorMSG()); - System.out.println(e.getHttpStatusCode()); - Assert.assertTrue(true); - } catch (GeneralException e) { - Assert.fail(); - } catch (IOException e) { - Assert.fail(); - } + System.out.println(response.idUserBalance); + System.out.println(response.idUser); + System.out.println(response.stampsBalance); + System.out.println(response.stampsUsed); + System.out.println(response.expirationDate); + System.out.println(response.isUnlimited); + System.out.println(response.stampsAssigned); + if (response.lastTransaction != null) { + System.out.println("Folio: " + response.lastTransaction.folio); + System.out.println("ID Usuario: " + response.lastTransaction.idUser); + System.out.println("ID Usuario Receptor: " + response.lastTransaction.idUserReceiver); + System.out.println("Nombre Receptor: " + response.lastTransaction.nameReceiver); + System.out.println("Stamps In: " + response.lastTransaction.stampsIn); + System.out.println("Stamps Out: " + + (response.lastTransaction.stampsOut != null ? response.lastTransaction.stampsOut : "null")); + System.out.println("Stamps Current: " + response.lastTransaction.stampsCurrent); + System.out.println("Comentario: " + response.lastTransaction.comment); + System.out.println("Fecha: " + response.lastTransaction.date); + System.out.println("Email Enviado: " + response.lastTransaction.isEmailSent); + } else { + System.out.println("No hay transacción disponible."); + } + } catch (AuthException e) { + Assert.fail(); + } catch (GeneralException e) { + Assert.fail(); + } catch (IOException e) { + Assert.fail(); + } } + @Test - public void testAddStampsByToken_Sucess(){ + public void testAddStampsByToken_Sucess() { try { - SWBalanceAccountService app = new SWBalanceAccountService(Utils.tokenSW, Utils.urlApiSW); - BalanceAcctResponse response = (BalanceAcctResponse) app.AddBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); + SWBalanceAccountService app = new SWBalanceAccountService(Utils.tokenSW, Utils.urlApiSW); + BalanceAcctResponse response = (BalanceAcctResponse) app + .AddBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); Assert.assertNotNull(response); String expect_status = "success"; Assert.assertTrue(expect_status.equalsIgnoreCase(response.Status)); @@ -106,10 +136,12 @@ public void testAddStampsByToken_Sucess(){ } @Test - public void testAddStampsByAuth_Sucess(){ + public void testAddStampsByAuth_Sucess() { try { - SWBalanceAccountService app = new SWBalanceAccountService(Utils.userSW, Utils.passwordSW, Utils.urlSW, Utils.urlApiSW); - BalanceAcctResponse response = (BalanceAcctResponse) app.AddBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); + SWBalanceAccountService app = new SWBalanceAccountService(Utils.userSW, Utils.passwordSW, Utils.urlSW, + Utils.urlApiSW); + BalanceAcctResponse response = (BalanceAcctResponse) app + .AddBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); Assert.assertNotNull(response); String expect_status = "success"; Assert.assertTrue(expect_status.equalsIgnoreCase(response.Status)); @@ -120,14 +152,15 @@ public void testAddStampsByAuth_Sucess(){ } catch (IOException e) { Assert.fail(); } - + } @Test - public void testAddStampsByToken_emptyToken(){ + public void testAddStampsByToken_emptyToken() { try { - SWBalanceAccountService app = new SWBalanceAccountService("", Utils.urlApiSW); - BalanceAcctResponse response = (BalanceAcctResponse) app.AddBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); + SWBalanceAccountService app = new SWBalanceAccountService("", Utils.urlApiSW); + BalanceAcctResponse response = (BalanceAcctResponse) app + .AddBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); Assert.assertNotNull(response); String expect_status = "error"; Assert.assertTrue(expect_status.equalsIgnoreCase(response.Status)); @@ -141,10 +174,11 @@ public void testAddStampsByToken_emptyToken(){ } @Test - public void testAddStampsByAuth_emptyUser(){ + public void testAddStampsByAuth_emptyUser() { try { - SWBalanceAccountService app = new SWBalanceAccountService("", "", Utils.urlApiSW); - BalanceAcctResponse response = (BalanceAcctResponse) app.AddBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); + SWBalanceAccountService app = new SWBalanceAccountService("", "", Utils.urlSW, Utils.urlApiSW); + BalanceAcctResponse response = (BalanceAcctResponse) app + .AddBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); Assert.assertNotNull(response); String expect_status = "error"; Assert.assertTrue(expect_status.equalsIgnoreCase(response.Status)); @@ -158,10 +192,11 @@ public void testAddStampsByAuth_emptyUser(){ } @Test - public void testAddStampsByToken_incorrectToken(){ + public void testAddStampsByToken_incorrectToken() { try { - SWBalanceAccountService app = new SWBalanceAccountService("empty.token.sw", Utils.urlApiSW); - BalanceAcctResponse response = (BalanceAcctResponse)app.AddBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); + SWBalanceAccountService app = new SWBalanceAccountService("empty.token.sw", Utils.urlApiSW); + BalanceAcctResponse response = (BalanceAcctResponse) app + .AddBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); Assert.assertNotNull(response); String expect_status = "error"; Assert.assertTrue(expect_status.equalsIgnoreCase(response.Status)); @@ -175,10 +210,12 @@ public void testAddStampsByToken_incorrectToken(){ } @Test - public void testAddStampsByAuth_incorrectUser(){ + public void testAddStampsByAuth_incorrectUser() { try { - SWBalanceAccountService app = new SWBalanceAccountService("wronguser@mail.com", "12345678a", Utils.urlApiSW); - BalanceAcctResponse response = (BalanceAcctResponse) app.AddBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); + SWBalanceAccountService app = new SWBalanceAccountService("wronguser@mail.com", "12345678a", + Utils.urlSW,Utils.urlApiSW); + BalanceAcctResponse response = (BalanceAcctResponse) app + .AddBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); Assert.assertNotNull(response); String expect_status = "error"; Assert.assertTrue(expect_status.equalsIgnoreCase(response.Status)); @@ -194,8 +231,9 @@ public void testAddStampsByAuth_incorrectUser(){ @Test public void testRemoveStampsByToken_Sucess() { try { - SWBalanceAccountService app = new SWBalanceAccountService(Utils.tokenSW, Utils.urlApiSW); - BalanceAcctResponse response = (BalanceAcctResponse) app.RemoveBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); + SWBalanceAccountService app = new SWBalanceAccountService(Utils.tokenSW, Utils.urlApiSW); + BalanceAcctResponse response = (BalanceAcctResponse) app.RemoveBalanceAccountStamp( + UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); Assert.assertNotNull(response); String expect_status = "success"; Assert.assertTrue(expect_status.equalsIgnoreCase(response.Status)); @@ -211,8 +249,10 @@ public void testRemoveStampsByToken_Sucess() { @Test public void testRemoveStampsByAuth_Sucess() { try { - SWBalanceAccountService app = new SWBalanceAccountService(Utils.userSW, Utils.passwordSW, Utils.urlSW, Utils.urlApiSW); - BalanceAcctResponse response = (BalanceAcctResponse) app.RemoveBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); + SWBalanceAccountService app = new SWBalanceAccountService(Utils.userSW, Utils.passwordSW, Utils.urlSW, + Utils.urlApiSW); + BalanceAcctResponse response = (BalanceAcctResponse) app.RemoveBalanceAccountStamp( + UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); Assert.assertNotNull(response); String expect_status = "success"; Assert.assertTrue(expect_status.equalsIgnoreCase(response.Status)); @@ -222,14 +262,15 @@ public void testRemoveStampsByAuth_Sucess() { Assert.fail(); } catch (IOException e) { Assert.fail(); - } + } } @Test public void testRemoveStampsByToken_emptyToken() { try { - SWBalanceAccountService app = new SWBalanceAccountService("", Utils.urlApiSW); - BalanceAcctResponse response = (BalanceAcctResponse) app.RemoveBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); + SWBalanceAccountService app = new SWBalanceAccountService("", Utils.urlApiSW); + BalanceAcctResponse response = (BalanceAcctResponse) app.RemoveBalanceAccountStamp( + UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); Assert.assertNotNull(response); String expect_status = "error"; Assert.assertTrue(expect_status.equalsIgnoreCase(response.Status)); @@ -245,8 +286,9 @@ public void testRemoveStampsByToken_emptyToken() { @Test public void testRemoveStampsByAuth_emptyUser() { try { - SWBalanceAccountService app = new SWBalanceAccountService("", "", Utils.urlApiSW); - BalanceAcctResponse response = (BalanceAcctResponse) app.RemoveBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); + SWBalanceAccountService app = new SWBalanceAccountService("", "", Utils.urlSW,Utils.urlApiSW); + BalanceAcctResponse response = (BalanceAcctResponse) app.RemoveBalanceAccountStamp( + UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); Assert.assertNotNull(response); String expect_status = "error"; Assert.assertTrue(expect_status.equalsIgnoreCase(response.Status)); @@ -262,8 +304,9 @@ public void testRemoveStampsByAuth_emptyUser() { @Test public void testRemoveStampsByToken_incorrectToken() { try { - SWBalanceAccountService app = new SWBalanceAccountService("empty.token.sw", Utils.urlApiSW); - BalanceAcctResponse response = (BalanceAcctResponse) app.RemoveBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); + SWBalanceAccountService app = new SWBalanceAccountService("empty.token.sw", Utils.urlApiSW); + BalanceAcctResponse response = (BalanceAcctResponse) app.RemoveBalanceAccountStamp( + UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); Assert.assertNotNull(response); String expect_status = "error"; Assert.assertTrue(expect_status.equalsIgnoreCase(response.Status)); @@ -279,8 +322,10 @@ public void testRemoveStampsByToken_incorrectToken() { @Test public void testRemoveStampsByAuth_incorrectUser() { try { - SWBalanceAccountService app = new SWBalanceAccountService("wronguser@mail.com", "12345678a", Utils.urlApiSW); - BalanceAcctResponse response = (BalanceAcctResponse) app.RemoveBalanceAccountStamp(UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); + SWBalanceAccountService app = new SWBalanceAccountService("wronguser@mail.com", "12345678a", + Utils.urlSW,Utils.urlApiSW); + BalanceAcctResponse response = (BalanceAcctResponse) app.RemoveBalanceAccountStamp( + UUID.fromString("828f19b1-77dc-48bc-9cfa-d48b5cf7e30c"), 1, "PruebaJava16"); Assert.assertNotNull(response); String expect_status = "error"; Assert.assertTrue(expect_status.equalsIgnoreCase(response.Status)); diff --git a/src/test/java/Tests/Pdf/SWPdfServiceTest.java b/src/test/java/Tests/Pdf/SWPdfServiceTest.java index 83588eb..9d61858 100644 --- a/src/test/java/Tests/Pdf/SWPdfServiceTest.java +++ b/src/test/java/Tests/Pdf/SWPdfServiceTest.java @@ -276,7 +276,7 @@ public void GeneratePdf_CP20__Success() throws AuthException, GeneralException, @Test public void RegeneratePdf_Success() throws GeneralException, AuthException, IOException { SWPdfService pdf = new SWPdfService(Utils.tokenSW, Utils.urlApiSW); - PdfResponse response = (PdfResponse)pdf.RegeneratePdf("4714f6f7-ccb4-4eb5-8ba6-3a523092e2b4"); + PdfResponse response = (PdfResponse)pdf.RegeneratePdf("da3b7571-1cfd-4fb7-8bcd-123ef1cba77f"); Assert.assertNotNull(response); System.out.println(response.message); Assert.assertTrue(response.Status.equals("success")); @@ -285,7 +285,7 @@ public void RegeneratePdf_Success() throws GeneralException, AuthException, IOEx @Test public void RegeneratePdf_Auth_Success() throws AuthException, GeneralException, IOException{ SWPdfService pdf = new SWPdfService(Utils.userSW, Utils.passwordSW, Utils.urlApiSW, Utils.urlSW); - PdfResponse response = (PdfResponse)pdf.RegeneratePdf("4714f6f7-ccb4-4eb5-8ba6-3a523092e2b4"); + PdfResponse response = (PdfResponse)pdf.RegeneratePdf("da3b7571-1cfd-4fb7-8bcd-123ef1cba77f"); Assert.assertNotNull(response); System.out.println(response.message); Assert.assertTrue(response.Status.equals("success")); diff --git a/src/test/java/Tests/Resend/SWResendServiceTest.java b/src/test/java/Tests/Resend/SWResendServiceTest.java index 9e51001..e37797e 100644 --- a/src/test/java/Tests/Resend/SWResendServiceTest.java +++ b/src/test/java/Tests/Resend/SWResendServiceTest.java @@ -16,7 +16,7 @@ public void ResendEmail_Success() throws Exception { null, 0); ResendResponse response = null; - response = (ResendResponse) app.ResendEmail(UUID.fromString("4714f6f7-ccb4-4eb5-8ba6-3a523092e2b4"), + response = (ResendResponse) app.ResendEmail(UUID.fromString("da3b7571-1cfd-4fb7-8bcd-123ef1cba77f"), "ex1@gmail.com,ex2@gmail.com,ex3@gmail.com,ex4@gmail.com,ex5@gmail.com"); Assert.assertNotNull(response.HttpStatusCode); Assert.assertNotNull(response.Status); @@ -31,7 +31,7 @@ public void ResendEmail_Success() throws Exception { public void ResendEmail_Token_Success() throws Exception { SWResendService app = new SWResendService(Utils.tokenSW, Utils.urlApiSW, null, 0); ResendResponse response = null; - response = (ResendResponse) app.ResendEmail(UUID.fromString("4714f6f7-ccb4-4eb5-8ba6-3a523092e2b4"), + response = (ResendResponse) app.ResendEmail(UUID.fromString("da3b7571-1cfd-4fb7-8bcd-123ef1cba77f"), "ex1@gmail.com,ex2@gmail.com,ex3@gmail.com,ex4@gmail.com,ex5@gmail.com"); Assert.assertNotNull(response.HttpStatusCode); Assert.assertNotNull(response.Status); diff --git a/src/test/java/Tests/Storage/SWStorageServiceTest.java b/src/test/java/Tests/Storage/SWStorageServiceTest.java index ecd3f32..028550d 100644 --- a/src/test/java/Tests/Storage/SWStorageServiceTest.java +++ b/src/test/java/Tests/Storage/SWStorageServiceTest.java @@ -20,7 +20,7 @@ public class SWStorageServiceTest { public void testGetXmlToken_Success() throws AuthException, GeneralException, IOException { SWStorageService storage = new SWStorageService(Utils.tokenSW, Utils.urlApiSW, null, 0); StorageResponse res = (StorageResponse) storage - .getXml(UUID.fromString("4714f6f7-ccb4-4eb5-8ba6-3a523092e2b4")); + .getXml(UUID.fromString("da3b7571-1cfd-4fb7-8bcd-123ef1cba77f")); Assert.assertNotNull(res); Assert.assertEquals(res.message, "success", res.Status); Assert.assertNotNull(res.getData()); @@ -33,7 +33,7 @@ public void testGetXmlAuth_Success() throws AuthException, GeneralException, IOE SWStorageService storage = new SWStorageService(Utils.userSW, Utils.passwordSW, Utils.urlSW, Utils.urlApiSW, null, 0); StorageResponse res = (StorageResponse) storage - .getXml(UUID.fromString("4714f6f7-ccb4-4eb5-8ba6-3a523092e2b4")); + .getXml(UUID.fromString("da3b7571-1cfd-4fb7-8bcd-123ef1cba77f")); Assert.assertNotNull(res); Assert.assertEquals(res.message, "success", res.Status); // Assert.assertNotNull(res.getData()); diff --git a/src/test/java/Tests/Utils.java b/src/test/java/Tests/Utils.java index a33cec0..53f97bc 100644 --- a/src/test/java/Tests/Utils.java +++ b/src/test/java/Tests/Utils.java @@ -30,8 +30,8 @@ * @since 2022-04-30 */ public class Utils { - public static String urlSW = "http://services.test.sw.com.mx"; - public static String urlApiSW = "http://api.test.sw.com.mx"; + public static String urlSW = "https://services.test.sw.com.mx"; + public static String urlApiSW = "https://api.test.sw.com.mx"; public static String userSW = System.getenv("SDKTEST_USER"); public static String passwordSW = System.getenv("SDKTEST_PASSWORD"); public static String tokenSW = System.getenv("SDKTEST_TOKEN"); @@ -44,8 +44,8 @@ public class Utils { public static String rfc = "EKU9003173C9"; public static String cancelacionXml = loadResourceAsString("src/test/resources/Extras/CancelacionXML.xml"); public static String aceptacionRechazoXml = loadResourceAsString("src/test/resources/Extras/AceptacionRechazo.xml"); - public static String uuid = "fe4e71b0-8959-4fb9-8091-f5ac4fb0fef8"; - public static String foliosustitucion = "0e4c30b8-11d8-40d8-894d-ef8b32eb4bdf"; + public static String uuid = "1f0110e0-6e11-49b9-b78c-5929cc3bfc01"; + public static String foliosustitucion = "9509174a-f367-474e-bde7-4fb3347a9a22"; /** * Genera un CFDI especifico y lo sella en caso de indicarse. diff --git a/src/test/java/Tests/helpers/Sign.java b/src/test/java/Tests/helpers/Sign.java index d64f75a..9288fa5 100644 --- a/src/test/java/Tests/helpers/Sign.java +++ b/src/test/java/Tests/helpers/Sign.java @@ -3,7 +3,7 @@ import java.io.*; import java.security.Signature; import org.apache.commons.ssl.PKCS8Key; -import javax.xml.bind.DatatypeConverter; +import jakarta.xml.bind.DatatypeConverter; /** * Sign Está clase permite realizar sellado y transformacion de CFDI.