コード例 #1
0
 public void Setup()
 {
     _userRepository              = new Mock <IUserRepository>();
     _tokenHelper                 = new Mock <ITokenHelper>();
     loginUserQueryHandler        = new LoginUserQueryHandler(_userRepository.Object, _tokenHelper.Object);
     registerUserCommandHandler   = new RegisterUserCommandHandler(_userRepository.Object);
     forgotPasswordCommandHandler = new ForgotPasswordCommandHandler(_userRepository.Object);
 }
コード例 #2
0
        public async Task GivenLoginUserQueryHandler_WhenIncorrectLoginInfoProvided_ThenShouldRaiseException()
        {
            _mockUserManager.FindByEmailAsync(_query.Email).ReturnsNullForAnyArgs();

            var loginUserQueryHandler = new LoginUserQueryHandler(_mockUserManager, _mockJwtGenerator, _mockEventBus);

            await Assert.ThrowsAsync <RestException>(() => loginUserQueryHandler.Handle(_query, CancellationToken.None));
        }
コード例 #3
0
        public async Task GivenLoginUserQueryHandler_WhenCheckingPasswordFails_ThenShouldThrowRestException()
        {
            _mockUserManager.FindByEmailAsync(_query.Email).ReturnsForAnyArgs(_user);
            _mockUserManager.CheckPasswordAsync(_user, _query.Password).ReturnsForAnyArgs(false);

            var loginUserQueryHandler = new LoginUserQueryHandler(_mockUserManager, _mockJwtGenerator, _mockEventBus);

            await Assert.ThrowsAsync <RestException>(() => loginUserQueryHandler.Handle(_query, CancellationToken.None));
        }
コード例 #4
0
 public LoginUserTest()
 {
     // Arrange
     Mediator      = new Mock <IMediator>();
     SignInManager = new Mock <MockSignInManager>();
     UserManager   = new Mock <MockUserManager>();
     Mapper        = new Mapper(new MapperConfiguration(cfg => cfg.AddProfile(new MappingProfile())));
     Logger        = new Mock <ILogger <LoginUserQueryHandler> >();
     Handler       = new LoginUserQueryHandler(Mediator.Object, SignInManager.Object, UserManager.Object, Mapper, Logger.Object);
 }
コード例 #5
0
        public void Setup()
        {
            _userRepository = new Mock <IUserRepository>();
            _tokenHelper    = new Mock <ITokenHelper>();
            _mediator       = new Mock <IMediator>();
            _cacheManager   = new Mock <ICacheManager>();

            _loginUserQueryHandler        = new LoginUserQueryHandler(_userRepository.Object, _tokenHelper.Object, _mediator.Object, _cacheManager.Object);
            _registerUserCommandHandler   = new RegisterUserCommandHandler(_userRepository.Object);
            _forgotPasswordCommandHandler = new ForgotPasswordCommandHandler(_userRepository.Object);
        }
コード例 #6
0
        GivenLoginUserQueryHandler_WhenCorrectLoginInfoProvided_ThenShouldCallUserManagerToCheckPassword()
        {
            _mockUserManager.FindByEmailAsync(_query.Email).ReturnsForAnyArgs(_user);
            _mockUserManager.CheckPasswordAsync(_user, _query.Password).ReturnsForAnyArgs(true);

            var loginUserQueryHandler = new LoginUserQueryHandler(_mockUserManager, _mockJwtGenerator, _mockEventBus);

            await loginUserQueryHandler.Handle(_query, CancellationToken.None);

            await _mockUserManager.Received().CheckPasswordAsync(Arg.Any <AppUser>(), Arg.Any <string>());
        }
コード例 #7
0
        public async Task GivenLoginUserQueryHandler_WhenUserAuthenticated_ThenShouldPublishAuthenticationLogEvent()
        {
            _mockUserManager.FindByEmailAsync(_query.Email).ReturnsForAnyArgs(_user);
            _mockUserManager.CheckPasswordAsync(_user, _query.Password).ReturnsForAnyArgs(true);

            var loginUserQueryHandler = new LoginUserQueryHandler(_mockUserManager, _mockJwtGenerator, _mockEventBus);

            await loginUserQueryHandler.Handle(_query, CancellationToken.None);

            _mockEventBus.Received().Publish(Arg.Any <AuthenticationLogEvent>());
        }
コード例 #8
0
        public async Task GivenLoginUserQueryHandler_WhenCorrectLoginInfoProvided_ThenShouldAuthenticateUser()
        {
            _mockUserManager.FindByEmailAsync(_query.Email).ReturnsForAnyArgs(_user);
            _mockUserManager.CheckPasswordAsync(_user, _query.Password).ReturnsForAnyArgs(true);

            var loginUserQueryHandler = new LoginUserQueryHandler(_mockUserManager, _mockJwtGenerator, _mockEventBus);

            var authenticatedUser = await loginUserQueryHandler.Handle(_query, CancellationToken.None);

            Assert.NotNull(authenticatedUser);
            Assert.Equal(authenticatedUser.Email, _query.Email);
        }
コード例 #9
0
        public void SetUp()
        {
            _service       = new Mock <ILoginUserService>();
            _commonService = new Mock <ICommonService>();
            _unitOfWork    = new Mock <IUnitOfWork>();
            _sut           = new LoginUserQueryHandler(_service.Object, _commonService.Object, _unitOfWork.Object);
            _query         = new LoginUserQuery {
                Email = "email", Password = "******"
            };

            _user = new User("email", "organizationId");
            _service.Setup(x => x.GetUserByEmail(_query.Email, default))
            .ReturnsAsync(_user);
        }
コード例 #10
0
        GivenLoginUserQueryHandler_WhenCheckingPasswordFails_ThenShouldPublishLogErrorEvent()
        {
            _mockUserManager.FindByEmailAsync(_query.Email).ReturnsForAnyArgs(_user);
            _mockUserManager.CheckPasswordAsync(_user, _query.Password).ReturnsForAnyArgs(false);

            var loginUserQueryHandler = new LoginUserQueryHandler(_mockUserManager, _mockJwtGenerator, _mockEventBus);

            try
            {
                await loginUserQueryHandler.Handle(_query, CancellationToken.None);
            }
            catch
            {
                _mockEventBus.Received().Publish(Arg.Any <ErrorLogEvent>());
            }
        }