public void AutenticarUsuario_ContrasenaExpiro_RetornaContrasenaExpiro()
        {
            //Arrange
            var repositorioConsultaUsuario = new Mock <IRepositorioConsultaUsuario>();

            repositorioConsultaUsuario.Setup(
                x => x.ObtenerPorNombre(It.IsAny <string>())).Returns(new Usuario
            {
                Contrasena = "123",
                Bloqueado  = false,
                FechaUltimoCambioContrasena = DateTime.Now.AddDays(-30)
            });

            var criptografia = new CriptografiaAes();

            //Act
            var servicioAutenticacion = new ServicioAutenticacion(repositorioConsultaUsuario.Object, criptografia);
            var resultado             = servicioAutenticacion.AutenticarUsuario(new Credencial {
                Contrasena = "123"
            });

            //Assert
            Assert.IsFalse(resultado.Autenticado);
            Assert.AreEqual(ErrorAutenticacion.ContrasenaExpiro, resultado.Respuesta);
            Assert.IsNull(resultado.Usuario);
        }
        public void AutenticarUsuario_UsuarioBLoqueado_RetornaUsuarioBloqueado()
        {
            //Arrange
            var repositorioConsultaUsuario = new Mock <IRepositorioConsultaUsuario>();

            repositorioConsultaUsuario.Setup(
                x => x.ObtenerPorNombre(It.IsAny <string>())).Returns(new Usuario
            {
                Contrasena = "123",
                Bloqueado  = true
            });

            var criptografia = new CriptografiaAes();

            //Act
            var servicioAutenticacion = new ServicioAutenticacion(repositorioConsultaUsuario.Object, criptografia);
            var resultado             = servicioAutenticacion.AutenticarUsuario(new Credencial {
                Contrasena = "123"
            });

            //Assert
            Assert.IsFalse(resultado.Autenticado);
            Assert.AreEqual(ErrorAutenticacion.UsuarioBloqueado, resultado.Respuesta);
            Assert.IsNull(resultado.Usuario);
        }
        public void AutenticarUsuario_UsuarioNoExiste_RetornaCredencialesIncorrectas()
        {
            //Arrange
            var repositorioConsultaUsuario = new Mock <IRepositorioConsultaUsuario>();

            repositorioConsultaUsuario.Setup(x => x.ObtenerPorNombre(It.IsAny <string>())).Returns((Usuario)null);

            var criptografia = new CriptografiaAes();


            //Act
            var servicioAutenticacion = new ServicioAutenticacion(repositorioConsultaUsuario.Object, criptografia);
            var resultado             = servicioAutenticacion.AutenticarUsuario(new Credencial {
                Usuario = string.Empty
            });

            //Assert
            Assert.IsFalse(resultado.Autenticado);
            Assert.AreEqual(ErrorAutenticacion.CredencialesIncorrectas, resultado.Respuesta);
            Assert.IsNull(resultado.Usuario);
        }
示例#4
0
        private static void Main(string[] args)
        {
            ICriptografia critografia = new CriptografiaTripleDes("");
            //critografia = new CriptografiaAes();

            IRepositorioConsultaUsuario repositorioConsulta = new RepositorioConsultaUsuarioSql();
            //repositorioConsulta = new RepositorioConsultaUsuarioActiveDirectory();

            ILog log = new LogArchivoTexto();
            //log = new LogSql();

            var servicioAutenticacionCore =
                new ServicioAutenticacion(repositorioConsulta, critografia);

            var servicioAutenticacionLog =
                new ServicioAutenticacionDecoradorLog(servicioAutenticacionCore, log);

            servicioAutenticacionLog.AutenticarUsuario(new Credencial());

            IRepositorioComandoUsuario repositorioComando = new RepositorioComandoUsuarioSql();

            var servicioCambioContrasena =
                new ServicioCambioContrasena(
                    repositorioConsulta,
                    critografia,
                    repositorioComando);

            servicioCambioContrasena.Cambiar(string.Empty, string.Empty,
                                             new ServicioNotificacioncambioContrasena());

            servicioCambioContrasena.ServicioGeneracionContrasena =
                new ServicioGeneracionContrasenaRng();

            servicioCambioContrasena.Resetear(string.Empty,
                                              new ServicioNotificacionReseteoContrasena());
        }