示例#1
0
        public void DifferentUserNameReturnsFalse()
        {
            UserPermission assertion = new UserPermission("johndoe", SecurityRight.Inherit, SecurityRight.Inherit, SecurityRight.Allow, SecurityRight.Inherit);
            bool           result    = assertion.CheckUser(null, "janedoe");

            Assert.IsFalse(result);
        }
示例#2
0
        public void MatchingUserNameReturnsTrue()
        {
            UserPermission assertion = new UserPermission("johndoe", SecurityRight.Inherit, SecurityRight.Inherit, SecurityRight.Allow, SecurityRight.Inherit);
            bool           result    = assertion.CheckUser(null, "johndoe");

            Assert.IsTrue(result);
        }
示例#3
0
        public void CheckUserWithInvalidReference()
        {
            string           userName     = "******";
            string           badReference = "doesNotExist";
            ISecurityManager manager      = mocks.Create <ISecurityManager>(MockBehavior.Strict).Object;

            Mock.Get(manager).Setup(_manager => _manager.RetrievePermission(badReference)).Returns((IPermission)null).Verifiable();

            UserPermission assertion = new UserPermission();

            assertion.RefId = badReference;
            Assert.That(delegate { assertion.CheckUser(manager, userName); },
                        Throws.TypeOf <BadReferenceException>().With.Message.EqualTo("Reference 'doesNotExist' is either incorrect or missing."));
        }
示例#4
0
        public void CheckUserWithInvalidReference()
        {
            string           userName     = "******";
            string           badReference = "doesNotExist";
            ISecurityManager manager      = mocks.StrictMock <ISecurityManager>();

            Expect.Call(manager.RetrievePermission(badReference)).Return(null);

            mocks.ReplayAll();
            UserPermission assertion = new UserPermission();

            assertion.RefId = badReference;
            Assert.That(delegate { assertion.CheckUser(manager, userName); },
                        Throws.TypeOf <BadReferenceException>().With.Message.EqualTo("Reference 'doesNotExist' is either incorrect or missing."));
        }
示例#5
0
        public void CheckUserWithValidReference()
        {
            string           userName      = "******";
            string           goodReference = "doesExist";
            IPermission      goodAssertion = mocks.Create <IPermission>(MockBehavior.Strict).Object;
            ISecurityManager manager       = mocks.Create <ISecurityManager>(MockBehavior.Strict).Object;

            Mock.Get(manager).Setup(_manager => _manager.RetrievePermission(goodReference)).Returns(goodAssertion).Verifiable();
            Mock.Get(goodAssertion).Setup(_goodAssertion => _goodAssertion.CheckUser(manager, userName)).Returns(true).Verifiable();

            UserPermission assertion = new UserPermission();

            assertion.RefId = goodReference;
            bool result = assertion.CheckUser(manager, userName);

            Assert.IsTrue(result);
            mocks.VerifyAll();
        }
示例#6
0
        public void CheckUserWithValidReference()
        {
            string           userName      = "******";
            string           goodReference = "doesExist";
            IPermission      goodAssertion = mocks.StrictMock <IPermission>();
            ISecurityManager manager       = mocks.StrictMock <ISecurityManager>();

            Expect.Call(manager.RetrievePermission(goodReference)).Return(goodAssertion);
            Expect.Call(goodAssertion.CheckUser(manager, userName)).Return(true);

            mocks.ReplayAll();
            UserPermission assertion = new UserPermission();

            assertion.RefId = goodReference;
            bool result = assertion.CheckUser(manager, userName);

            Assert.IsTrue(result);
            mocks.VerifyAll();
        }