public void HandleRequirementsAsync_UnderThreshold_Succeeds() { var clientManagementStore = GetClientManagementStore(new List <Client>()); var registrationAuthorizationHandler = GetRegistrationAuthorizationHandler(clientManagementStore); var requirement = new RegisteredClientThresholdRequirement(1); var context = new AuthorizationHandlerContext(new[] { requirement }, new TestPrincipal(), null); var result = registrationAuthorizationHandler.HandleAsync(context); if (!result.IsCompleted) { result.RunSynchronously(); } Assert.True(context.HasSucceeded); }
public void HandleRequirementAsync_ExceedsThreshold_Fails() { var clientManagementStore = GetClientManagementStore(new List <Client> { new Client { ClientId = "test-client" } }); var registrationAuthorizationHandler = GetRegistrationAuthorizationHandler(clientManagementStore); var requirement = new RegisteredClientThresholdRequirement(1); var context = new AuthorizationHandlerContext(new[] { requirement }, new TestPrincipal(), null); var result = registrationAuthorizationHandler.HandleAsync(context); if (!result.IsCompleted) { result.RunSynchronously(); } Assert.False(context.HasSucceeded); }
public void HandleRequirementsAsync_ExceedsThresholdButHasScopeClaim_Succeeds() { var clientManagementStore = GetClientManagementStore(new List <Client> { new Client { ClientId = "test-client" } }); var registrationAuthorizationHandler = GetRegistrationAuthorizationHandler(clientManagementStore); var requirement = new RegisteredClientThresholdRequirement(1); var scopeClaim = new Claim(ClaimTypes.Role, _appConfiguration.RegistrationAdminGroup, "claim", _appConfiguration.IssuerUri); var context = new AuthorizationHandlerContext(new[] { requirement }, new TestPrincipal(scopeClaim), null); var result = registrationAuthorizationHandler.HandleAsync(context); if (!result.IsCompleted) { result.RunSynchronously(); } Assert.True(context.HasSucceeded); }