public void given_nosession_and_no_attribute_returns_deny()
        {
            var policy = new AccessGroupAuthorizationPolicy<TestGetHandlerWithNoAttribute>(
                securityContextMock.Object,
                userData);

            Assert.AreEqual(
                AuthorizationRight.Deny,
                policy.RightsFor(fubuRequestMock.Object));
        }
        public void given_nosession_and_nogroupstomatch_returns_allow()
        {
            var policy = new AccessGroupAuthorizationPolicy<TestGetHandlerWithEmptyAttribute>(
                securityContextMock.Object,
                userData);

            Assert.AreEqual(
                AuthorizationRight.Allow,
                policy.RightsFor(fubuRequestMock.Object));
        }
        public void given_nosession_and_nogroupstomatch_returns_allow()
        {
            var policy = new AccessGroupAuthorizationPolicy <TestGetHandlerWithEmptyAttribute>(
                securityContextMock.Object,
                userData);

            Assert.AreEqual(
                AuthorizationRight.Allow,
                policy.RightsFor(fubuRequestMock.Object));
        }
        public void given_nosession_and_no_attribute_returns_deny()
        {
            var policy = new AccessGroupAuthorizationPolicy <TestGetHandlerWithNoAttribute>(
                securityContextMock.Object,
                userData);

            Assert.AreEqual(
                AuthorizationRight.Deny,
                policy.RightsFor(fubuRequestMock.Object));
        }
        public void given_validsession_and_oneandonly_matching_attribute_returns_allow()
        {
            SetupValidSession("LevelOneUser");

            var policy = new AccessGroupAuthorizationPolicy <TestGetHandlerWithLevelOneAttribute>(
                securityContextMock.Object,
                userData);

            Assert.AreEqual(
                AuthorizationRight.Allow,
                policy.RightsFor(fubuRequestMock.Object));
        }
        public void given_validsession_and_unknown_user_returns_denied()
        {
            SetupValidSession("UserDoesNotExist");

            var policy = new AccessGroupAuthorizationPolicy <TestGetHandlerWithLevelOneAndTwoAttributes>(
                securityContextMock.Object,
                userData);

            Assert.AreEqual(
                AuthorizationRight.Deny,
                policy.RightsFor(fubuRequestMock.Object));
        }
        public void given_validsession_and_oneandonly_matching_attribute_returns_allow()
        {
            SetupValidSession("LevelOneUser");

            var policy = new AccessGroupAuthorizationPolicy<TestGetHandlerWithLevelOneAttribute>(
                securityContextMock.Object,
                userData);

            Assert.AreEqual(
                AuthorizationRight.Allow,
                policy.RightsFor(fubuRequestMock.Object));
        }
        public void given_validsession_and_unknown_user_returns_denied()
        {
            SetupValidSession("UserDoesNotExist");

            var policy = new AccessGroupAuthorizationPolicy<TestGetHandlerWithLevelOneAndTwoAttributes>(
                securityContextMock.Object,
                userData);

            Assert.AreEqual(
                AuthorizationRight.Deny,
                policy.RightsFor(fubuRequestMock.Object));
        }