public LoginUserHandlerTest() { _userRepository = new Mock <IUserRepository>(); _passwordManager = new Mock <IPasswordManager>(); _tokenManager = new Mock <ITokenManager>(); _sut = new LoginUserHandler(_userRepository.Object, _passwordManager.Object, _tokenManager.Object); }
[HttpPost] //done public HttpResponseMessage Index(LoginUserRequest request) { var handler = new LoginUserHandler(_connectionString); var response = handler.Handle(request); var httpSatusCode = ResolveStatusCode(response); return(Request.CreateResponse(httpSatusCode, response)); }
public LoginUserHandlerTests() { this.userRepositoryMock = new Mock <IUserRepository>(); this.encrypterMock = new Mock <IEncrypter>(); this.jwtServiceMock = new Mock <IJwtService>(); this.mapperMock = new Mock <IMapper>(); this.sut = new LoginUserHandler( this.userRepositoryMock.Object, this.encrypterMock.Object, this.jwtServiceMock.Object, this.mapperMock.Object); }
public async Task Should_ReturnNotFound_When_PassUnknownUsername(string username, string password) { var cancellationToken = new CancellationToken(); var jwtSecurityTokenHandler = Substitute.For <JwtSecurityTokenHandler>(); var userPasswordUtility = Substitute.For <IUserPasswordUtility>(); var configuration = Substitute.For <IConfiguration>(); configuration["Jwt:Issuer"] = "TestIssuer"; configuration["Jwt:Secret"] = "TestSecret"; var databaseContext = Create.MockedDbContextFor <DatabaseContext>(); databaseContext.Set <SystemUser>().Add(new SystemUser() { Id = 1, Password = "******", Username = "******", Salt = Encoding.ASCII.GetBytes("password1") }); databaseContext.Set <SystemUser>().Add(new SystemUser() { Id = 2, Password = "******", Username = "******", Salt = Encoding.ASCII.GetBytes("password2") }); databaseContext.Set <SystemUser>().Add(new SystemUser() { Id = 3, Password = "******", Username = "******", Salt = Encoding.ASCII.GetBytes("password3") }); databaseContext.SaveChanges(); var entity = new LoginUserRequest(username, password); var handler = new LoginUserHandler(databaseContext, userPasswordUtility, configuration, jwtSecurityTokenHandler); var result = await handler.Handle(entity, cancellationToken); Assert.Multiple(() => { Assert.IsFalse(result.Success); Assert.AreEqual(result.StatusCode, HttpStatusCode.NotFound); }); }
public async Task Should_ReturnToken_When_PassCorrectParameters(string username, string password) { var cancellationToken = new CancellationToken(); var jwtSecurityTokenHandler = Substitute.For <JwtSecurityTokenHandler>(); var userPasswordUtility = Substitute.For <IUserPasswordUtility>(); //userPasswordUtility.When(x => x.IsPasswordCorrect(default, default, default)).DoNotCallBase(); var salt = Encoding.ASCII.GetBytes("UserPasswordTest"); userPasswordUtility.IsPasswordCorrect(password, salt, password).Returns(true); var configuration = Substitute.For <IConfiguration>(); configuration["Jwt:Issuer"] = "TestIssuer"; configuration["Jwt:Secret"] = "TestSecret"; var databaseContext = Create.MockedDbContextFor <DatabaseContext>(); databaseContext.Set <SystemUser>().Add(new SystemUser() { Id = 1, Password = "******", Username = "******", Salt = Encoding.ASCII.GetBytes("password1") }); databaseContext.Set <SystemUser>().Add(new SystemUser() { Id = 2, Password = "******", Username = "******", Salt = Encoding.ASCII.GetBytes("password2") }); databaseContext.Set <SystemUser>().Add(new SystemUser() { Id = 3, Password = "******", Username = "******", Salt = Encoding.ASCII.GetBytes("password3") }); databaseContext.Set <SystemUser>().Add(new SystemUser() { Id = 4, Password = password, Username = username, Salt = salt }); databaseContext.SaveChanges(); var entity = new LoginUserRequest(username, password); var handler = new LoginUserHandler(databaseContext, userPasswordUtility, configuration, jwtSecurityTokenHandler); var result = await handler.Handle(entity, cancellationToken); Assert.Multiple(() => { Assert.IsTrue(result.Success); Assert.AreEqual(result.StatusCode, HttpStatusCode.OK); }); }