public void Test_IsValidUser_InvalidPassword() { HashManager manager = new HashManager(); string email = "*****@*****.**"; string password = "******"; Guid pwdSalt = new Guid(); List <User> users = new List <User> { new User { Id = new Guid(), Credentials = new UserCredentials { PwdHash = manager.GetHash(pwdSalt.ToString(), "Dope123", 0), PwdSalt = pwdSalt }, Email = email, Username = "******", Projects = new List <Guid>() } }; var mockDbClient = new MockDBClient() .MockContains <User, string>("users", "Email", email, true) .MockFindByField <User, string>("users", "Email", email, users); var mockResource = new MockResource().GetDefaultConfig(); AuthService authService = new AuthService(mockDbClient.Object, mockResource.Object); bool result = authService.IsValidUser(email, password); Assert.True(result == false); }
public void Test_CreateSession_MultipleUsers() { string email = "*****@*****.**"; User user = new User { Id = new Guid(), Email = email, Username = "******", Credentials = new UserCredentials { PwdSalt = new Guid(), PwdHash = "testhash" }, Projects = new List <Guid>() }; List <User> users = new List <User> { user, user }; var mockDbClient = new MockDBClient() .MockContains <User, string>("users", "Email", email, true) .MockFindByField <User, string>("users", "Email", email, users); var mockResource = new MockResource().GetDefaultConfig(); AuthService authService = new AuthService(mockDbClient.Object, mockResource.Object); Assert.Throws <InvalidDataException>(() => authService.CreateSession(email) ); }
public void Test_CreateSession_ValidEmailNoSession() { string email = "*****@*****.**"; List <User> users = new List <User> { new User { Id = new Guid(), Email = email, Username = "******", Credentials = new UserCredentials { PwdSalt = new Guid(), PwdHash = "testhash" }, Projects = new List <Guid>() } }; var mockDbClient = new MockDBClient() .MockContains <User, string>("users", "Email", email, true) .MockFindByField <User, string>("users", "Email", email, users) .MockContains <Session, Guid>("sessions", "UserId", users[0].Id, false); var mockResource = new MockResource().GetDefaultConfig(); AuthService authService = new AuthService(mockDbClient.Object, mockResource.Object); Guid sessionID = authService.CreateSession(email); Assert.True(sessionID != null); Assert.True(sessionID != Guid.Empty); }
public void Test_IsValidUser_MultipleUsers() { IHashManager manager = new HashManager(); string email = "*****@*****.**"; string password = "******"; Guid pwdSalt = new Guid(); User user = new User { Id = new Guid(), Credentials = new UserCredentials { PwdHash = manager.GetHash(pwdSalt.ToString(), password, 0), PwdSalt = pwdSalt }, Email = email, Username = "******", Projects = new List <Guid>() }; List <User> users = new List <User>(); users.Add(user); users.Add(user); var mockDbClient = new MockDBClient() .MockContains <User, string>("users", "Email", email, true) .MockFindByField <User, string>("users", "Email", email, users); var mockResource = new MockResource().GetDefaultConfig(); AuthService authService = new AuthService(mockDbClient.Object, mockResource.Object); Assert.Throws <InvalidDataException>(() => authService.IsValidUser(email, password) ); }
public void Test_CreateSession_NullInput() { string email = null; var mockDbClient = new MockDBClient(); var mockResource = new MockResource().GetDefaultConfig(); AuthService authService = new AuthService(mockDbClient.Object, mockResource.Object); Assert.Throws <ArgumentNullException>(() => authService.CreateSession(email) ); }
public void Test_IsValidUser_UserNotFound() { string email = "*****@*****.**"; var mockDbClient = new MockDBClient() .MockContains <User, string>("users", "Email", email, false) .MockFindByField <User, string>("users", "Email", email, new List <User>()); var mockResource = new MockResource().GetDefaultConfig(); AuthService authService = new AuthService(mockDbClient.Object, mockResource.Object); bool result = authService.IsValidUser(email, "password123"); Assert.True(result == false); }
public void Test_CreateSession_InvalidEmail() { string email = "*****@*****.**"; var mockDbClient = new MockDBClient() .MockContains <User, string>("users", "Email", email, false); var mockResource = new MockResource().GetDefaultConfig(); AuthService authService = new AuthService(mockDbClient.Object, mockResource.Object); Guid sessionId = authService.CreateSession(email); Assert.True(sessionId != null); Assert.True(sessionId == Guid.Empty); }
public void Test_IsValidUser_NullInput() { var mockDbClient = new MockDBClient() .MockContains <User, string>("users", "Email", null, false) .MockFindByField <User, string>("users", "Email", null, null); var mockResource = new MockResource().GetDefaultConfig(); AuthService authService = new AuthService(mockDbClient.Object, mockResource.Object); Assert.Throws <ArgumentNullException>(() => authService.IsValidUser(null, null) ); Assert.Throws <ArgumentNullException>(() => authService.IsValidUser("*****@*****.**", null) ); Assert.Throws <ArgumentNullException>(() => authService.IsValidUser(null, "MyAwesomePassword") ); }