public void Test_RoleRequirementFilter_NoFeatureFlagsSupplied() { // Arrange var mockFeatureFlags = new Mock <IFeatureFlag>(); var filter = new RoleRequirementFilter(new string[] { "" }); var authContext = new AuthorizationFilterContext(new ActionContext { HttpContext = FakeHttpContext.GetRequestHttpContext(new byte[] { }), RouteData = new RouteData(), ActionDescriptor = new ActionDescriptor() { AttributeRouteInfo = new AttributeRouteInfo() } }, new List <IFilterMetadata>()); authContext.HttpContext.User = new System.Security.Claims.ClaimsPrincipal( new ClaimsIdentity(new List <Claim> { new Claim("oid", "token") }) ); // Act filter.OnAuthorization(authContext); // Assert mockFeatureFlags.Verify(m => m.GetFeatureFlag(It.IsAny <string>(), It.IsAny <bool>()), Times.Never); }
public void Test_RoleRequirementFilter_NoFeatureFlagsSupplied_ValidRoles() { // Arrange var filter = new RoleRequirementFilter(new string[] { "TestRole" }); var authContext = new AuthorizationFilterContext(new ActionContext { HttpContext = FakeHttpContext.GetRequestHttpContext(new byte[] { }), RouteData = new RouteData(), ActionDescriptor = new ActionDescriptor() { AttributeRouteInfo = new AttributeRouteInfo() } }, new List <IFilterMetadata>()); authContext.HttpContext.User = new System.Security.Claims.ClaimsPrincipal( new ClaimsIdentity(new List <Claim> { new Claim("oid", "token"), new Claim(ClaimTypes.Role, "TestRole") }) ); // Act filter.OnAuthorization(authContext); // Assert Assert.Null(authContext.Result); }
public void Test_RoleRequirementFilter_FeatureFlagsSupplied_RolesAuthOff() { // Arrange var mockFeatureFlags = new Mock <IFeatureFlag>(); mockFeatureFlags.Setup(m => m.GetFeatureFlag( It.IsAny <string>(), It.IsAny <bool>() )).Returns(false); var filter = new RoleRequirementFilter(new string[] { "TestRole" }, mockFeatureFlags.Object); var authContext = new AuthorizationFilterContext(new ActionContext { HttpContext = FakeHttpContext.GetRequestHttpContext(new byte[] { }), RouteData = new RouteData(), ActionDescriptor = new ActionDescriptor() { AttributeRouteInfo = new AttributeRouteInfo() } }, new List <IFilterMetadata>()); authContext.HttpContext.User = new ClaimsPrincipal( new ClaimsIdentity(new List <Claim> { new Claim("oid", "token"), new Claim(ClaimTypes.Role, "InvalidTestRole") })); // Act filter.OnAuthorization(authContext); // Assert Assert.Null(authContext.Result); }