mirror of
https://github.com/bitwarden/server.git
synced 2025-07-02 00:22:50 -05:00
Block provider from adding org with SM
This commit is contained in:
@ -354,6 +354,12 @@ public class ProviderService : IProviderService
|
|||||||
var organization = await _organizationRepository.GetByIdAsync(organizationId);
|
var organization = await _organizationRepository.GetByIdAsync(organizationId);
|
||||||
ThrowOnInvalidPlanType(organization.PlanType);
|
ThrowOnInvalidPlanType(organization.PlanType);
|
||||||
|
|
||||||
|
if (organization.UseSecretsManager)
|
||||||
|
{
|
||||||
|
throw new BadRequestException(
|
||||||
|
"Organizations with a Managed Service Provider do not support Secrets Manager.");
|
||||||
|
}
|
||||||
|
|
||||||
var providerOrganization = new ProviderOrganization
|
var providerOrganization = new ProviderOrganization
|
||||||
{
|
{
|
||||||
ProviderId = providerId,
|
ProviderId = providerId,
|
||||||
|
@ -431,6 +431,23 @@ public class ProviderServiceTests
|
|||||||
Assert.Equal("Organization already belongs to a provider.", exception.Message);
|
Assert.Equal("Organization already belongs to a provider.", exception.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Theory, BitAutoData]
|
||||||
|
public async Task AddOrganization_OrganizationHasSecretsManager_Throws(Provider provider, Organization organization, string key,
|
||||||
|
SutProvider<ProviderService> sutProvider)
|
||||||
|
{
|
||||||
|
organization.PlanType = PlanType.EnterpriseAnnually;
|
||||||
|
organization.UseSecretsManager = true;
|
||||||
|
|
||||||
|
sutProvider.GetDependency<IProviderRepository>().GetByIdAsync(provider.Id).Returns(provider);
|
||||||
|
var providerOrganizationRepository = sutProvider.GetDependency<IProviderOrganizationRepository>();
|
||||||
|
providerOrganizationRepository.GetByOrganizationId(organization.Id).ReturnsNull();
|
||||||
|
sutProvider.GetDependency<IOrganizationRepository>().GetByIdAsync(organization.Id).Returns(organization);
|
||||||
|
|
||||||
|
var exception = await Assert.ThrowsAsync<BadRequestException>(
|
||||||
|
() => sutProvider.Sut.AddOrganization(provider.Id, organization.Id, key));
|
||||||
|
Assert.Equal("Organizations with a Managed Service Provider do not support Secrets Manager.", exception.Message);
|
||||||
|
}
|
||||||
|
|
||||||
[Theory, BitAutoData]
|
[Theory, BitAutoData]
|
||||||
public async Task AddOrganization_Success(Provider provider, Organization organization, string key,
|
public async Task AddOrganization_Success(Provider provider, Organization organization, string key,
|
||||||
SutProvider<ProviderService> sutProvider)
|
SutProvider<ProviderService> sutProvider)
|
||||||
|
Reference in New Issue
Block a user