コード例 #1
0
        private static void AssertSetterSets(string propertyName)
        {
            const string test     = "test";
            var          property = typeof(ResourceAuthorizeAttribute).GetProperty(propertyName);

            Assert.AreEqual(typeof(string), property.PropertyType);
            var attribute            = new ResourceAuthorizeAttribute();
            var initialPropertyValue = (string)property.GetValue(attribute);

            Assert.IsTrue(string.IsNullOrWhiteSpace(initialPropertyValue));
            property.SetValue(attribute, test);
            var newPropertyValue = property.GetValue(attribute);

            Assert.AreEqual(test, newPropertyValue);
        }
コード例 #2
0
        public void UserShouldNotBeAuthorized()
        {
            var options    = new AuthorizationOptions();
            var controller = Repository.Create <ControllerBase>();

            controller.As <IAuthorizationController>().Setup(x => x.AuthorizationOptions).Returns(options);

            var authorizationContext = new System.Web.Mvc.AuthorizationContext
            {
                HttpContext      = SetupHttpContextBase().Object,
                ActionDescriptor = SetupAllowAnonymous(false).Object,
                Controller       = controller.Object
            };

            var attribute = new ResourceAuthorizeAttribute();

            attribute.OnAuthorization(authorizationContext);
            Assert.IsInstanceOfType(authorizationContext.Result, typeof(HttpUnauthorizedResult));
        }
コード例 #3
0
        public void OnBeAuthorizationShouldNotThrowOnMultipleCalls()
        {
            var options    = new AuthorizationOptions();
            var controller = Repository.Create <ControllerBase>();

            controller.As <IAuthorizationController>().Setup(x => x.AuthorizationOptions).Returns(options);

            var authorizationContext = new System.Web.Mvc.AuthorizationContext
            {
                HttpContext      = SetupHttpContextBase().Object,
                ActionDescriptor = SetupAllowAnonymous(false).Object,
                Controller       = controller.Object
            };

            var attribute = new ResourceAuthorizeAttribute();

            attribute.OnAuthorization(authorizationContext);
            // the next line should not throw
            attribute.OnAuthorization(authorizationContext);
        }
コード例 #4
0
        public void OnAuthorizationShouldThrowWhenFilterContextIsNull()
        {
            var attribute = new ResourceAuthorizeAttribute();

            attribute.OnAuthorization(null);
        }