示例#1
0
        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);
            });
        }
示例#2
0
        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);
        }