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); }
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)); }
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); }
public void OnAuthorizationShouldThrowWhenFilterContextIsNull() { var attribute = new ResourceAuthorizeAttribute(); attribute.OnAuthorization(null); }