示例#1
0
 public void Validator_Should_Not_Return_Error_For_Correct_Json_Object(LoginUserRequestDto requestDto, string name)
 {
     Assert.True(new CreateJsonRequestDtoValidator()
                 .Validate(new CreateJsonRequestDto
     {
         Json = JsonConvert.SerializeObject(requestDto),
         Name = name
     })
                 .IsValid);
 }
示例#2
0
        public async Task <IActionResult> PutUser(LoginUserRequestDto loginUserRequestDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var user = await _userManager.FindByEmailAsync(loginUserRequestDto.Email);

            var userResponseDto = await _userManager.UpdateAsync(user)
            ;

            return(Ok(userResponseDto));
        }
示例#3
0
        public async Task <IActionResult> Login(LoginUserRequestDto loginRequestDto)
        {
            var loginRequest = _mapper.Map <LoginUserRequest>(loginRequestDto);

            var result = await _users.LoginAsync(loginRequest);

            if (!result.Success)
            {
                return(BadRequest(result.ErrorMessage));
            }

            var loggedDto = _mapper.Map <LoginUserResultDto>(result.Result);

            return(Ok(loggedDto));
        }
示例#4
0
        public async Task LoginUserAsync_Should_Return_NotFound_With_Message_If_BaseBusinessLogicException(
            LoginUserRequestDto loginUserRequestDto,
            UsernameExistException usernameExistException)
        {
            _userService.GetAsync(loginUserRequestDto.Username, loginUserRequestDto.Password).Throws(usernameExistException);

            var result = await _userControllerInstance.LoginUserAsync(loginUserRequestDto);

            var response = result as NotFoundObjectResult;

            Assert.NotNull(response);
            var responseObject = response.Value as string;

            Assert.NotNull(responseObject);

            Assert.AreEqual(usernameExistException.Message, responseObject);
        }
示例#5
0
        public async Task LoginUserAsync_Should_Return_InternalServerError_With_Message_If_Exception(
            LoginUserRequestDto loginUserRequestDto,
            Exception exception)
        {
            _userService.GetAsync(loginUserRequestDto.Username, loginUserRequestDto.Password).Throws(exception);

            var result = await _userControllerInstance.LoginUserAsync(loginUserRequestDto);

            var response = result as ObjectResult;

            Assert.NotNull(response);
            Assert.AreEqual(500, response.StatusCode);
            var responseObject = response.Value as string;

            Assert.NotNull(responseObject);

            Assert.AreEqual(exception.Message, responseObject);
        }
示例#6
0
        public async Task <IActionResult> LoginUserAsync([FromBody] LoginUserRequestDto dto)
        {
            try
            {
                var user = await _userService.GetAsync(dto.Username, dto.Password);

                var response = _mapper.Map <LoginUserResponseDto>(user);
                response.Token = _jwtTokenService.CreateToken(user);
                return(Ok(response));
            }
            catch (BaseBusinessLogicException e)
            {
                return(NotFound(e.Message));
            }
            catch (Exception e)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, e.Message));
            }
        }
        public async Task <ActionResult> Login([FromBody] LoginUserRequestDto login)
        {
            var result = await _signInManager.PasswordSignInAsync(login.Email, login.Password, isPersistent : false, lockoutOnFailure : false);

            if (!result.Succeeded)
            {
                return(Unauthorized());
            }

            var applicationUser = await _userManager.FindByEmailAsync(login.Email);

            JwtSecurityToken token = await GenerateTokenAsync(applicationUser);

            //defined
            string serializedToken = new JwtSecurityTokenHandler().WriteToken(token); //serialize the token

            return(Ok(new LoginUserResponseDto()
            {
                Token = serializedToken
            }));
        }
示例#8
0
        public async Task LoginUserAsync_Should_Return_Correct_Result_If_No_Exceptions(LoginUserRequestDto loginUserRequestDto,
                                                                                       UserModel userModel, string token, LoginUserResponseDto loginUserResponseDto)
        {
            _userService.GetAsync(loginUserRequestDto.Username, loginUserRequestDto.Password).Returns(userModel);
            _mapper.Map <LoginUserResponseDto>(userModel).Returns(loginUserResponseDto);

            _jwtTokenService.CreateToken(userModel).Returns(token);

            var result = await _userControllerInstance.LoginUserAsync(loginUserRequestDto);

            var response = result as OkObjectResult;

            Assert.NotNull(response);
            var responseObject = response.Value as LoginUserResponseDto;

            Assert.NotNull(responseObject);

            Assert.AreEqual(loginUserResponseDto.Username, responseObject.Username);
            Assert.AreEqual(token, responseObject.Token);
        }
        public async Task <IActionResult> Login([FromBody] LoginUserRequestDto request)
        {
            var authResult = await AccountService.LoginAsync(request.Username, request.Password);

            return(GetResponseFrom(authResult));
        }