public async Task Register(string Email, string Password) { var existingUser = await _queries.GetUserByEmailAsync(Email); if (existingUser != null) { throw new Exception("User already exists."); } else { await _queries.RegisterUserAsync(Email, SHA256Service.GetHashedString(Password)); } }
public void Setup() { _queries = new Mock <IAccountQueries>(); var hashedTestPassword = SHA256Service.GetHashedString("test"); _queries.Setup(c => c.GetUserByCredentialsAsync("test", hashedTestPassword)).ReturnsAsync(new UserDTO() { Email = "test@test", FirstName = "Test", ID = "1", LastName = "TestL" }); _queries.Setup(c => c.GetUserByEmailAsync("test@test")).ReturnsAsync(new UserDTO() { Email = "test@test" }); _queries.Setup(c => c.GetUserDetailsAsync("1")).ReturnsAsync(new UserDetailsDTO() { FirstName = "TestName", LastName = "TestSurename" }); _queries.Setup(c => c.GetUserAddressesAsync("1")).ReturnsAsync(new List <UserAddressDTO>() { new UserAddressDTO() { StreetName = "TestStreetName" } }); _queries.Setup(c => c.GetUserOrders("1")).ReturnsAsync(new List <OrderDTO> { new OrderDTO() { OrderID = 123 } }); _queries.Setup(c => c.SetUserDetails(1, It.IsAny <UserDetailsViewModel>())) .ReturnsAsync(true); _queries.Setup(c => c.SetAddress(1, It.IsAny <UserAddressDTO>())) .ReturnsAsync(true); _queries.Setup(c => c.RemoveUserAddress(1, 1)) .ReturnsAsync(true); _queries.Setup(c => c.SubmitOrder(1, It.IsAny <List <CartProductDTO> >(), It.IsAny <SentOrderViewModel>())) .ReturnsAsync(true); _service = new AccountService(_queries.Object); }
public void SHA256HashingTest() { //Arrange var sha256Service = new SHA256Service(); var bufferLength = 5000; var baseBuffer = new byte[bufferLength]; var random = new Random(); for (int i = 0; i < bufferLength; i++) { baseBuffer[i] = (byte)random.Next(255); } //Act var hashedBuffer = sha256Service.GetHash(baseBuffer); var verifyResult = sha256Service.VerifyHash(baseBuffer, hashedBuffer); //Assert Assert.IsTrue(verifyResult); }
public async Task <UserDTO> Login(string Email, string Password) { var result = await _queries.GetUserByCredentialsAsync(Email, SHA256Service.GetHashedString(Password)); return(result); }