public void GetUserNameByEmail_Creates_a_FindUserByEmailQuery_and_Passes_it_to_Repository()
        {
            var email = "*****@*****.**";
            var appName = "myApp";
            var findUsersByEmailQuery = new FindUserByEmailQuery(email, appName);
            _queryFactory.Setup(qf => qf.createFindUserByEmailQuery(email, appName)).Returns(findUsersByEmailQuery);

            testObject.GetUserNameByEmail(email);

            _repository.Verify(r => r.GetOne(findUsersByEmailQuery));
        }
        public void FindUsersByEmailQuery_Correctly_Builds_Expression()
        {
            var testObject = new FindUserByEmailQuery("*****@*****.**", "myApp");

            var exp = testObject.MatchingCriteria;
            Expression body = exp.Body;

            Assert.Equal(ExpressionType.AndAlso, body.NodeType);
            Assert.Contains("(user.Email == value(nHibernate.Membership.Provider.Queries.FindUserByEmailQuery)._emailAddress)", body.ToString());
            Assert.Contains("(user.ApplicationName == value(nHibernate.Membership.Provider.Queries.FindUserByEmailQuery)._applicationName)", body.ToString());
        }
Example #3
0
        public void FindUsersByEmailQuery_Correctly_Builds_Expression()
        {
            var testObject = new FindUserByEmailQuery("*****@*****.**", "myApp");

            var        exp  = testObject.MatchingCriteria;
            Expression body = exp.Body;

            Assert.Equal(ExpressionType.AndAlso, body.NodeType);
            Assert.Contains("(user.Email == value(nHibernate.Membership.Provider.Queries.FindUserByEmailQuery)._emailAddress)", body.ToString());
            Assert.Contains("(user.ApplicationName == value(nHibernate.Membership.Provider.Queries.FindUserByEmailQuery)._applicationName)", body.ToString());
        }
        public void GetUserNameByEmail_Creates_a_FindUserByEmailQuery_and_Passes_it_to_Repository()
        {
            var email   = "*****@*****.**";
            var appName = "myApp";
            var findUsersByEmailQuery = new FindUserByEmailQuery(email, appName);

            _queryFactory.Setup(qf => qf.createFindUserByEmailQuery(email, appName)).Returns(findUsersByEmailQuery);

            testObject.GetUserNameByEmail(email);

            _repository.Verify(r => r.GetOne(findUsersByEmailQuery));
        }
Example #5
0
        public User Create(string email, string plainTextPassword)
        {
            var query = new FindUserByEmailQuery(email);
            var existingUser = _queryExecutor.Execute(query);
            if (existingUser.Count > 0)
            {
                throw new EmailAddressAlreadyTakenException();
            }

            var hashedPassword = _passwordHashingService.SaltAndHash(plainTextPassword);
            var user = User.Register(email, hashedPassword, _clock.UtcNow);
            _userRepository.Add(user);

            return user;
        }
Example #6
0
        public User Create(string email, string plainTextPassword)
        {
            var query        = new FindUserByEmailQuery(email);
            var existingUser = _queryExecutor.Execute(query);

            if (existingUser.Count > 0)
            {
                throw new EmailAddressAlreadyTakenException();
            }

            var hashedPassword = _passwordHashingService.SaltAndHash(plainTextPassword);
            var user           = User.Register(email, hashedPassword, _clock.UtcNow);

            _userRepository.Add(user);

            return(user);
        }
Example #7
0
        public AuthenticationResult Authenticate(string email, string password)
        {
            var query = new FindUserByEmailQuery(email);
            var user  = _queryExecutor.Execute(query).FirstOrDefault();

            if (user == null)
            {
                return(new AuthenticationResult
                {
                    Success = false,
                    FailureReason = "Email address is unknown"
                });
            }

            var isPasswordCorrect = _passwordHashingService.TryVerify(password, user.HashedPassword);

            if (!isPasswordCorrect)
            {
                return(new AuthenticationResult
                {
                    Success = false,
                    FailureReason = "Password is incorrect"
                });
            }

            var claims = new List <Claim>
            {
                new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()),
                new Claim(ClaimTypes.Role, "User"),
                new Claim(ClaimTypes.Name, user.Email)
            };

            var token = _authTokenService.GenerateAuthToken(user.Id, claims);

            return(new AuthenticationResult
            {
                Success = true,
                AuthToken = token
            });
        }
Example #8
0
        public AuthenticationResult Authenticate(string email, string password)
        {
            var query = new FindUserByEmailQuery(email);
            var user = _queryExecutor.Execute(query).FirstOrDefault();
            if (user == null)
            {
                return new AuthenticationResult
                {
                    Success = false,
                    FailureReason = "Email address is unknown"
                };
            }

            var isPasswordCorrect = _passwordHashingService.TryVerify(password, user.HashedPassword);
            if (!isPasswordCorrect)
            {
                return new AuthenticationResult
                {
                    Success = false,
                    FailureReason = "Password is incorrect"
                };
            }

            var claims = new List<Claim>
            {
                new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()),
                new Claim(ClaimTypes.Role, "User"),
                new Claim(ClaimTypes.Name, user.Email)
            };

            var token = _authTokenService.GenerateAuthToken(user.Id, claims);

            return new AuthenticationResult
            {
                Success = true,
                AuthToken = token
            };
        }