예제 #1
0
        public void ById_IdAsStringThatIsAssociatedToUser_ReturnsUser()
        {
            var users = Fakes.Users();

            InsertFakeUsers(users);

            Assert.That(_autoMoqer.Resolve <UserService>().ById(users[0].Id.ToString()).Username, Is.EqualTo(users[0].Username));
        }
예제 #2
0
        public void ByUsernameAndPassword_NoUserWithUsernameExists_ReturnsNull()
        {
            var usernameThatDoesntExist = "UsernameDoesntExist";

            InsertFakeUsers(Fakes.Users());

            Assert.That(_autoMoqer.Resolve <UserService>().ByUsernameAndPassword(usernameThatDoesntExist, "password"), Is.Null);
        }
예제 #3
0
        public void Start_AddsCookieToHttpResponse()
        {
            SetupMockParameters();

            _autoMoqer.Resolve <SessionAuthentication>().Start(Fakes.Users()[0], false);

            Assert.That(_autoMoqer.GetMock <HttpResponseBase>().Object.Cookies.Count, Is.EqualTo(1));
        }
예제 #4
0
        public void Start_ShouldSetSessionData()
        {
            var user = Fakes.Users()[0];

            SetupMockParameters();

            _autoMoqer.Resolve <SessionAuthentication>().Start(user, false);

            _autoMoqer.GetMock <HttpSessionStateBase>().VerifySet(x => x["LoggedInAs"] = user.Username, Times.Once());
        }
예제 #5
0
        public void ByUsernameAndPassword_UserWithUsernameAndPasswordCorrect_ReturnsUsername()
        {
            const string correctPassword = "******";
            var          users           = Fakes.Users();

            InsertFakeUsers(users);

            _autoMoqer.GetMock <IEncryption>().Setup(x => x.DecryptCompare(correctPassword, It.IsAny <Password>())).Returns(true);

            Assert.That(_autoMoqer.Resolve <UserService>().ByUsernameAndPassword(users[0].Username, correctPassword).Id, Is.EqualTo(users[0].Id));
        }
예제 #6
0
        public void ByUsernameAndPassword_UserWithUsernameButIncorrectPassword_ReturnsNull()
        {
            const string incorrectPassword = "******";
            var          users             = Fakes.Users();

            InsertFakeUsers(users);

            _autoMoqer.GetMock <IEncryption>().Setup(x => x.DecryptCompare(incorrectPassword, It.IsAny <Password>())).Returns(false);

            Assert.That(_autoMoqer.Resolve <UserService>().ByUsernameAndPassword(users[0].Username, incorrectPassword), Is.Null);
        }
예제 #7
0
        public void Start_RememberMe_AddsEncyrptedTicketWithLongExpirationDateToCookie()
        {
            var user = Fakes.Users()[0];
            var expectedExpirationDate = DateTime.Now.AddDays(RememberMeTimeout);

            SetupMockParameters();

            _autoMoqer.Resolve <SessionAuthentication>().Start(user, true);

            Assert.That(GetDecryptedTicket().Expiration.ToShortDateString(), Is.EqualTo(expectedExpirationDate.ToShortDateString()));
        }
예제 #8
0
        public void Start_NotSelectedRemember_AddsEncryptedTicketWithShortExpirationDateToCookie()
        {
            var user = Fakes.Users()[0];
            var expectedExpirationDate = DateTime.Now.AddMinutes(InactivateSessionTimeout);

            SetupMockParameters();

            _autoMoqer.Resolve <SessionAuthentication>().Start(user, false);

            Assert.That(GetDecryptedTicket().Expiration.ToString(), Is.EqualTo(expectedExpirationDate.ToString()));
        }
예제 #9
0
        public void Start_AddsEncryptedTicketThatSpecifiesUserRolesToCookie()
        {
            var user             = Fakes.Users()[0];
            var expectedUserData = string.Join(",", user.Roles.ToArray());

            SetupMockParameters();

            _autoMoqer.Resolve <SessionAuthentication>().Start(user, false);

            Assert.That(GetDecryptedTicket().UserData, Is.EqualTo(expectedUserData));
        }
예제 #10
0
        public void Start_AddsEncryptedTicketThatIdentifiesTheUserToCookie()
        {
            var user         = Fakes.Users()[0];
            var expectedName = user.Id.ToString();

            SetupMockParameters();

            _autoMoqer.Resolve <SessionAuthentication>().Start(user, false);

            Assert.That(GetDecryptedTicket().Name, Is.EqualTo(expectedName));
        }
예제 #11
0
        public void Start_RememberMe_SetsLongExpirationDateOnCookie()
        {
            var user = Fakes.Users()[0];
            var expectedExpirationDate = DateTime.Now.AddDays(RememberMeTimeout);

            SetupMockParameters();

            _autoMoqer.Resolve <SessionAuthentication>().Start(user, true);

            var cookie = _autoMoqer.GetMock <HttpResponseBase>().Object.Cookies[0];

            Assert.That(cookie.Expires.ToShortDateString(), Is.EqualTo(expectedExpirationDate.ToShortDateString()));
        }
예제 #12
0
 public void ById_IdThatIsntAssociatedToUser_ReturnsNull()
 {
     InsertFakeUsers(Fakes.Users());
     Assert.That(_autoMoqer.Resolve <UserService>().ById(ObjectId.GenerateNewId()), Is.Null);
 }
예제 #13
0
 public void AtLeastOneExists_UsersInDatabase_ReturnsTrue()
 {
     InsertFakeUsers(Fakes.Users());
     Assert.That(_autoMoqer.Resolve <UserService>().AtLeastOneExists(), Is.True);
 }