コード例 #1
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);
        }
コード例 #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 OnAuthorizationShouldThrowWhenFilterContextIsNull()
        {
            var attribute = new ResourceAuthorizeAttribute();

            attribute.OnAuthorization(null);
        }