public void Permissions_Fail_NoPerms_Test() { var claims = Array.Empty <Claim>(); var ctx = ActionExecutingContextFactory(claims); var attrib = new PermissionsFilterAttribute(new[] { "v1:w:data", "v2:2:data" }); attrib.OnActionExecuting(ctx); Assert.IsInstanceOfType(ctx.Result, typeof(UnauthorizedObjectResult)); }
public void ScopedPermission_Fail_Test() { var claims = new[] { new Claim(BaseActionFilterAttribute.DefaultScopeClaimType, "openid profile email offline_access") }; var ctx = ActionExecutingContextFactory(claims); var attrib = new PermissionsFilterAttribute(new[] { "v1:w:data", "v2:2:data" }, allowScopes: true); attrib.OnActionExecuting(ctx); Assert.IsInstanceOfType(ctx.Result, typeof(UnauthorizedObjectResult)); }
public void Scoped_Permissions_Pass_Many2Many_Test() { var claims = new[] { new Claim(BaseActionFilterAttribute.DefaultScopeClaimType, "openid profile email offline_access v1:w:data") }; var ctx = ActionExecutingContextFactory(claims); var attrib = new PermissionsFilterAttribute(new[] { "v1:w:data", "v2:2:data" }); attrib.OnActionExecuting(ctx); Assert.IsNull(ctx.Result); }
public void Permissions_Pass_Single_Test() { var claims = new[] { new Claim(BaseActionFilterAttribute.DefaultPermissionClaimType, "v1:w:data") }; var ctx = ActionExecutingContextFactory(claims); var attrib = new PermissionsFilterAttribute(new[] { "v1:w:data" }); attrib.OnActionExecuting(ctx); Assert.IsNull(ctx.Result); }
public void Permissions_Fail_Test() { var claims = new[] { new Claim(BaseActionFilterAttribute.DefaultPermissionClaimType, "v4:w:data"), new Claim(BaseActionFilterAttribute.DefaultPermissionClaimType, "v3:w:data") }; var ctx = ActionExecutingContextFactory(claims); var attrib = new PermissionsFilterAttribute(new[] { "v1:w:data", "v2:2:data" }); attrib.OnActionExecuting(ctx); Assert.IsInstanceOfType(ctx.Result, typeof(UnauthorizedObjectResult)); }