1
0
mirror of https://github.com/bitwarden/server synced 2026-01-29 07:43:22 +00:00

Add data models for scim and cloud billing sync to event integrations

This commit is contained in:
Brant DeBow
2025-12-31 18:34:42 -05:00
parent 2511591449
commit e7ea050e68
4 changed files with 129 additions and 11 deletions

View File

@@ -14,29 +14,85 @@ namespace Bit.Api.Test.Dirt.Models.Response;
public class OrganizationIntegrationResponseModelTests
{
[Theory, BitAutoData]
public void Status_CloudBillingSync_AlwaysNotApplicable(OrganizationIntegration oi)
public void Status_CloudBillingSync_NullConfig_ReturnsInvalid(OrganizationIntegration oi)
{
oi.Type = IntegrationType.CloudBillingSync;
oi.Configuration = null;
var model = new OrganizationIntegrationResponseModel(oi);
Assert.Equal(OrganizationIntegrationStatus.NotApplicable, model.Status);
model.Configuration = "{}";
Assert.Equal(OrganizationIntegrationStatus.NotApplicable, model.Status);
Assert.Equal(OrganizationIntegrationStatus.Invalid, model.Status);
}
[Theory, BitAutoData]
public void Status_Scim_AlwaysNotApplicable(OrganizationIntegration oi)
public void Status_CloudBillingSync_EnabledFalse_ReturnsInvalid(OrganizationIntegration oi)
{
oi.Type = IntegrationType.CloudBillingSync;
oi.Configuration = JsonSerializer.Serialize(new CloudBillingSyncIntegration
{
Enabled = false,
BillingSyncKey = "test-key",
CloudOrganizationId = Guid.NewGuid()
});
var model = new OrganizationIntegrationResponseModel(oi);
Assert.Equal(OrganizationIntegrationStatus.Invalid, model.Status);
}
[Theory, BitAutoData]
public void Status_CloudBillingSync_EnabledTrue_ReturnsCompleted(OrganizationIntegration oi)
{
oi.Type = IntegrationType.CloudBillingSync;
oi.Configuration = JsonSerializer.Serialize(new CloudBillingSyncIntegration
{
Enabled = true,
BillingSyncKey = "test-key",
CloudOrganizationId = Guid.NewGuid()
});
var model = new OrganizationIntegrationResponseModel(oi);
Assert.Equal(OrganizationIntegrationStatus.Completed, model.Status);
}
[Theory, BitAutoData]
public void Status_Scim_NullConfig_ReturnsInvalid(OrganizationIntegration oi)
{
oi.Type = IntegrationType.Scim;
oi.Configuration = null;
var model = new OrganizationIntegrationResponseModel(oi);
Assert.Equal(OrganizationIntegrationStatus.NotApplicable, model.Status);
model.Configuration = "{}";
Assert.Equal(OrganizationIntegrationStatus.NotApplicable, model.Status);
Assert.Equal(OrganizationIntegrationStatus.Invalid, model.Status);
}
[Theory, BitAutoData]
public void Status_Scim_EnabledFalse_ReturnsInvalid(OrganizationIntegration oi)
{
oi.Type = IntegrationType.Scim;
oi.Configuration = JsonSerializer.Serialize(new ScimIntegration
{
Enabled = false
});
var model = new OrganizationIntegrationResponseModel(oi);
Assert.Equal(OrganizationIntegrationStatus.Invalid, model.Status);
}
[Theory, BitAutoData]
public void Status_Scim_EnabledTrue_ReturnsCompleted(OrganizationIntegration oi)
{
oi.Type = IntegrationType.Scim;
oi.Configuration = JsonSerializer.Serialize(new ScimIntegration
{
Enabled = true
});
var model = new OrganizationIntegrationResponseModel(oi);
Assert.Equal(OrganizationIntegrationStatus.Completed, model.Status);
}
[Theory, BitAutoData]