public void Test_CreateSessoin_ValidEmailExistingSession() { 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>() } }; Session session = new Session { UserId = users[0].Id, Id = new 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, true) .MockFindByField <Session, Guid>("sessions", "UserId", users[0].Id, new List <Session> { session }); var mockResource = new MockResource().GetDefaultConfig(); AuthService authService = new AuthService(mockDbClient.Object, mockResource.Object); Guid sessionId = authService.CreateSession(email); Assert.True(sessionId == session.Id); }
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") ); }
public void Test_IsValidUser_ValidUser() { // arrange 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(), password, 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(); // act AuthService authService = new AuthService(mockDbClient.Object, mockResource.Object); bool result = authService.IsValidUser(email, password); // assert Assert.True(result); mockDbClient.VerifyAll(); }