Esempio n. 1
0
        public void Test_ValidateByUserName_Return_True()
        {
            var customer = new Customer()
            {
                Username   = "******",
                Membership = new Membership()
                {
                    IsLockedOut = false,
                    IsApproved  = true,
                    Password    = "******"
                }
            };
            var customerProvider = new Mock <ICustomerProvider>();

            customerProvider.Setup(it => it.QueryByUserName("test"))
            .Returns(customer);
            var customerService   = new Mock <ICustomerService>();
            var passwordEncryptor = new Mock <IPasswordEncryptor>();

            passwordEncryptor.Setup(it => it.EncryptPassword("test", null))
            .Returns("test");

            CustomerMembershipService customerMemberhipService = new CustomerMembershipService(
                customerProvider.Object, customerService.Object, passwordEncryptor.Object);

            Assert.IsTrue(customerMemberhipService.ValidateByUserName("test", "test").Success);

            Assert.AreEqual(0, customer.Membership.FailedPasswordAttemptCount);
        }
Esempio n. 2
0
        public void Test_ValidateByUserName_PasswordInvalid()
        {
            var customerProvider = new Mock <ICustomerProvider>();

            customerProvider.Setup(it => it.QueryByUserName("test"))
            .Returns(new Customer()
            {
                Username   = "******",
                Membership = new Membership()
                {
                    IsLockedOut = false,
                    IsApproved  = true,
                    Password    = "******"
                }
            }
                     );
            var customerService   = new Mock <ICustomerService>();
            var passwordEncryptor = new Mock <IPasswordEncryptor>();

            CustomerMembershipService customerMemberhipService = new CustomerMembershipService(
                customerProvider.Object, customerService.Object, passwordEncryptor.Object);

            var result = customerMemberhipService.ValidateByUserName("test", "test");

            Assert.IsFalse(result.Success);
            Assert.AreEqual("Username and/or password are incorrect.", result.Errors[0]);
        }
Esempio n. 3
0
        public void Test_ValidateByUserName_LockedOut()
        {
            var customerProvider = new Mock <ICustomerProvider>();

            customerProvider.Setup(it => it.QueryByUserName("test"))
            .Returns(new Customer()
            {
                Username   = "******",
                Membership = new Membership()
                {
                    IsLockedOut = true,
                    IsApproved  = true,
                    Password    = "******"
                }
            }
                     );
            var customerService   = new Mock <ICustomerService>();
            var passwordEncryptor = new Mock <IPasswordEncryptor>();

            passwordEncryptor.Setup(it => it.EncryptPassword("test", null))
            .Returns("test");
            CustomerMembershipService customerMemberhipService = new CustomerMembershipService(
                customerProvider.Object, customerService.Object, passwordEncryptor.Object);

            var result = customerMemberhipService.ValidateByUserName("test", "test");

            Assert.IsFalse(result.Success);
            Assert.AreEqual("Account was locked out or not approved.", result.Errors[0]);
        }
Esempio n. 4
0
        public void Test_ValidateByUserName_UserNotExists()
        {
            var customerProvider  = new Mock <ICustomerProvider>();
            var customerService   = new Mock <ICustomerService>();
            var passwordEncryptor = new Mock <IPasswordEncryptor>();

            CustomerMembershipService customerMemberhipService = new CustomerMembershipService(
                customerProvider.Object, customerService.Object, passwordEncryptor.Object);

            var result = customerMemberhipService.ValidateByUserName("test", "test");

            Assert.IsFalse(result.Success);
            Assert.AreEqual("Username and/or password are incorrect.", result.Errors[0]);
        }
Esempio n. 5
0
        public void Test_ResetPassowrdResult()
        {
            var customer = new Customer()
            {
                Username   = "******",
                Email      = "*****@*****.**",
                Membership = new Membership()
                {
                    Password           = "******",
                    IsApproved         = true,
                    ResetPasswordToken = "123456"
                }
            };
            var customerProvider = new Mock <ICustomerProvider>();

            customerProvider.Setup(it => it.QueryByUserName("test"))
            .Returns(customer);

            var      customerService = new Mock <ICustomerService>();
            Customer updateCustomer  = null;

            customerService.Setup(it => it.Update(It.IsAny <Customer>()))
            .Callback <Customer>((c) =>
            {
                updateCustomer = c;
            });

            var passwordEncryptor = new Mock <IPasswordEncryptor>();

            passwordEncryptor.Setup(it => it.EncryptPassword(It.IsAny <string>(), It.IsAny <string>()))
            .Returns <string, string>((p, salt) => p);

            CustomerMembershipService customerMemberhipService = new CustomerMembershipService(
                customerProvider.Object, customerService.Object, passwordEncryptor.Object);

            ResetPasswordRequest request = new ResetPasswordRequest()
            {
                Username           = "******",
                NewPassword        = "******",
                ResetPasswordToken = "123456"
            };

            var result = customerMemberhipService.ResetPassowrd(request);

            Assert.IsTrue(result.Success);
            Assert.IsNotNull(updateCustomer);
            Assert.AreEqual(null, updateCustomer.Membership.ResetPasswordToken);
            Assert.AreEqual("new", updateCustomer.Membership.Password);
        }
Esempio n. 6
0
        public void Test_ChangePassword_Incorrect_Old_Password()
        {
            var customer = new Customer()
            {
                Username   = "******",
                Email      = "*****@*****.**",
                Membership = new Membership()
                {
                    Password   = "******",
                    IsApproved = true
                }
            };
            var customerProvider = new Mock <ICustomerProvider>();

            customerProvider.Setup(it => it.QueryByUserName("test"))
            .Returns(customer);

            var      customerService = new Mock <ICustomerService>();
            Customer updateCustomer  = null;

            customerService.Setup(it => it.Update(It.IsAny <Customer>()))
            .Callback <Customer>((c) =>
            {
                updateCustomer = c;
            });

            var passwordEncryptor = new Mock <IPasswordEncryptor>();

            passwordEncryptor.Setup(it => it.EncryptPassword(It.IsAny <string>(), It.IsAny <string>()))
            .Returns <string, string>((p, salt) => p);

            CustomerMembershipService customerMemberhipService = new CustomerMembershipService(
                customerProvider.Object, customerService.Object, passwordEncryptor.Object);

            ChangePasswordRequest request = new ChangePasswordRequest()
            {
                Username    = "******",
                NewPassword = "******",
                OldPassword = "******"
            };
            var result = customerMemberhipService.ChangePassword(request);

            Assert.IsFalse(result.Success);
            Assert.IsNull(updateCustomer);
        }
Esempio n. 7
0
        public void Test_Register()
        {
            var      customerProvider = new Mock <ICustomerProvider>();
            var      customerService  = new Mock <ICustomerService>();
            Customer customer         = null;

            customerService.Setup(it => it.Add(It.IsAny <Customer>()))
            .Callback <Customer>((c) =>
            {
                customer = c;
            });

            var passwordEncryptor = new Mock <IPasswordEncryptor>();

            passwordEncryptor.Setup(it => it.EncryptPassword("test", null))
            .Returns("test");

            CustomerMembershipService customerMemberhipService = new CustomerMembershipService(
                customerProvider.Object, customerService.Object, passwordEncryptor.Object);

            RegistrationRequest request = new RegistrationRequest()
            {
                Username   = "******",
                Email      = "*****@*****.**",
                Password   = "******",
                IsApproved = true
            };
            var result = customerMemberhipService.Register(request);

            Assert.IsTrue(result.Success);
            Assert.IsNotNull(customer);
            Assert.AreEqual(request.Username, customer.Username);
            Assert.AreEqual(request.Email, customer.Email);
            Assert.AreEqual(request.Password, customer.Membership.Password);
            Assert.AreEqual(request.IsApproved, customer.Membership.IsApproved);
        }