From 1693eb4ff398e583af859f01e0288b10bbf94104 Mon Sep 17 00:00:00 2001 From: Lara Date: Wed, 24 Apr 2024 12:34:49 +0200 Subject: [PATCH 1/4] =?UTF-8?q?Comprobar=20que=20la=20contrase=C3=B1a=20ti?= =?UTF-8?q?ene=20al=20menos=208=20caracteres=20en=20el=20registro=20de=20u?= =?UTF-8?q?suarios?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gatewayservice/gateway-service.js | 25 +++++++++++++++---------- gatewayservice/gateway-service.test.js | 22 +++++----------------- 2 files changed, 20 insertions(+), 27 deletions(-) diff --git a/gatewayservice/gateway-service.js b/gatewayservice/gateway-service.js index 31757b4..650bb64 100644 --- a/gatewayservice/gateway-service.js +++ b/gatewayservice/gateway-service.js @@ -28,14 +28,6 @@ app.get('/health', (_req, res) => { }); app.post('/login', async (req, res) => { - const isValidUser = validateCredentials(req.body.username, req.body.password); - - if (!isValidUser) { - // Si las credenciales son inválidas, devuelve un error 401 - res.status(401).json({ error: 'Credenciales incorrectas' }); - return; // Termina la ejecución de la función para evitar ejecutar el código restante - } - try { // Forward the login request to the authentication service const authResponse = await axios.post(authServiceUrl+'/login', req.body); @@ -45,14 +37,26 @@ app.post('/login', async (req, res) => { } }); + function validateCredentials(username, password) { // Verifica si la contraseña es erronea - const invalidPassword = 'no'; + if (password.length < 8) { + return false; + } - return !(password === invalidPassword); + return true; } app.post('/adduser', async (req, res) => { + + const isValidUser = validateCredentials(req.body.username, req.body.password); + + if (!isValidUser) { + // Si las credenciales son inválidas, devuelve un error 401 + res.status(401).json({ error: 'Credenciales incorrectas. La contraseña debe contener al menos 8 caracteres' }); + return; // Termina la ejecución de la función para evitar ejecutar el código restante + } + try { // Forward the add user request to the user service const userResponse = await axios.post(userServiceUrl+'/adduser', req.body); @@ -62,6 +66,7 @@ app.post('/adduser', async (req, res) => { } }); + app.get('/pregunta', async (req, res) => { try{ const questionResponse = await axios.get(questionServiceUrl+'/pregunta') diff --git a/gatewayservice/gateway-service.test.js b/gatewayservice/gateway-service.test.js index 211098e..1905f62 100644 --- a/gatewayservice/gateway-service.test.js +++ b/gatewayservice/gateway-service.test.js @@ -21,30 +21,18 @@ describe('Gateway Service', () => { return Promise.resolve({ data: { userId: 'mockedUserId' } }); } }); - - /* - // Test /login endpoint - it('deberia iniciar sesión correctamente', async () => { - const response = await request(app) - .post('/login') - .send({ username: 'testuser', password: 'testpassword' }); - - expect(response.statusCode).toBe(200); - expect(response.body.token).toBe('mockedToken'); - }); - */ - // Prueba de manejo de errores para el endpoint /login - it('deberia devolver error al iniciar sesion', async () => { - // Datos de prueba para iniciar sesión (incorrectos) + // Prueba de manejo de errores para el endpoint /adduser + it('deberia devolver error al registrate', async () => { + // Datos de prueba para registro (incorrectos) const invalidLoginData = { username: 'userInvalido', - password: 'no' + password: 'holaque' }; // Realizamos una solicitud POST al endpoint /login con datos incorrectos const response = await request(app) - .post('/login') + .post('/adduser') .send(invalidLoginData); // Verificamos que la respuesta tenga un código de estado 401 (Unauthorized) From a758a1357e494a443242ffcccf5a08f284268b42 Mon Sep 17 00:00:00 2001 From: Lara Date: Wed, 24 Apr 2024 12:46:37 +0200 Subject: [PATCH 2/4] =?UTF-8?q?Cambio=20nombre=20de=20archivos=20e2e=20y?= =?UTF-8?q?=20cambio=20contrase=C3=B1a?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../steps/{register-form.steps.js => 01-register-form.steps.js} | 2 +- webapp/e2e/steps/{login.steps.js => 02-login.steps.js} | 2 +- webapp/e2e/steps/{home.steps.js => 03-home.steps.js} | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename webapp/e2e/steps/{register-form.steps.js => 01-register-form.steps.js} (98%) rename webapp/e2e/steps/{login.steps.js => 02-login.steps.js} (98%) rename webapp/e2e/steps/{home.steps.js => 03-home.steps.js} (98%) diff --git a/webapp/e2e/steps/register-form.steps.js b/webapp/e2e/steps/01-register-form.steps.js similarity index 98% rename from webapp/e2e/steps/register-form.steps.js rename to webapp/e2e/steps/01-register-form.steps.js index f805781..ee540bc 100644 --- a/webapp/e2e/steps/register-form.steps.js +++ b/webapp/e2e/steps/01-register-form.steps.js @@ -30,7 +30,7 @@ defineFeature(feature, test => { given('An unregistered user', async () => { username = "pablo@gmail.com" - password = "pabloasw" + password = "pabloasw1" await expect(page).toClick("button", { text: "REGÍSTRATE" }); }); diff --git a/webapp/e2e/steps/login.steps.js b/webapp/e2e/steps/02-login.steps.js similarity index 98% rename from webapp/e2e/steps/login.steps.js rename to webapp/e2e/steps/02-login.steps.js index 8fab6a7..6d4cdb3 100644 --- a/webapp/e2e/steps/login.steps.js +++ b/webapp/e2e/steps/02-login.steps.js @@ -30,7 +30,7 @@ defineFeature(feature, test => { given('A user that is logged in the application', async () => { username = "pablo@gmail.com" - password = "pabloasw" + password = "pabloasw1" await expect(page).toClick("button", { text: "INICIA SESIÓN" }); }); diff --git a/webapp/e2e/steps/home.steps.js b/webapp/e2e/steps/03-home.steps.js similarity index 98% rename from webapp/e2e/steps/home.steps.js rename to webapp/e2e/steps/03-home.steps.js index 9064c93..0e001d0 100644 --- a/webapp/e2e/steps/home.steps.js +++ b/webapp/e2e/steps/03-home.steps.js @@ -30,7 +30,7 @@ defineFeature(feature, test => { given('A user that is logged in the application', async () => { username = "pablo@gmail.com" - password = "pabloasw" + password = "pabloasw1" await expect(page).toClick("button", { text: "INICIA SESIÓN" }); }); From f4256b0b134d54401fde10ce7f56a7493aef66aa Mon Sep 17 00:00:00 2001 From: Lara Date: Wed, 24 Apr 2024 12:57:36 +0200 Subject: [PATCH 3/4] Intentado eliminar el hotspot --- gatewayservice/gateway-service.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gatewayservice/gateway-service.test.js b/gatewayservice/gateway-service.test.js index 1905f62..f7ab259 100644 --- a/gatewayservice/gateway-service.test.js +++ b/gatewayservice/gateway-service.test.js @@ -27,7 +27,7 @@ describe('Gateway Service', () => { // Datos de prueba para registro (incorrectos) const invalidLoginData = { username: 'userInvalido', - password: 'holaque' + password: 'invalid' }; // Realizamos una solicitud POST al endpoint /login con datos incorrectos From c9d5a61c6d5e969c651e55200d9f82b92fdf91be Mon Sep 17 00:00:00 2001 From: Lara Date: Wed, 24 Apr 2024 13:04:59 +0200 Subject: [PATCH 4/4] ups --- gatewayservice/gateway-service.js | 1 - 1 file changed, 1 deletion(-) diff --git a/gatewayservice/gateway-service.js b/gatewayservice/gateway-service.js index 650bb64..5dff392 100644 --- a/gatewayservice/gateway-service.js +++ b/gatewayservice/gateway-service.js @@ -66,7 +66,6 @@ app.post('/adduser', async (req, res) => { } }); - app.get('/pregunta', async (req, res) => { try{ const questionResponse = await axios.get(questionServiceUrl+'/pregunta')