public async Task ThenFailsIfProviderUkprnNotInRoute( ProviderUkPrnRequirement requirement, AuthorizationFilterContext contextFilter, ProviderAuthorizationHandler handler) { //Assign var claim = new Claim(ProviderClaims.ProviderUkprn, "1234"); var claimsPrinciple = new ClaimsPrincipal(new[] { new ClaimsIdentity(new[] { claim }) }); var context = new AuthorizationHandlerContext(new[] { requirement }, claimsPrinciple, contextFilter); //Act await handler.HandleAsync(context); //Assert Assert.IsFalse(context.HasSucceeded); }
public async Task Then_Fails_If_No_Provider_Ukprn_Claim( int ukprn, ProviderUkPrnRequirement providerRequirement, [Frozen] Mock <IHttpContextAccessor> httpContextAccessor, ProviderAuthorizationHandler authorizationHandler) { //Arrange var claim = new Claim("NotProviderClaim", ukprn.ToString()); var claimsPrinciple = new ClaimsPrincipal(new[] { new ClaimsIdentity(new[] { claim }) }); var context = new AuthorizationHandlerContext(new [] { providerRequirement }, claimsPrinciple, null); //Act await authorizationHandler.HandleAsync(context); //Assert Assert.IsFalse(context.HasSucceeded); Assert.IsTrue(context.HasFailed); }
public async Task ThenFailsIfUserDoesNotHaveClaim( ProviderUkPrnRequirement requirement, AuthorizationFilterContext contextFilter, ProviderAuthorizationHandler handler) { //Assign var claimsPrinciple = new ClaimsPrincipal(new[] { new ClaimsIdentity(new Claim[0]) }); var context = new AuthorizationHandlerContext(new[] { requirement }, claimsPrinciple, contextFilter); var filter = context.Resource as AuthorizationFilterContext; filter.RouteData.Values.Add(RouteValues.UkPrn, 1234); //Act await handler.HandleAsync(context); //Assert Assert.IsFalse(context.HasSucceeded); }
public async Task ThenSucceedsIfProviderIsAuthorised( ProviderUkPrnRequirement requirement, AuthorizationFilterContext contextFilter, ProviderAuthorizationHandler handler) { //Assign var claim = new Claim(ProviderClaims.ProviderUkprn, "1234"); var claimsPrinciple = new ClaimsPrincipal(new[] { new ClaimsIdentity(new[] { claim }) }); var context = new AuthorizationHandlerContext(new[] { requirement }, claimsPrinciple, contextFilter); var filter = context.Resource as AuthorizationFilterContext; filter.RouteData.Values.Add(RouteValues.UkPrn, 1234); //Act await handler.HandleAsync(context); //Assert Assert.IsTrue(context.HasSucceeded); }
public async Task Then_If_There_Is_No_Ukrpn_In_Route_But_Has_Claim_Then_Succeeds( int ukprn, ProviderUkPrnRequirement providerRequirement, [Frozen] Mock <IHttpContextAccessor> httpContextAccessor, ProviderAuthorizationHandler authorizationHandler) { //Arrange var responseMock = new FeatureCollection(); var httpContext = new DefaultHttpContext(responseMock); httpContextAccessor.Setup(_ => _.HttpContext).Returns(httpContext); var claim = new Claim(ProviderClaims.ProviderUkprn, ukprn.ToString()); var claimsPrinciple = new ClaimsPrincipal(new[] { new ClaimsIdentity(new[] { claim }) }); var context = new AuthorizationHandlerContext(new [] { providerRequirement }, claimsPrinciple, null); //Act await authorizationHandler.HandleAsync(context); //Assert Assert.IsTrue(context.HasSucceeded); Assert.IsFalse(context.HasFailed); }