public void OnAuthorization_NotAuthenticated_RedirectsToLogin()
        {
            AuthorizationContext action = new AuthorizationContext();

            action.ActionDescriptor = Substitute.For <ActionDescriptor>();
            HttpContextBase context = HttpContextFactory.CreateHttpContextBase();
            AuthorizationFilterAttribute attribute = new AuthorizationFilterAttribute {
                Users = "None"
            };

            action.RouteData = context.Request.RequestContext.RouteData;
            action.RouteData.Values["test"] = "Test";
            action.HttpContext = context;

            attribute.OnAuthorization(action);

            RouteValueDictionary actual = (action.Result as RedirectToRouteResult).RouteValues;

            Assert.Equal(action.RouteData.Values["language"], actual["language"]);
            Assert.Equal(action.HttpContext.Request.RawUrl, actual["returnUrl"]);
            Assert.Equal("Auth", actual["controller"]);
            Assert.Equal("Login", actual["action"]);
            Assert.Equal("", actual["area"]);
            Assert.Equal(5, actual.Count);
        }
 public override void OnAuthorization(HttpActionContext actionContext)
 {
     _traceStore.TraceBeginEnd(
         actionContext.ControllerContext.Request,
         TraceCategories.FiltersCategory,
         TraceLevel.Info,
         _innerFilter.GetType().Name,
         OnAuthorizationMethodName,
         beginTrace: (tr) =>
     {
         HttpResponseMessage response = actionContext.Response;
         if (response != null)
         {
             tr.Status = response.StatusCode;
         }
     },
         execute: () => { _innerFilter.OnAuthorization(actionContext); },
         endTrace: (tr) =>
     {
         HttpResponseMessage response = actionContext.Response;
         if (response != null)
         {
             tr.Status = response.StatusCode;
         }
     },
         errorTrace: (tr) =>
     {
         HttpResponseMessage response = actionContext.Response;
         if (response != null)
         {
             tr.Status = response.StatusCode;
         }
     });
 }
Example #3
0
        public void OnAuthorization_UserRoleHasAccess_ShouldReturnSuccess()
        {
            // Arrange
            expectedSession.User.Role = new UserRole()
            {
                Name = SuperAdminRole
            };
            authorizationFilter.Roles = new[] { SuperAdminRole };

            // Act
            authorizationFilter.OnAuthorization(authorizationContext);
            var actualActionResult = authorizationContext.Result;

            // Assert
            Assert.AreEqual(expectedActionResult, actualActionResult);
            Assert.IsNull(actualActionResult);
        }