Skip to content

Split Organization.LimitCollectionCreationDeletion into two separate business rules #3727

Split Organization.LimitCollectionCreationDeletion into two separate business rules

Split Organization.LimitCollectionCreationDeletion into two separate business rules #3727

GitHub Actions / Test Results failed Oct 4, 2024 in 1s

2987 passed, 2 failed and 102 skipped

Tests failed

Report Passed Failed Skipped Time
test/Admin.Test/TestResults/oss-test-results.trx 7✅ 47s
test/Api.IntegrationTest/TestResults/oss-test-results.trx 476✅ 137s
test/Api.Test/TestResults/oss-test-results.trx 549✅ 2❌ 41s
test/Billing.Test/TestResults/oss-test-results.trx 53✅ 1⚪ 18s
test/Common/TestResults/oss-test-results.trx 7✅ 883ms
test/Core.Test/TestResults/oss-test-results.trx 1756✅ 26⚪ 45s
test/Events.Test/TestResults/oss-test-results.trx 1✅ 8s
test/EventsProcessor.Test/TestResults/oss-test-results.trx 1✅ 14s
test/Icons.Test/TestResults/oss-test-results.trx 22✅ 1⚪ 22s
test/Identity.IntegrationTest/TestResults/oss-test-results.trx 72✅ 28s
test/Identity.Test/TestResults/oss-test-results.trx 38✅ 24s
test/Infrastructure.Dapper.Test/TestResults/oss-test-results.trx 3✅ 48s
test/Infrastructure.EFIntegration.Test/TestResults/oss-test-results.trx 1✅ 51⚪ 18s
test/Infrastructure.IntegrationTest/TestResults/oss-test-results.trx 23⚪ 15s
test/Notifications.Test/TestResults/oss-test-results.trx 1✅ 9s

✅ test/Admin.Test/TestResults/oss-test-results.trx

7 tests were completed in 47s with 7 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Admin.Test.Models.UserViewModelTests 7✅ 91ms

✅ test/Api.IntegrationTest/TestResults/oss-test-results.trx

476 tests were completed in 137s with 476 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Bit.Api.IntegrationTest.AdminConsole.Public.Controllers.MembersControllerTests 5✅ 16s
Bit.Api.IntegrationTest.Controllers.AccountsControllerTest 1✅ 6s
Bit.Api.IntegrationTest.Controllers.ConfigControllerTests 4✅ 14s
Bit.Api.IntegrationTest.SecretsManager.Controllers.AccessPoliciesControllerTests 135✅ 56s
Bit.Api.IntegrationTest.SecretsManager.Controllers.CountsControllerTests 38✅ 30s
Bit.Api.IntegrationTest.SecretsManager.Controllers.ProjectsControllerTests 53✅ 33s
Bit.Api.IntegrationTest.SecretsManager.Controllers.SecretsControllerTests 104✅ 46s
Bit.Api.IntegrationTest.SecretsManager.Controllers.SecretsManagerEventsControllerTests 7✅ 6s
Bit.Api.IntegrationTest.SecretsManager.Controllers.SecretsManagerPortingControllerTests 14✅ 10s
Bit.Api.IntegrationTest.SecretsManager.Controllers.SecretsTrashControllerTests 29✅ 25s
Bit.Api.IntegrationTest.SecretsManager.Controllers.ServiceAccountsControllerTests 86✅ 43s

❌ test/Api.Test/TestResults/oss-test-results.trx

551 tests were completed in 41s with 549 passed, 2 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Api.Test.AdminConsole.Queries.OrganizationUserUserDetailsQueryTests 2✅ 49ms
Bit.Api.Test.AdminConsole.Controllers.GroupsControllerPutTests 8✅ 179ms
Bit.Api.Test.AdminConsole.Controllers.GroupsControllerTests 2✅ 34ms
Bit.Api.Test.AdminConsole.Controllers.OrganizationAuthRequestsControllerTests 4✅ 26ms
Bit.Api.Test.AdminConsole.Controllers.OrganizationConnectionsControllerTests 20✅ 118ms
Bit.Api.Test.AdminConsole.Controllers.OrganizationDomainControllerTests 21✅ 79ms
Bit.Api.Test.AdminConsole.Controllers.OrganizationsControllerTests 5✅ 556ms
Bit.Api.Test.AdminConsole.Controllers.OrganizationUserControllerPutTests 7✅ 91ms
Bit.Api.Test.AdminConsole.Controllers.OrganizationUsersControllerTests 20✅ 4s
Bit.Api.Test.AdminConsole.Public.Controllers.GroupsControllerTests 2✅ 26ms
Bit.Api.Test.AdminConsole.Public.Controllers.PoliciesControllerTests 2✅ 102ms
Bit.Api.Test.AdminConsole.Validators.OrganizationUserRotationValidatorTests 7✅ 49ms
Bit.Api.Test.Auth.Controllers.AccountsControllerTests 27✅ 13s
Bit.Api.Test.Auth.Controllers.WebAuthnControllerTests 17✅ 6s
Bit.Api.Test.Auth.Models.Request.OrganizationTwoFactorDuoRequestModelTests 4✅ 14ms
Bit.Api.Test.Auth.Models.Request.TwoFactorDuoRequestModelValidationTests 3✅ 11ms
Bit.Api.Test.Auth.Models.Request.UserTwoFactorDuoRequestModelTests 4✅ 2ms
Bit.Api.Test.Auth.Models.Response.OrganizationTwoFactorDuoResponseModelTests 5✅ 16ms
Bit.Api.Test.Auth.Models.Response.UserTwoFactorDuoResponseModelTests 5✅ 2ms
Bit.Api.Test.Auth.Validators.EmergencyAccessRotationValidatorTests 6✅ 57ms
Bit.Api.Test.Auth.Validators.WebAuthnLoginKeyRotationValidatorTests 3✅ 37ms
Bit.Api.Test.Billing.Controllers.OrganizationBillingControllerTests 6✅ 22ms
Bit.Api.Test.Billing.Controllers.OrganizationsControllerTests 11✅ 100ms
Bit.Api.Test.Billing.Controllers.OrganizationSponsorshipsControllerTests 6✅ 49ms
Bit.Api.Test.Billing.Controllers.ProviderBillingControllerTests 14✅ 173ms
Bit.Api.Test.Billing.Controllers.ProviderClientsControllerTests 5✅ 119ms
Bit.Api.Test.Controllers.CiphersControllerTests 15✅ 230ms
Bit.Api.Test.Controllers.CollectionsControllerTests 13✅ 192ms
Bit.Api.Test.Controllers.ConfigControllerTests 1✅ 20ms
Bit.Api.Test.Controllers.PoliciesControllerTests 4✅ 31ms
Bit.Api.Test.Controllers.SyncControllerTests 4✅ 148ms
Bit.Api.Test.Models.Request.Accounts.KdfRequestModelTests 14✅ 22ms
Bit.Api.Test.Models.Request.Accounts.PremiumRequestModelTests 8✅ 32ms
Bit.Api.Test.Models.Request.SendRequestModelTests 6✅ 55ms
Bit.Api.Test.SecretsManager.Controllers.AccessPoliciesControllerTests 59✅ 333ms
Bit.Api.Test.SecretsManager.Controllers.CountsControllerTests 14✅ 35ms
Bit.Api.Test.SecretsManager.Controllers.ProjectsControllerTests 21✅ 131ms
Bit.Api.Test.SecretsManager.Controllers.RequestSMAccessControllerTests 5✅ 22ms
Bit.Api.Test.SecretsManager.Controllers.SecretsControllerTests 37✅ 179ms
Bit.Api.Test.SecretsManager.Controllers.SecretsManagerEventsControllerTests 3✅ 14ms
Bit.Api.Test.SecretsManager.Controllers.ServiceAccountsControllerTests 22✅ 314ms
Bit.Api.Test.SecretsManager.Utilities.AccessPolicyHelpersTests 5✅ 2ms
Bit.Api.Test.Tools.Controllers.SendsControllerTests 3✅ 114ms
Bit.Api.Test.Tools.Validators.SendRotationValidatorTests 3✅ 66ms
Bit.Api.Test.Utilities.ApiHelpersTests 1✅ 178ms
Bit.Api.Test.Utilities.EnumMatchesAttributeTests 5✅ 2ms
Bit.Api.Test.Vault.AuthorizationHandlers.BulkCollectionAuthorizationHandlerTests 56✅ 2❌ 234ms
Bit.Api.Test.Vault.AuthorizationHandlers.CollectionAuthorizationHandlerTests 20✅ 33ms
Bit.Api.Test.Vault.AuthorizationHandlers.GroupAuthorizationHandlerTests 8✅ 30ms
Bit.Api.Test.Vault.Validators.CipherRotationValidatorTests 3✅ 77ms
Bit.Api.Test.Vault.Validators.FolderRotationValidatorTests 3✅ 90ms

❌ Bit.Api.Test.Vault.AuthorizationHandlers.BulkCollectionAuthorizationHandlerTests

✅ CachesCollectionsWithCanManagePermissions(sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collection1: CollectionDetails { CreationDate = 2025-12-29T05:09:22.1251082, ExternalId = "84abb647-08e0-4fd1-9c7a-5027f7f5ea60", HidePasswords = False, Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Manage = True, ··· }, collection2: CollectionDetails { CreationDate = 2024-08-18T11:25:58.5543675, ExternalId = "6c7b15f7-a5f9-4b52-848f-353ded0b348d", HidePasswords = False, Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Manage = True, ··· }, organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 25413a53-eb24-4ef0-97bf-8e1a0f8c3fcd, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner }, actingUserId: 30430d0f-89ee-4654-90de-2ff10a1de994)
✅ CanCreateAsync_WhenAdminOrOwner_Success(userType: Admin, userId: 08a83274-4c82-4c80-af9c-37a5cc72691f, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2024-03-22T09:28:52.6913514, ExternalId = "a97196cb-346e-4541-b8a9-d28ee43ac907", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name57d1826f-f4af-451f-9b45-86c938cd9b72", OrganizationId = 2c5f8bdd-7457-453a-adcd-809f97a6a694, ··· }, Collection { CreationDate = 2023-04-03T18:40:57.1577705, ExternalId = "369d5b0a-9a46-4063-99e3-72e32bfad93a", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Nameac40411a-21eb-4efb-b43f-62b61439e2f0", OrganizationId = 2c5f8bdd-7457-453a-adcd-809f97a6a694, ··· }, Collection { CreationDate = 2026-02-20T17:11:39.6188704, ExternalId = "4ee2be59-f663-4600-8fd2-3890248036e5", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Named6a0b2c9-bf03-4523-8a0b-6babd86469ff", OrganizationId = 2c5f8bdd-7457-453a-adcd-809f97a6a694, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 2c5f8bdd-7457-453a-adcd-809f97a6a694, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanCreateAsync_WhenAdminOrOwner_Success(userType: Owner, userId: 2d4d3380-f344-4e09-b1a9-3e4705b2c877, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2023-12-26T04:27:10.8505607, ExternalId = "ab70ec3c-d549-4640-99fb-2d1aa832ac1d", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Nameefb02493-ec5c-4cee-88b0-3bcf27dfb333", OrganizationId = fd913dfe-f5e6-4db0-a142-c5bb580c1af3, ··· }, Collection { CreationDate = 2025-12-18T06:41:01.6360125, ExternalId = "e2e29f56-7141-462c-86d7-72e790be2c54", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Name0c10278d-2605-49a8-a90a-20887547c27b", OrganizationId = fd913dfe-f5e6-4db0-a142-c5bb580c1af3, ··· }, Collection { CreationDate = 2023-03-20T18:18:56.6491147, ExternalId = "c23cbd5e-19c8-4d1a-ac87-51d310d2c78f", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name00b274b1-8b3e-4819-8f6a-ce485f88d753", OrganizationId = fd913dfe-f5e6-4db0-a142-c5bb580c1af3, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = fd913dfe-f5e6-4db0-a142-c5bb580c1af3, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
❌ CanCreateAsync_WhenMissingOrgAccess_NoSuccess(userId: f581f2ec-a829-4bd2-9ae5-80641c649e6d, organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 366c3509-cb64-432b-9804-b51c6d019e97, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner }, collections: [Collection { CreationDate = 2025-08-26T07:21:39.0887084, ExternalId = "8de23fe8-b522-4985-a9b1-d1d2f45c0b85", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name00d69fd3-3c40-482d-ab62-c37136aa7e19", OrganizationId = 366c3509-cb64-432b-9804-b51c6d019e97, ··· }, Collection { CreationDate = 2024-06-08T08:29:28.5343123, ExternalId = "d71baebf-e56f-430d-90f8-0e028400c9ec", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Namec3840fde-66e1-479d-b26e-5fce90b705fd", OrganizationId = 366c3509-cb64-432b-9804-b51c6d019e97, ··· }, Collection { CreationDate = 2025-04-03T03:39:13.5323835, ExternalId = "9c21e1ba-de4e-4674-9058-36451a8cfa6d", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Nameca8c6733-e846-47d0-b84f-230fbac7ed74", OrganizationId = 366c3509-cb64-432b-9804-b51c6d019e97, ··· }], sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) })
	Assert.False() Failure
	Expected: False
	Actual:   True
✅ CanCreateAsync_WhenMissingPermissions_NoSuccess(userType: Custom, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2023-02-08T12:07:03.8930365, ExternalId = "fbf6154f-ce3e-4c35-ba0c-5a31e081273e", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name602454f3-fbca-4a98-84cc-19f413cd27c2", OrganizationId = 27c51c72-b3af-4933-aa9b-055c82d9ac55, ··· }, Collection { CreationDate = 2025-09-18T01:02:08.2325095, ExternalId = "153cdcb3-a343-4757-ba49-307f6d27c378", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Name6d4f7035-3a79-4b4f-bd1f-5bb3a9de9e7a", OrganizationId = 27c51c72-b3af-4933-aa9b-055c82d9ac55, ··· }, Collection { CreationDate = 2026-09-27T01:53:58.2637854, ExternalId = "8f01d0a9-5020-4763-83a6-59469cad69e4", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Named5f628f8-7e25-4e12-b5d3-ccc0098bdb5b", OrganizationId = 27c51c72-b3af-4933-aa9b-055c82d9ac55, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 27c51c72-b3af-4933-aa9b-055c82d9ac55, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanCreateAsync_WhenMissingPermissions_NoSuccess(userType: User, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2025-03-08T00:54:08.4695665, ExternalId = "612dbd3a-4600-4e62-b87a-a27927c82623", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Namedbcdac3f-9de9-4ea2-8d6c-e23a2b9dbc04", OrganizationId = af14009e-017e-4b78-91b4-f5af5b3ebecc, ··· }, Collection { CreationDate = 2025-03-13T09:56:54.2188620, ExternalId = "127ed47a-e8a2-4ae8-9428-bf4b691afa78", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Name377b3475-5f82-4fb7-adb7-9536e68686e2", OrganizationId = af14009e-017e-4b78-91b4-f5af5b3ebecc, ··· }, Collection { CreationDate = 2022-12-30T01:28:46.1808071, ExternalId = "eea9f58c-7049-4061-972f-de73a57dc098", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Namec6bb0485-c7b2-42d4-84fa-92fa6b5564fe", OrganizationId = af14009e-017e-4b78-91b4-f5af5b3ebecc, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = af14009e-017e-4b78-91b4-f5af5b3ebecc, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanCreateAsync_WhenUser_WithLimitCollectionCreationFalse_Success(sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2025-05-11T08:44:27.8532307, ExternalId = "69464911-adc1-4cb6-913a-3e93f39b1c2f", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name8bec1406-784c-4f60-93c8-eeb65fe37d5d", OrganizationId = 1d00a8c5-c85a-4788-95cc-e61bb232a091, ··· }, Collection { CreationDate = 2026-05-09T06:56:47.9227243, ExternalId = "e592e654-206a-4a0b-be8e-f91e30d316d2", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Namea8f89ade-f8df-498a-a812-92b645f98b25", OrganizationId = 1d00a8c5-c85a-4788-95cc-e61bb232a091, ··· }, Collection { CreationDate = 2026-09-09T00:23:43.3921794, ExternalId = "5e1b1f8e-cd99-493e-867d-66769dbed4f6", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name1a01b19f-d884-4c13-8a51-58850a40e603", OrganizationId = 1d00a8c5-c85a-4788-95cc-e61bb232a091, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 1d00a8c5-c85a-4788-95cc-e61bb232a091, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanDeleteAsync_LimitCollectionDeletionFalse_AllowAdminAccessToAllCollectionItemsFalse_WithCanManagePermission_Success(userType: Admin, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [CollectionDetails { CreationDate = 2025-03-10T09:16:23.4806644, ExternalId = "998b750f-79f9-4928-b9e4-33f640713d95", HidePasswords = False, Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Manage = True, ··· }, CollectionDetails { CreationDate = 2024-03-04T00:14:04.9901061, ExternalId = "9e7e0f1c-637a-41e2-9f83-fb9d2c64d806", HidePasswords = True, Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Manage = False, ··· }, CollectionDetails { CreationDate = 2023-09-09T12:55:28.3804264, ExternalId = "35f18d04-2876-42d7-affa-f92be8ed9cfd", HidePasswords = False, Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Manage = True, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = c637088f-5a83-40df-a470-699be95de211, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanDeleteAsync_LimitCollectionDeletionFalse_AllowAdminAccessToAllCollectionItemsFalse_WithCanManagePermission_Success(userType: Owner, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [CollectionDetails { CreationDate = 2025-04-10T14:38:14.6678256, ExternalId = "e8142de9-76fc-418b-9a33-a1a2e8863e51", HidePasswords = False, Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Manage = True, ··· }, CollectionDetails { CreationDate = 2025-08-28T23:54:13.1448311, ExternalId = "1bda3aeb-9b63-4acd-abf2-dc9d30a2f9bc", HidePasswords = True, Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Manage = False, ··· }, CollectionDetails { CreationDate = 2025-08-14T04:27:01.3825695, ExternalId = "e344c188-7a48-4cc0-8520-a7eb9a71ecc8", HidePasswords = False, Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Manage = True, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = cced42e9-74a7-49ea-aed1-b1da86c9064e, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanDeleteAsync_LimitCollectionDeletionFalse_AllowAdminAccessToAllCollectionItemsFalse_WithCanManagePermission_Success(userType: User, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [CollectionDetails { CreationDate = 2023-04-25T02:01:02.9838713, ExternalId = "ddae6aa8-03df-4441-82e2-225a11574a72", HidePasswords = False, Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Manage = True, ··· }, CollectionDetails { CreationDate = 2026-07-27T08:12:50.9684104, ExternalId = "feb5084a-e4a5-41f1-8f74-c029b1e72b83", HidePasswords = True, Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Manage = False, ··· }, CollectionDetails { CreationDate = 2024-10-25T00:27:42.3386683, ExternalId = "3e519c1b-d130-4c7b-82a8-6708bdda36ef", HidePasswords = False, Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Manage = True, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 36dbd35e-9c33-480e-b067-dc621b9f26b1, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanDeleteAsync_WhenAdminOrOwner_AllowAdminAccessToAllCollectionItemsTrue_Success(userType: Admin, userId: 78a88475-5c30-4e18-b8a3-62f3753abeff, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2024-09-15T15:51:08.3253733, ExternalId = "1b1d692a-9892-4482-ab56-92b6fa4cd5d5", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Namebb549562-83d4-49b8-92f2-73106cd54b89", OrganizationId = 654bccca-2026-4f05-a529-9bdba5fe378f, ··· }, Collection { CreationDate = 2025-12-11T03:50:49.7295308, ExternalId = "495741a6-3387-4ac4-bb16-8d6bf89f0d56", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Namef66cb021-d06b-458d-9702-4b43c227c274", OrganizationId = 654bccca-2026-4f05-a529-9bdba5fe378f, ··· }, Collection { CreationDate = 2025-03-01T05:39:17.4749179, ExternalId = "568159f1-80a0-472b-9ce5-95badd0c76a7", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Nameedaf8277-e208-442c-a89a-0f538714e48e", OrganizationId = 654bccca-2026-4f05-a529-9bdba5fe378f, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 654bccca-2026-4f05-a529-9bdba5fe378f, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanDeleteAsync_WhenAdminOrOwner_AllowAdminAccessToAllCollectionItemsTrue_Success(userType: Owner, userId: 54e70420-af23-43bd-a7e7-459a7edbb58b, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2023-07-01T23:51:34.5861743, ExternalId = "e69eb3fc-ec7e-48ca-af17-fbeed1e251ce", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name2c03c364-16c9-405b-9682-1c9b23378352", OrganizationId = 4a4fc9fb-0829-491a-bcf7-11cfe2107900, ··· }, Collection { CreationDate = 2024-05-05T11:40:18.1038027, ExternalId = "d4778851-8265-4dfb-b753-6cbcc2cf60d0", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Name8d010ee8-76ed-47fe-880a-7eb2e1c27b90", OrganizationId = 4a4fc9fb-0829-491a-bcf7-11cfe2107900, ··· }, Collection { CreationDate = 2024-07-16T09:08:14.4673066, ExternalId = "f192db5b-e537-4be0-8380-6e092d13b8cd", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name62a23707-f0f9-4ec2-9e38-1bce26d7184f", OrganizationId = 4a4fc9fb-0829-491a-bcf7-11cfe2107900, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 4a4fc9fb-0829-491a-bcf7-11cfe2107900, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanDeleteAsync_WhenAdminOrOwner_LimitCollectionDeletionTrue_AllowAdminAccessToAllCollectionItemsFalse_WithCanManagePermission_Success(userType: Admin, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [CollectionDetails { CreationDate = 2024-12-22T01:02:30.6497989, ExternalId = "4a43aac6-293e-4058-8b02-aeb6f98f054b", HidePasswords = False, Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Manage = True, ··· }, CollectionDetails { CreationDate = 2026-05-06T23:49:52.8794762, ExternalId = "43965011-c63b-427f-a76d-a5ed2342dab7", HidePasswords = True, Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Manage = False, ··· }, CollectionDetails { CreationDate = 2024-12-15T17:11:22.0265334, ExternalId = "6bbe5cc7-dd5b-4732-934a-ec76264b6ccf", HidePasswords = False, Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Manage = True, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = ecda3821-4c95-49e6-af3a-a06260582d2e, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanDeleteAsync_WhenAdminOrOwner_LimitCollectionDeletionTrue_AllowAdminAccessToAllCollectionItemsFalse_WithCanManagePermission_Success(userType: Owner, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [CollectionDetails { CreationDate = 2024-06-15T22:13:36.5659906, ExternalId = "8ae81780-5b89-4050-ae5b-02131074a5a3", HidePasswords = False, Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Manage = True, ··· }, CollectionDetails { CreationDate = 2023-04-21T12:37:08.2694383, ExternalId = "49325cf7-e737-4e21-b219-57ebdeea81c2", HidePasswords = True, Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Manage = False, ··· }, CollectionDetails { CreationDate = 2023-04-17T11:23:13.3582988, ExternalId = "1753c2d4-1c60-4aa3-9a23-b1645e6df851", HidePasswords = False, Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Manage = True, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 900e4e3b-0355-4fd1-9532-cf69c1019fa0, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanDeleteAsync_WhenAdminOrOwner_LimitCollectionDeletionTrue_AllowAdminAccessToAllCollectionItemsFalse_WithoutCanManagePermission_Failure(userType: Admin, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [CollectionDetails { CreationDate = 2023-06-15T18:08:14.5367558, ExternalId = "034c60f5-37a7-4bae-965b-35e6f63cb647", HidePasswords = False, Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Manage = True, ··· }, CollectionDetails { CreationDate = 2025-10-14T01:04:37.9815911, ExternalId = "48a3a036-8178-4805-840b-4077e7753c09", HidePasswords = True, Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Manage = False, ··· }, CollectionDetails { CreationDate = 2024-08-29T18:07:58.5389546, ExternalId = "38b02138-a0e4-4488-9d41-51dcf871a59c", HidePasswords = False, Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Manage = True, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 2b9accc8-f132-4a96-9a56-183f9ff671b2, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanDeleteAsync_WhenAdminOrOwner_LimitCollectionDeletionTrue_AllowAdminAccessToAllCollectionItemsFalse_WithoutCanManagePermission_Failure(userType: Owner, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [CollectionDetails { CreationDate = 2025-12-14T12:14:06.4073655, ExternalId = "73ea364c-4f04-42cc-bf61-02fd9a59cfb8", HidePasswords = False, Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Manage = True, ··· }, CollectionDetails { CreationDate = 2025-09-25T19:30:33.7196661, ExternalId = "88266e5d-c6e7-41df-bd11-f721091219cd", HidePasswords = True, Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Manage = False, ··· }, CollectionDetails { CreationDate = 2025-08-22T03:41:54.4642265, ExternalId = "1c2451e3-54f0-40f2-89d9-b8173441fec0", HidePasswords = False, Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Manage = True, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 0ba4b154-af6a-4f9a-841d-b7b779b77075, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanDeleteAsync_WhenMissingOrgAccess_NoSuccess(userId: 013cd3f6-e858-4586-be5a-d2c969051d39, collections: [Collection { CreationDate = 2024-11-30T13:13:38.2759515, ExternalId = "8d2218c7-3d99-4ddf-89f9-e833524bbeaf", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name9fa080f2-1f44-482b-b8ec-1643aba6523b", OrganizationId = 51f3637e-038a-491e-80d3-cb56ca11c9f8, ··· }, Collection { CreationDate = 2024-01-25T16:40:16.1775536, ExternalId = "e9b65f7c-8272-4b99-9b22-6b6c88d3f72e", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Name47835803-5a7d-46c9-bc2b-1384ec99cb3c", OrganizationId = 51f3637e-038a-491e-80d3-cb56ca11c9f8, ··· }, Collection { CreationDate = 2025-08-25T18:20:20.6951847, ExternalId = "36841201-0e51-445f-93d9-4976309d1664", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name024584e0-2149-4dfb-aec1-198d17f0a5f2", OrganizationId = 51f3637e-038a-491e-80d3-cb56ca11c9f8, ··· }], sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) })
✅ CanDeleteAsync_WhenMissingPermissions_NoSuccess(userType: Custom, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2024-01-11T13:19:58.3850170, ExternalId = "f2ccd007-cfb6-4dc1-9571-28f3715c9c9d", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name82c7a7c1-3f15-4e04-ac74-49f6ae72d098", OrganizationId = 0310ec35-06f3-4c34-9da3-7d80aae7ebd6, ··· }, Collection { CreationDate = 2023-09-17T07:35:17.1824309, ExternalId = "f063531e-d74c-4365-aac6-133e44c5f73b", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Nameaf95b72b-3b2b-4664-a19c-ce7f287096bd", OrganizationId = 0310ec35-06f3-4c34-9da3-7d80aae7ebd6, ··· }, Collection { CreationDate = 2022-10-06T08:45:32.7004406, ExternalId = "32b62a43-fe5e-4e59-9395-520b7faa3fba", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name47455db3-7b94-4efb-b370-ff10e3598dce", OrganizationId = 0310ec35-06f3-4c34-9da3-7d80aae7ebd6, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 0310ec35-06f3-4c34-9da3-7d80aae7ebd6, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanDeleteAsync_WhenMissingPermissions_NoSuccess(userType: User, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2023-07-16T06:22:03.9555965, ExternalId = "16706471-7b56-466f-9d9a-6bf20965a8b7", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name823abee2-6fa6-409f-911d-b171c6a0c2b1", OrganizationId = 8c9ba481-01c2-4f55-a067-ff7204a4470e, ··· }, Collection { CreationDate = 2026-09-10T18:02:18.3262568, ExternalId = "7c3aabdf-eb61-4c68-b71d-2a3fd53b4939", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Name69ac7b39-2d20-405d-8b8a-1aeb0bf4b015", OrganizationId = 8c9ba481-01c2-4f55-a067-ff7204a4470e, ··· }, Collection { CreationDate = 2024-08-23T09:37:44.8867632, ExternalId = "4bb2a8dc-4374-4c10-ad29-b14ec4d089be", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name45bb170f-5a8a-4d87-9721-9066db9ff5d7", OrganizationId = 8c9ba481-01c2-4f55-a067-ff7204a4470e, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 8c9ba481-01c2-4f55-a067-ff7204a4470e, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanDeleteAsync_WhenUser_LimitCollectionDeletionFalse_WithCanManagePermission_Success(sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [CollectionDetails { CreationDate = 2025-04-23T22:00:33.0104246, ExternalId = "209f86aa-ea1f-49f6-88b4-150611c8e352", HidePasswords = False, Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Manage = True, ··· }, CollectionDetails { CreationDate = 2024-12-14T11:52:27.9298580, ExternalId = "f52bfe21-8010-4654-ad42-0f8e22bd95ce", HidePasswords = True, Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Manage = False, ··· }, CollectionDetails { CreationDate = 2025-04-16T12:34:51.8098833, ExternalId = "d7d4e46d-013f-4cd2-b5a8-ce7597de049d", HidePasswords = False, Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Manage = True, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 85b0ab11-8308-4ecd-ab66-2ae9478f361e, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanDeleteAsync_WhenUser_LimitCollectionDeletionTrue_AllowAdminAccessToAllCollectionItemsFalse_Failure(sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [CollectionDetails { CreationDate = 2024-04-28T07:15:35.4648421, ExternalId = "e3f6035e-5729-429a-9b88-05eb31788a4d", HidePasswords = False, Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Manage = True, ··· }, CollectionDetails { CreationDate = 2025-02-18T03:13:14.7302872, ExternalId = "314bbdf9-adf2-4caf-b511-51f31f2dc04d", HidePasswords = True, Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Manage = False, ··· }, CollectionDetails { CreationDate = 2025-06-29T06:07:22.3200844, ExternalId = "895e8cf5-4e72-43ae-a494-88e8b3237da7", HidePasswords = False, Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Manage = True, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 09566e34-5477-479b-a235-8509933ef50d, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanDeleteAsync_WhenUser_LimitCollectionDeletionTrue_AllowAdminAccessToAllCollectionItemsTrue_Failure(sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [CollectionDetails { CreationDate = 2023-07-14T15:22:03.6599369, ExternalId = "21a7be25-7922-44d7-8077-f67603fd7a64", HidePasswords = False, Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Manage = True, ··· }, CollectionDetails { CreationDate = 2025-10-24T09:35:35.7034037, ExternalId = "16a011a5-bfd9-45e2-9802-1adb822544a5", HidePasswords = True, Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Manage = False, ··· }, CollectionDetails { CreationDate = 2024-07-16T20:12:18.3425829, ExternalId = "681d52d1-84b7-4691-a889-1f4c4965666f", HidePasswords = False, Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Manage = True, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 73c4f2ca-9ab8-4d14-b76c-642b79317519, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanDeleteAsync_WithDeleteAnyCollectionPermission_Success(sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2025-08-03T10:27:00.1371688, ExternalId = "b25ac636-006a-4e02-bbd8-865d23609a1c", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name9a9a59ee-5c54-4fb7-a566-f28c203e81a2", OrganizationId = 72030ff1-c827-41fd-ab7e-6d46b3f46299, ··· }, Collection { CreationDate = 2025-09-07T11:22:04.4691963, ExternalId = "8a1505c4-59f0-469e-98d3-ce2f4e7e487d", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Name90114f99-cb0b-4a92-b7e0-607cf06d4833", OrganizationId = 72030ff1-c827-41fd-ab7e-6d46b3f46299, ··· }, Collection { CreationDate = 2024-01-27T23:40:55.9514006, ExternalId = "a30ed647-b438-4acc-8d79-7f5a6dfacc7d", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name2e063aff-105a-4b7a-b39f-511bd4d8d1c1", OrganizationId = 72030ff1-c827-41fd-ab7e-6d46b3f46299, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 72030ff1-c827-41fd-ab7e-6d46b3f46299, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanReadAsync_WhenAdminOrOwner_Success(userType: Admin, userId: e526eb6a-d196-4e7a-9c67-18c9ef217d7a, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2026-06-29T11:23:51.6683184, ExternalId = "117faa28-604d-4399-aec9-01f804a38f1d", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name8f0bea4a-7e87-4390-b22d-f87d5ba7c817", OrganizationId = 7651821b-95ff-4055-b413-ad88e8d629c7, ··· }, Collection { CreationDate = 2022-12-30T06:55:57.2880814, ExternalId = "cc0edec8-f328-4b0d-a57c-284435f59a2c", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Name5678db4f-371c-4d55-9130-f0e2e95d11b0", OrganizationId = 7651821b-95ff-4055-b413-ad88e8d629c7, ··· }, Collection { CreationDate = 2023-06-27T01:34:12.3310978, ExternalId = "3999e228-6c12-4555-b8f5-847782766849", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name2b7236b4-94aa-4678-b488-9568dd0f5380", OrganizationId = 7651821b-95ff-4055-b413-ad88e8d629c7, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 7651821b-95ff-4055-b413-ad88e8d629c7, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanReadAsync_WhenAdminOrOwner_Success(userType: Owner, userId: acdb06da-ac6e-4d65-98c5-eb32f26d6e9a, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2025-08-13T23:06:37.6830460, ExternalId = "884ffa1c-c392-458e-bffa-794642edb1df", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Namedf1e9bab-e324-49a0-9eca-73f6130b0d08", OrganizationId = 2bcbf6c8-57f3-4fb6-b18e-435525940d32, ··· }, Collection { CreationDate = 2026-04-13T02:51:32.2049286, ExternalId = "3b46e977-97e9-45bf-890b-16bef1b118da", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Name88cc6a75-d2fb-4711-b3ca-ee1374e4898d", OrganizationId = 2bcbf6c8-57f3-4fb6-b18e-435525940d32, ··· }, Collection { CreationDate = 2025-01-07T14:17:11.0765489, ExternalId = "eb0b60d0-d8e6-454d-92be-d7fa80c16fc7", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name7365285c-a149-49ae-b744-e725c201def2", OrganizationId = 2bcbf6c8-57f3-4fb6-b18e-435525940d32, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 2bcbf6c8-57f3-4fb6-b18e-435525940d32, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanReadAsync_WhenCustomUserWithRequiredPermissions_Success(editAnyCollection: False, deleteAnyCollection: True, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2025-04-21T11:32:05.7340733, ExternalId = "6cbd6819-d48c-4187-9697-09eedb6dbe87", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Namec4a27e4f-9499-49e5-8d76-5a86eec25a18", OrganizationId = 0249c478-913b-44dc-9b3b-9e58d8b72565, ··· }, Collection { CreationDate = 2025-01-08T12:05:12.3223870, ExternalId = "35191627-6bbf-40d3-92ca-83ee97f14401", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Namec6a430ad-d1f3-4c95-bbd2-0eec0fb98862", OrganizationId = 0249c478-913b-44dc-9b3b-9e58d8b72565, ··· }, Collection { CreationDate = 2024-11-30T15:27:57.0423020, ExternalId = "b89f9ba5-3614-4eaa-9783-ec4fab45760f", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Nameccb3a425-7e27-414f-865a-b12a76faf9c3", OrganizationId = 0249c478-913b-44dc-9b3b-9e58d8b72565, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 0249c478-913b-44dc-9b3b-9e58d8b72565, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanReadAsync_WhenCustomUserWithRequiredPermissions_Success(editAnyCollection: True, deleteAnyCollection: False, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2022-10-14T00:55:36.1470319, ExternalId = "98cb4963-2813-4425-a65e-7c19245bef51", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name66ca0328-ce3f-4ca9-9e1e-99dd83fdc586", OrganizationId = 46a37122-fde5-40fd-9935-47627e02e67f, ··· }, Collection { CreationDate = 2025-11-17T02:14:35.7471595, ExternalId = "f600c674-1818-41a8-9246-cfc71a51d195", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Named78d361d-18d9-4d3c-b22c-a1719ccb7931", OrganizationId = 46a37122-fde5-40fd-9935-47627e02e67f, ··· }, Collection { CreationDate = 2025-08-28T17:42:13.1534969, ExternalId = "08a794d9-adda-46d6-8bf8-4c1a11bf63a8", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name7719a5a5-0e1e-4821-b678-451462cd0ffa", OrganizationId = 46a37122-fde5-40fd-9935-47627e02e67f, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 46a37122-fde5-40fd-9935-47627e02e67f, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanReadAsync_WhenMissingOrgAccess_NoSuccess(userId: 140e83d6-92db-4fe0-98b4-dfead5a2ce9a, collections: [Collection { CreationDate = 2026-06-28T20:51:28.0140674, ExternalId = "a0c60cd7-bb7c-4628-84be-244695dd1304", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name06c7cb0e-f023-41c3-9c84-280bc374d670", OrganizationId = 227f9276-d3c2-429b-b72b-e1c2d7b0e8e4, ··· }, Collection { CreationDate = 2023-02-13T20:45:51.5908630, ExternalId = "2304f6ad-6f16-4b95-a8f1-3fc4cccdbac3", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Name526c8839-f6df-41a4-9394-75874f79a6f6", OrganizationId = 227f9276-d3c2-429b-b72b-e1c2d7b0e8e4, ··· }, Collection { CreationDate = 2026-06-23T17:50:39.4838487, ExternalId = "1575febe-8cb0-4c66-a0b3-1a52151b8ca1", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name9f28e629-4007-481c-975a-b274105561e0", OrganizationId = 227f9276-d3c2-429b-b72b-e1c2d7b0e8e4, ··· }], sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) })
✅ CanReadAsync_WhenMissingPermissions_NoSuccess(userType: Custom, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2024-08-13T10:24:34.8488890, ExternalId = "81d4a0b1-fdd9-4fa8-b717-060ef707c396", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name7ebe9071-3128-4f6a-9fd5-7e07a779ba59", OrganizationId = 9b2d9549-1374-4874-8d7f-2fce2b0d4ba6, ··· }, Collection { CreationDate = 2025-11-12T21:26:31.2466795, ExternalId = "713441d5-ca35-4b0c-b706-d77a3ec7e363", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Namef89991d3-4a07-46be-a506-fd2e441396a6", OrganizationId = 9b2d9549-1374-4874-8d7f-2fce2b0d4ba6, ··· }, Collection { CreationDate = 2025-11-23T12:27:08.2927467, ExternalId = "4c68cb66-14c5-4bc5-a62c-a0b9458a577d", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name4c9ec53a-effb-4496-90be-17e325e802fe", OrganizationId = 9b2d9549-1374-4874-8d7f-2fce2b0d4ba6, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 9b2d9549-1374-4874-8d7f-2fce2b0d4ba6, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanReadAsync_WhenMissingPermissions_NoSuccess(userType: User, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2023-06-12T14:18:48.1682667, ExternalId = "34ed0204-4952-4fe4-b0b7-183d5cd2242d", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name3f8f3ae4-8bd1-4bbf-9505-2aee4e4a53c9", OrganizationId = 35b6885c-3fc5-4ca4-a8fb-0ba9b7be4fa0, ··· }, Collection { CreationDate = 2024-12-19T12:39:57.1010733, ExternalId = "419df14b-1b27-46b5-8093-1ed98af2180c", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Name698234f8-f436-4061-bef1-eb70f25f12e9", OrganizationId = 35b6885c-3fc5-4ca4-a8fb-0ba9b7be4fa0, ··· }, Collection { CreationDate = 2023-06-05T04:43:57.8213649, ExternalId = "c89d8606-8d58-4bf5-8ecc-7f5f560eedb5", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Namef9aee42b-c3f3-4023-b2a7-bfba8faee520", OrganizationId = 35b6885c-3fc5-4ca4-a8fb-0ba9b7be4fa0, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 35b6885c-3fc5-4ca4-a8fb-0ba9b7be4fa0, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanReadAsync_WhenUserCanManageCollections_Success(sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [CollectionDetails { CreationDate = 2025-06-08T00:25:24.1110927, ExternalId = "998f51c6-1724-49fb-adad-2e178f91863f", HidePasswords = False, Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Manage = True, ··· }, CollectionDetails { CreationDate = 2024-04-28T08:12:20.3159971, ExternalId = "97e5e168-633f-41f8-a888-f572cdcd8a89", HidePasswords = True, Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Manage = False, ··· }, CollectionDetails { CreationDate = 2024-09-30T16:19:17.6110018, ExternalId = "efc1c6ff-428d-4a68-8976-a046683d510a", HidePasswords = False, Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Manage = True, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 931295a1-faf2-45d4-a2fc-2c4b82f3b6b2, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanReadAsync_WhenUserIsNotAssignedToCollections_NoSuccess(sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [CollectionDetails { CreationDate = 2024-12-02T12:08:02.6787413, ExternalId = "3fecdbe3-72fb-4859-a296-09e0f14adae6", HidePasswords = False, Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Manage = True, ··· }, CollectionDetails { CreationDate = 2026-07-13T18:16:19.7016174, ExternalId = "f4d32da3-053b-4675-b7ba-066385a79223", HidePasswords = True, Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Manage = False, ··· }, CollectionDetails { CreationDate = 2024-11-02T12:40:04.8373843, ExternalId = "49ec2ac0-92b4-435b-ba4a-7e11169f42d0", HidePasswords = False, Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Manage = True, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 194dc802-0c60-4161-a583-b194a88f09b6, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanReadWithAccessAsync_WhenAdminOrOwner_Success(userType: Admin, userId: d0bf1fdc-5580-4a85-baed-874b90b325eb, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2025-02-27T14:10:21.7008691, ExternalId = "609e8f90-4d33-445c-9143-3ad3f61d7058", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Namebfd8fbd4-df95-4efc-ab90-6a91054566cf", OrganizationId = f52512b3-fa69-4aa6-bf2a-be4fed330f7f, ··· }, Collection { CreationDate = 2025-05-02T06:54:04.2766965, ExternalId = "53916e28-a979-4edc-8c6b-2d9c2297d2d8", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Namedc7d9fff-ce02-449c-a9e3-462b1e858933", OrganizationId = f52512b3-fa69-4aa6-bf2a-be4fed330f7f, ··· }, Collection { CreationDate = 2024-12-24T04:45:58.6124683, ExternalId = "a581b899-5534-4986-98b6-adf501aae304", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Nameeea0fb6b-a93b-462a-b4dd-6737e0e8094d", OrganizationId = f52512b3-fa69-4aa6-bf2a-be4fed330f7f, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = f52512b3-fa69-4aa6-bf2a-be4fed330f7f, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanReadWithAccessAsync_WhenAdminOrOwner_Success(userType: Owner, userId: 471a1bed-9054-45ed-a6cd-0e4463fd65f3, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2026-10-03T12:58:33.9758960, ExternalId = "a08c31d0-8ecf-4f69-8d17-b7b1e74edb20", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name471053c1-7380-463f-9a77-53c0dcf5edb2", OrganizationId = e61515ac-bb3a-4c0d-b89b-4cc87a404ac7, ··· }, Collection { CreationDate = 2023-01-22T05:34:42.3215180, ExternalId = "c0c50c05-79c3-4fe9-a706-0e3df1c5ae1b", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Namec6b6a07e-024b-48d9-94e2-6df34a5c88cc", OrganizationId = e61515ac-bb3a-4c0d-b89b-4cc87a404ac7, ··· }, Collection { CreationDate = 2024-07-13T00:19:50.7345129, ExternalId = "f1baabe8-5642-4367-992e-e7295b5f54ec", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name5bd25494-da33-4c76-8a85-d5dae22b31b4", OrganizationId = e61515ac-bb3a-4c0d-b89b-4cc87a404ac7, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = e61515ac-bb3a-4c0d-b89b-4cc87a404ac7, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanReadWithAccessAsync_WhenCustomUserWithRequiredPermissions_Success(editAnyCollection: False, deleteAnyCollection: False, manageUsers: True, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2024-09-07T16:58:50.3055954, ExternalId = "d0c38d54-eb1e-40c1-b09e-4ce9860a2426", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name03c74a36-7601-4623-8ade-9f2198912092", OrganizationId = 4ea7a05f-5245-47f4-8bcb-3a878d975083, ··· }, Collection { CreationDate = 2023-12-01T20:27:58.9547164, ExternalId = "fe894c6c-b5a7-46ca-8889-8e47593e491c", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Namee4e84652-233f-4e14-9549-f55d99c1e283", OrganizationId = 4ea7a05f-5245-47f4-8bcb-3a878d975083, ··· }, Collection { CreationDate = 2026-07-24T10:05:43.8223850, ExternalId = "841b155d-a132-41d3-844f-ca9b0126b724", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name2c3acc09-08bc-4841-a698-24a9371bc9e7", OrganizationId = 4ea7a05f-5245-47f4-8bcb-3a878d975083, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 4ea7a05f-5245-47f4-8bcb-3a878d975083, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanReadWithAccessAsync_WhenCustomUserWithRequiredPermissions_Success(editAnyCollection: False, deleteAnyCollection: True, manageUsers: False, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2026-02-01T02:21:15.4256852, ExternalId = "42a9d763-41f8-4c45-8867-66096c0779cd", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name2b85c9ba-b8b1-405f-bccc-66bc348f2f1f", OrganizationId = 0179b317-01f1-48ba-b857-37cb3d3b183d, ··· }, Collection { CreationDate = 2024-12-04T17:50:59.1935174, ExternalId = "e82a2fb1-d171-47cf-8abe-3eb79620cbd5", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Name4e102546-10ed-4307-9df2-6b4e946dcfa3", OrganizationId = 0179b317-01f1-48ba-b857-37cb3d3b183d, ··· }, Collection { CreationDate = 2025-12-21T05:09:45.2903561, ExternalId = "e0d66e9c-6f05-4ec9-85e5-7f7422bb88f7", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name691542ac-888b-4ddf-932f-c41a9fce7436", OrganizationId = 0179b317-01f1-48ba-b857-37cb3d3b183d, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 0179b317-01f1-48ba-b857-37cb3d3b183d, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanReadWithAccessAsync_WhenCustomUserWithRequiredPermissions_Success(editAnyCollection: True, deleteAnyCollection: False, manageUsers: False, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2024-03-02T18:49:16.1346636, ExternalId = "1e70f625-91bb-4e33-bd82-d6f32807afde", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name3bb1dcb8-36d2-4325-9c2d-95d102434f6d", OrganizationId = 35485311-c074-4826-9c81-db1f6be765db, ··· }, Collection { CreationDate = 2026-02-07T15:08:30.1346892, ExternalId = "8568070b-5f73-47f9-8476-284492d2c98d", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Name0e45aa47-088f-471b-9878-1292e2186b6f", OrganizationId = 35485311-c074-4826-9c81-db1f6be765db, ··· }, Collection { CreationDate = 2025-11-24T14:44:56.0983807, ExternalId = "0b81869c-91a1-4abf-bc6e-4c812c98ee71", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name9d404a89-2550-4cd3-8bc1-3b352a955d81", OrganizationId = 35485311-c074-4826-9c81-db1f6be765db, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 35485311-c074-4826-9c81-db1f6be765db, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanReadWithAccessAsync_WhenMissingOrgAccess_NoSuccess(userId: 52a60b88-c5ec-43d1-a1b7-dd204c12f729, collections: [Collection { CreationDate = 2026-09-21T11:23:07.5205111, ExternalId = "6c27411a-fad3-48f5-8254-1f8a196fa01d", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Nameb806715f-5d7f-4cf7-8c69-113e54a51518", OrganizationId = cb5311d6-1fe2-4c6c-8a00-4b6e5afa9aad, ··· }, Collection { CreationDate = 2022-12-14T10:28:32.2096070, ExternalId = "1a730598-8a9e-4a5b-a7d3-fc4a0daf015e", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Namef97a7e28-def7-45ca-84f2-1cd9e2f0af5e", OrganizationId = cb5311d6-1fe2-4c6c-8a00-4b6e5afa9aad, ··· }, Collection { CreationDate = 2023-10-03T13:56:54.5779967, ExternalId = "314b2dac-7387-42c4-81f6-692d48712c7b", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name67cf2ccc-d554-4512-9356-2fa607103dad", OrganizationId = cb5311d6-1fe2-4c6c-8a00-4b6e5afa9aad, ··· }], sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) })
✅ CanReadWithAccessAsync_WhenMissingPermissions_NoSuccess(userType: Custom, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2022-11-07T20:30:34.7283701, ExternalId = "07ba4e00-08bc-43f5-85d7-5db29d75bb3d", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name5dc46b7e-b707-4e57-aa2d-3552103a6288", OrganizationId = 89a68771-8912-4b97-a0c3-a64f35b57cf5, ··· }, Collection { CreationDate = 2025-07-29T21:08:05.0813096, ExternalId = "49f848ec-17a7-4e38-a915-d28a4ce22253", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Name0ff9ecb3-409d-4fb2-b6b6-6f831f85922a", OrganizationId = 89a68771-8912-4b97-a0c3-a64f35b57cf5, ··· }, Collection { CreationDate = 2022-11-07T06:47:47.0150143, ExternalId = "6ad4b8b3-86fa-4bdc-9820-e5b97ebd16bd", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name0e55fde2-3df8-41c0-bd6c-04be826d378b", OrganizationId = 89a68771-8912-4b97-a0c3-a64f35b57cf5, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 89a68771-8912-4b97-a0c3-a64f35b57cf5, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanReadWithAccessAsync_WhenMissingPermissions_NoSuccess(userType: User, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2026-06-25T08:00:04.6927244, ExternalId = "dc03e4d2-69e1-4e81-a675-fd3ac5952e9b", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name99a28e45-e882-4e19-a68f-cc37a89b2a18", OrganizationId = f4843883-8930-4f26-a1f8-816c408cf5f5, ··· }, Collection { CreationDate = 2023-04-02T12:19:10.7554516, ExternalId = "4dd38488-51e1-491c-9de5-b1bd83866b72", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Name8a4fc6ff-b339-4175-9ddc-eefd909be522", OrganizationId = f4843883-8930-4f26-a1f8-816c408cf5f5, ··· }, Collection { CreationDate = 2023-01-02T07:35:28.7836679, ExternalId = "1061f24b-87f6-4428-a232-55613a4c7a91", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name4f7a1249-14bf-4b3d-aa98-584cad8b0063", OrganizationId = f4843883-8930-4f26-a1f8-816c408cf5f5, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = f4843883-8930-4f26-a1f8-816c408cf5f5, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanReadWithAccessAsync_WhenUserCanManageCollections_Success(sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [CollectionDetails { CreationDate = 2025-05-03T12:40:01.2532831, ExternalId = "887ad8c7-3d74-4881-b346-6e4e528e9208", HidePasswords = False, Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Manage = True, ··· }, CollectionDetails { CreationDate = 2024-04-03T11:40:46.0200300, ExternalId = "6bdf7e86-a171-42f6-993c-228e5a75f050", HidePasswords = True, Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Manage = False, ··· }, CollectionDetails { CreationDate = 2022-11-08T15:32:00.1491032, ExternalId = "c5657ff9-5eec-46e0-9ab2-30ef2e718ff4", HidePasswords = False, Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Manage = True, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = 395c9e65-dbdb-4e75-84bd-c1c1c4fd73c8, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanReadWithAccessAsync_WhenUserCanNotManageCollections_Success(sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [CollectionDetails { CreationDate = 2023-11-25T04:22:20.7647298, ExternalId = "14160db0-a878-4b83-a627-f0474d9d5d0d", HidePasswords = False, Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Manage = True, ··· }, CollectionDetails { CreationDate = 2023-10-23T12:59:57.8160950, ExternalId = "15111313-bc0d-4f6d-aba9-6d33c1b954af", HidePasswords = True, Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Manage = False, ··· }, CollectionDetails { CreationDate = 2024-11-05T16:45:25.0766317, ExternalId = "2def8ec9-8965-49ee-a02b-32d0c83bff41", HidePasswords = False, Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Manage = True, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = cec36f0b-1040-4064-a968-178427b9230a, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner })
✅ CanUpdateCollection_WhenAdminOrOwner_WithV1Enabled_NotPermittedByCollectionManagementSettings_Failure(userType: Admin, userId: b4b69d7f-08b4-40e4-ad74-44ff23730092, sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.Collections.BulkCollectionAuthorizationHandler) }, collections: [Collection { CreationDate = 2026-08-12T18:13:03.9573309, ExternalId = "680367ef-9355-4eb5-ba28-7442d6d8db54", Id = 8286d046-9740-a3e4-95cf-ff46699c73c4, Name = "Name31b9bfd9-a60d-48f0-a164-d870efc7d8a3", OrganizationId = be59efd7-a9fd-497f-a1b5-0c716d6f8212, ··· }, Collection { CreationDate = 2024-03-17T07:07:04.7344508, ExternalId = "e85461f8-8992-43ad-bcc5-f5232b8fe258", Id = 3410cda1-5b13-a34e-6f84-a54adf7a0ea0, Name = "Namec522a743-b8fc-41e3-97bc-b9de50e6d0c9", OrganizationId = be59efd7-a9fd-497f-a1b5-0c716d6f8212, ··· }, Collection { CreationDate = 2025-03-29T10:15:19.7997494, ExternalId = "49370aa3-ea42-4d45-a2a7-d1f42485d2cc", Id = 17c1e39c-e46c-828e-4e02-21be0f3b5358, Name = "Name121c0417-e51e-492a-8fd0-d0471c8694bd", OrganizationId = be59efd7-a9fd-497f-a1b5-0c716d6f8212, ··· }], organization: CurrentContextOrganization { AccessSecretsManager = True, Id = be59efd7-a9fd-497f-a1b5-0c716d6f8212, Permissions = Permissions { AccessEventLogs = True, AccessImportExport = False, AccessReports = True, ClaimsMap = [···], CreateNewCollections = False, ··· }, Type = Owner }, organizationAbility: OrganizationAbility { AllowAdminAccessToAllCollectionItems = True, Enabled = True, Id = 1983cfb5-a8fa-4769-8f85-6fb988e773f2, LimitCollectionCreation = False, LimitCollectionCreationDeletion = False, ··· })

Report exceeded GitHub limit of 65535 bytes and has been trimmed

Annotations

Check failure on line 132 in test/Api.Test/Vault/AuthorizationHandlers/BulkCollectionAuthorizationHandlerTests.cs

See this annotation in the file changed.

@github-actions github-actions / Test Results

Bit.Api.Test.Vault.AuthorizationHandlers.BulkCollectionAuthorizationHandlerTests ► CanCreateAsync_WhenMissingOrgAccess_NoSuccess(userId: f581f2ec-a829-4bd2-9ae5-80641c649e6d, organization: CurrentContextOrganization { AccessSecretsManager = True, Id = ...

Failed test found in:
  test/Api.Test/TestResults/oss-test-results.trx
Error:
  Assert.False() Failure
  Expected: False
  Actual:   True
Raw output
Assert.False() Failure
Expected: False
Actual:   True
   at Bit.Api.Test.Vault.AuthorizationHandlers.BulkCollectionAuthorizationHandlerTests.CanCreateAsync_WhenMissingOrgAccess_NoSuccess(Guid userId, CurrentContextOrganization organization, List`1 collections, SutProvider`1 sutProvider) in /home/runner/work/server/server/test/Api.Test/Vault/AuthorizationHandlers/BulkCollectionAuthorizationHandlerTests.cs:line 132
--- End of stack trace from previous location ---

Check failure on line 1301 in test/Api.Test/Vault/AuthorizationHandlers/BulkCollectionAuthorizationHandlerTests.cs

See this annotation in the file changed.

@github-actions github-actions / Test Results

Bit.Api.Test.Vault.AuthorizationHandlers.BulkCollectionAuthorizationHandlerTests ► HandleRequirementAsync_Provider_Success(sutProvider: SutProvider`1 { Sut = BulkCollectionAuthorizationHandler { }, SutType = typeof(Bit.Api.Vault.AuthorizationHandlers.C...

Failed test found in:
  test/Api.Test/TestResults/oss-test-results.trx
Error:
  NSubstitute.Exceptions.ReceivedCallsException : Expected to receive a call matching:
  	ProviderUserForOrgAsync(9e329003-4b8a-4e4c-a691-21735f834b0a)
  Actually received no matching calls.
  
Raw output
NSubstitute.Exceptions.ReceivedCallsException : Expected to receive a call matching:
	ProviderUserForOrgAsync(9e329003-4b8a-4e4c-a691-21735f834b0a)
Actually received no matching calls.

   at NSubstitute.Core.ReceivedCallsExceptionThrower.Throw(ICallSpecification callSpecification, IEnumerable`1 matchingCalls, IEnumerable`1 nonMatchingCalls, Quantity requiredQuantity)
   at NSubstitute.Routing.Handlers.CheckReceivedCallsHandler.Handle(ICall call)
   at NSubstitute.Routing.Route.Handle(ICall call)
   at NSubstitute.Core.CallRouter.Route(ICall call)
   at NSubstitute.Proxies.CastleDynamicProxy.CastleForwardingInterceptor.Intercept(IInvocation invocation)
   at Castle.DynamicProxy.AbstractInvocation.Proceed()
   at NSubstitute.Proxies.CastleDynamicProxy.ProxyIdInterceptor.Intercept(IInvocation invocation)
   at Castle.DynamicProxy.AbstractInvocation.Proceed()
   at Castle.Proxies.ObjectProxy_4.ProviderUserForOrgAsync(Guid orgId)
   at Bit.Api.Test.Vault.AuthorizationHandlers.BulkCollectionAuthorizationHandlerTests.HandleRequirementAsync_Provider_Success(SutProvider`1 sutProvider, ICollection`1 collections) in /home/runner/work/server/server/test/Api.Test/Vault/AuthorizationHandlers/BulkCollectionAuthorizationHandlerTests.cs:line 1301
--- End of stack trace from previous location ---