public void TestRecuperarContrasena() { usuariof.FechaNacimiento = DateTime.Now; usuariof.Clave = "clavef"; usuariof.Genero = "M"; usuariof.NombreUsuario = "facebookuser"; peticion.ActualizarUsuario(usuariof); usuario.Id = global; peticion.ValidarUsuario(usuario); usuariof.Id = globalf; peticion.ValidarUsuario(usuariof); Assert.AreEqual("pruebaclave", peticion.RecuperarContrasena(usuario)); usuario.Correo = "*****@*****.**"; Assert.AreEqual("", peticion.RecuperarContrasena(usuario)); Assert.AreEqual("clavef", peticion.RecuperarContrasena(usuariof)); usuariof.Correo = "*****@*****.**"; Assert.AreEqual("", peticion.RecuperarContrasena(usuariof)); usuario.Correo = null; Assert.Throws <InvalidCastException>(() => { peticion.RecuperarContrasena(usuario); }); }
public HttpStatusCode CorreoRecuperar(String datos) { usuario = JsonConvert.DeserializeObject <Usuario>(datos); peticion = new PeticionLogin(); try { usuario.Clave = peticion.RecuperarContrasena(usuario); if (usuario.Clave.Equals("")) { throw new HttpResponseException(HttpStatusCode.NoContent); } MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress("*****@*****.**"); mail.To.Add(usuario.Correo); mail.Subject = "Recuperar contrasena"; mail.Body = "Querido Usuario, hemos recibido una solicitud para recuperar la contrasena de tu cuenta en cocotrip, esta es: " + usuario.Clave; SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential("cocotrip17", "arepascocotrip"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); } catch (NpgsqlException) { throw new HttpResponseException(HttpStatusCode.InternalServerError); } catch (InvalidCastException) { throw new HttpResponseException(HttpStatusCode.BadRequest); } catch (ArgumentNullException) { throw new HttpResponseException(HttpStatusCode.BadRequest); } catch (HttpResponseException) { throw new HttpResponseException(HttpStatusCode.InternalServerError); } return(HttpStatusCode.OK); }