diff --git a/src/Api/Vault/AuthorizationHandlers/Collections/CollectionAuthorizationHandler.cs b/src/Api/Vault/AuthorizationHandlers/Collections/CollectionAuthorizationHandler.cs index 0ac2d6fa7e..e48a0b485a 100644 --- a/src/Api/Vault/AuthorizationHandlers/Collections/CollectionAuthorizationHandler.cs +++ b/src/Api/Vault/AuthorizationHandlers/Collections/CollectionAuthorizationHandler.cs @@ -16,7 +16,6 @@ public class CollectionAuthorizationHandler : AuthorizationHandler _featureService.IsEnabled(FeatureFlagKeys.FlexibleCollections, _currentContext); @@ -65,22 +64,21 @@ public class CollectionAuthorizationHandler : AuthorizationHandler sutProvider, CurrentContextOrganization organization) @@ -211,7 +211,7 @@ public class CollectionAuthorizationHandlerTests [Theory] [BitAutoData(OrganizationUserType.User)] [BitAutoData(OrganizationUserType.Custom)] - public async Task CanReadAllWithAccessAsync_WhenMissingAccess_Failure( + public async Task CanReadAllWithAccessAsync_WhenMissingPermissions_NoSuccess( OrganizationUserType userType, SutProvider sutProvider, CurrentContextOrganization organization) @@ -240,25 +240,7 @@ public class CollectionAuthorizationHandlerTests } [Theory, BitAutoData] - public async Task HandleRequirementAsync_MissingUserId_Failure( - Guid organizationId, - SutProvider sutProvider) - { - var context = new AuthorizationHandlerContext( - new[] { CollectionOperations.ReadAll(organizationId) }, - new ClaimsPrincipal(), - null - ); - - // Simulate missing user id - sutProvider.GetDependency().UserId.Returns((Guid?)null); - - await sutProvider.Sut.HandleAsync(context); - Assert.False(context.HasSucceeded); - } - - [Theory, BitAutoData] - public async Task HandleRequirementAsync_MissingOrg_Failure( + public async Task HandleRequirementAsync_WhenMissingOrgAccess_NoSuccess( Guid userId, Guid organizationId, SutProvider sutProvider) @@ -275,4 +257,39 @@ public class CollectionAuthorizationHandlerTests await sutProvider.Sut.HandleAsync(context); Assert.False(context.HasSucceeded); } + + [Theory, BitAutoData] + public async Task HandleRequirementAsync_MissingUserId_Failure( + Guid organizationId, + SutProvider sutProvider) + { + var context = new AuthorizationHandlerContext( + new[] { CollectionOperations.ReadAll(organizationId) }, + new ClaimsPrincipal(), + null + ); + + // Simulate missing user id + sutProvider.GetDependency().UserId.Returns((Guid?)null); + + await sutProvider.Sut.HandleAsync(context); + Assert.True(context.HasFailed); + } + + [Theory, BitAutoData] + public async Task HandleRequirementAsync_NoSpecifiedOrgId_Failure( + SutProvider sutProvider) + { + var context = new AuthorizationHandlerContext( + new[] { CollectionOperations.ReadAll(default) }, + new ClaimsPrincipal(), + null + ); + + sutProvider.GetDependency().UserId.Returns(new Guid()); + + await sutProvider.Sut.HandleAsync(context); + + Assert.True(context.HasFailed); + } }