Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        public async Task <UserDTO> Login(string Email, string Password)
        {
            var result = await _queries.GetUserByCredentialsAsync(Email, SHA256Service.GetHashedString(Password));

            return(result);
        }