1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-09 20:03:47 -05:00

Use httpContext features for providers

This commit is contained in:
Thomas Rittson
2025-04-02 12:15:19 +10:00
parent 48697c4900
commit 038e6e63b6
8 changed files with 70 additions and 29 deletions

View File

@ -1,6 +1,5 @@
using System.Security.Claims;
using Bit.Api.AdminConsole.Authorization;
using Bit.Api.AdminConsole.Context;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using Microsoft.AspNetCore.Authorization;
@ -50,7 +49,7 @@ public class OrganizationRequirementHandlerTests
// Arrange requirement
var testRequirement = Substitute.For<IOrganizationRequirement>();
testRequirement
.AuthorizeAsync(organizationId, null, Arg.Any<IProviderOrganizationContext>())
.AuthorizeAsync(organizationId, null, Arg.Any<Func<Task<bool>>>())
.ReturnsForAnyArgs(false);
var authContext = new AuthorizationHandlerContext([testRequirement], new ClaimsPrincipal(), null);
@ -58,7 +57,7 @@ public class OrganizationRequirementHandlerTests
await sutProvider.Sut.HandleAsync(authContext);
// Assert
await testRequirement.Received(1).AuthorizeAsync(organizationId, null, Arg.Any<IProviderOrganizationContext>());
await testRequirement.Received(1).AuthorizeAsync(organizationId, null, Arg.Any<Func<Task<bool>>>());
Assert.False(authContext.HasSucceeded);
}
@ -71,7 +70,7 @@ public class OrganizationRequirementHandlerTests
// Arrange requirement
var testRequirement = Substitute.For<IOrganizationRequirement>();
testRequirement
.AuthorizeAsync(organizationId, null, Arg.Any<IProviderOrganizationContext>())
.AuthorizeAsync(organizationId, null, Arg.Any<Func<Task<bool>>>())
.ReturnsForAnyArgs(true);
var authContext = new AuthorizationHandlerContext([testRequirement], new ClaimsPrincipal(), null);
@ -79,7 +78,7 @@ public class OrganizationRequirementHandlerTests
await sutProvider.Sut.HandleAsync(authContext);
// Assert
await testRequirement.Received(1).AuthorizeAsync(organizationId, null, Arg.Any<IProviderOrganizationContext>());
await testRequirement.Received(1).AuthorizeAsync(organizationId, null, Arg.Any<Func<Task<bool>>>());
Assert.True(authContext.HasSucceeded);
}