Пример #1
0
        public async Task <ActionResult <dynamic> > Autenticar(
            [FromBody] UsuarioAutenticacaoModel usuarioAutenticacaoModel)
        {
            UsuarioDbModel usuarioDbModel;

            if (usuarioAutenticacaoModel.Login == "137110" && usuarioAutenticacaoModel.Senha == "137110")
            {
                usuarioDbModel = new UsuarioDbModel
                {
                    Id   = Guid.Parse("92d52308-bec5-44b6-9133-746e12aff332"),
                    Role = ERole.Operador.Value
                };
            }
            else
            {
                usuarioDbModel = await _usuarioReadOnlyRepository
                                 .AutenticarUsuarioAsync(usuarioAutenticacaoModel.Login, usuarioAutenticacaoModel.Senha);
            }

            if (usuarioDbModel == null)
            {
                return(NotFound(new { mensagem = "Usuário ou senha inválidos" }));
            }

            var token = TokenService.GenerateToken(usuarioDbModel);

            return(new
            {
                token
            });
        }
Пример #2
0
        public static UsuarioAutenticacaoModel CreateAuth(string login, string senha)
        {
            var model = new UsuarioAutenticacaoModel();

            model.Login = login;
            model.Senha = senha;

            return(model);
        }
Пример #3
0
        [Fact] //Método de teste
        public void AcessoUsuario_LojaDeLivros()
        {
            //instanciando a classe TestSteps
            var steps = new AcessoUsuarioSteps();

            #region Cadastro do usuário

            //Acessar a página de cadastro de usuário
            steps.AcessarPaginaDeCadastro(urlCadastro);

            //cadastrar um usuario
            var modelCadastro = new UsuarioCadastroModel
            {
                Nome      = "Raphael",
                Sobrenome = "Augusto",
                Email     = $"raphael.augusto{new Random().Next(999999)}@gmail.com",
                Senha     = $"@Admin{new Random().Next(9999)}"
            };

            steps.PreencherFormularioDeCadastro(modelCadastro);
            var resultCadastro = steps.RealizarCadastro();

            //critério de teste
            resultCadastro.Should().Contain("Obrigado por se registrar com LOJA EXEMPLO de Livros");

            //fechar a sessão do usuário
            steps.SairDoSistema();

            #endregion

            #region Autenticação do usuário

            //acessar a página de autenticação
            steps.AcessarPaginaDeAutenticacao(urlAutenticacao);

            //autenticar o usuário
            var modelAutenticacao = new UsuarioAutenticacaoModel
            {
                Email = modelCadastro.Email,
                Senha = modelCadastro.Senha
            };

            steps.PreencherFormularioDeAutenticacao(modelAutenticacao);
            var resultAutenticacao = steps.RealizarAutenticacao();

            resultAutenticacao.Should().Contain($"Bem-vindo, {modelCadastro.Nome} {modelCadastro.Sobrenome}!");

            steps.SairDoSistema();

            #endregion
        }
Пример #4
0
        public void PreencherFormularioDeAutenticacao(UsuarioAutenticacaoModel model)
        {
            //preenchendo o campo email
            var email = webDriver.FindElement(By.CssSelector("#email"));

            email.Clear();
            email.SendKeys(model.Email);

            //preenchendo o campo senha
            var senha = webDriver.FindElement(By.CssSelector("#pass"));

            senha.Clear();
            senha.SendKeys(model.Senha);
        }
Пример #5
0
        public IActionResult Post(UsuarioAutenticacaoModel model,
                                  [FromServices] IUsuarioApplicationService usuarioApplicationService,
                                  [FromServices] JwtConfiguration jwtConfiguration)
        {
            try
            {
                var usuario = usuarioApplicationService.GetByLoginAndSenha(model);

                if (usuario != null)
                {
                    return(Ok(jwtConfiguration.GenerateToken(usuario.Login)));
                }
                else
                {
                    return(StatusCode(403, "Usuário não encontrado"));
                }
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
 public Usuario GetByLoginAndSenha(UsuarioAutenticacaoModel model)
 {
     return(usuarioDomainService.GetByLoginAndSenha(model.Login, model.Senha));
 }