예제 #1
0
        public void JudgeEnforcePass()
        {
            // The default Advise implementation for JudgeDummy is to always return true.
            var judgeDummy = new JudgeDummy();

            judgeDummy.Enforce("any-law");
        }
예제 #2
0
        public void PrincipalWithCurrentUser()
        {
            var judge            = new JudgeDummy();
            var expectedUserName = getCurrentUserName();

            Assert.AreEqual(expectedUserName, judge.Principal.Identity.Name);
        }
예제 #3
0
        public void JudgeEnforceFail()
        {
            // JudgeDummy evil twin that always Advise to false (just like
            //the real Judge Death)
            var judgeDeath = new JudgeDummy((l, a) => false);

            judgeDeath.Enforce("any-law");
        }
예제 #4
0
        public void ThreadOverridenPrincipal()
        {
            IPrincipal initialPrincipal = Thread.CurrentPrincipal;

            Thread.CurrentPrincipal = new GenericPrincipal(new GenericIdentity("vienna"), new string[0]);
            var judge          = new JudgeDummy();
            var judgePrincipal = judge.Principal;

            Thread.CurrentPrincipal = initialPrincipal;
            Assert.AreEqual("vienna", judgePrincipal.Identity.Name);
        }
예제 #5
0
        public void JudgeOverridenPrincipal()
        {
            var judge = new JudgeDummy();

            judge.Principal = new GenericPrincipal(new GenericIdentity("rico"), new string[0]);
            Assert.AreEqual("rico", judge.Principal.Identity.Name);

            judge.Principal = null;
            var expectedUserName = getCurrentUserName();

            Assert.AreEqual(expectedUserName, judge.Principal.Identity.Name);
        }