1
0
mirror of https://github.com/bitwarden/server.git synced 2025-04-06 21:48:12 -05:00

[EC-912] Updated IdentityServerTests to reinitialize the database on constructor (#2538)

* [EC-912] Updated IdentityServerTests to reinitialize the database on constructor

* [EC-912] dotnet format
This commit is contained in:
Rui Tomé 2023-01-17 15:21:36 +00:00 committed by GitHub
parent c6e2db1ff5
commit 119c815c16
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -22,6 +22,7 @@ public class IdentityServerTests : IClassFixture<IdentityApplicationFactory>
public IdentityServerTests(IdentityApplicationFactory factory) public IdentityServerTests(IdentityApplicationFactory factory)
{ {
_factory = factory; _factory = factory;
ReinitializeDbForTests();
} }
[Fact] [Fact]
@ -554,48 +555,21 @@ public class IdentityServerTests : IClassFixture<IdentityApplicationFactory>
var organizationUserRepository = _factory.Services.GetService<IOrganizationUserRepository>(); var organizationUserRepository = _factory.Services.GetService<IOrganizationUserRepository>();
var policyRepository = _factory.Services.GetService<IPolicyRepository>(); var policyRepository = _factory.Services.GetService<IPolicyRepository>();
var organization = await organizationRepository.GetByIdAsync(organizationId); var organization = new Bit.Core.Entities.Organization { Id = organizationId, Enabled = true, UseSso = ssoPolicyEnabled };
if (organization == null) await organizationRepository.CreateAsync(organization);
{
organization = new Bit.Core.Entities.Organization { Id = organizationId, Enabled = true, UseSso = ssoPolicyEnabled };
await organizationRepository.CreateAsync(organization);
}
else
{
organization.UseSso = ssoPolicyEnabled;
await organizationRepository.ReplaceAsync(organization);
}
var user = await userRepository.GetByEmailAsync(username); var user = await userRepository.GetByEmailAsync(username);
var organizationUser = await organizationUserRepository.GetByOrganizationEmailAsync(organization.Id, username); var organizationUser = new Bit.Core.Entities.OrganizationUser
if (organizationUser == null)
{ {
organizationUser = new Bit.Core.Entities.OrganizationUser OrganizationId = organization.Id,
{ UserId = user.Id,
OrganizationId = organization.Id, Status = OrganizationUserStatusType.Confirmed,
UserId = user.Id, Type = organizationUserType
Status = OrganizationUserStatusType.Confirmed, };
Type = organizationUserType await organizationUserRepository.CreateAsync(organizationUser);
};
await organizationUserRepository.CreateAsync(organizationUser);
}
else
{
organizationUser.Type = organizationUserType;
await organizationUserRepository.ReplaceAsync(organizationUser);
}
var ssoPolicy = await policyRepository.GetByOrganizationIdTypeAsync(organization.Id, PolicyType.RequireSso); var ssoPolicy = new Bit.Core.Entities.Policy { OrganizationId = organization.Id, Type = PolicyType.RequireSso, Enabled = ssoPolicyEnabled };
if (ssoPolicy == null) await policyRepository.CreateAsync(ssoPolicy);
{
ssoPolicy = new Bit.Core.Entities.Policy { OrganizationId = organization.Id, Type = PolicyType.RequireSso, Enabled = ssoPolicyEnabled };
await policyRepository.CreateAsync(ssoPolicy);
}
else
{
ssoPolicy.Enabled = ssoPolicyEnabled;
await policyRepository.ReplaceAsync(ssoPolicy);
}
} }
private static string DeviceTypeAsString(DeviceType deviceType) private static string DeviceTypeAsString(DeviceType deviceType)
@ -660,4 +634,14 @@ public class IdentityServerTests : IClassFixture<IdentityApplicationFactory>
var errorDescription = AssertHelper.AssertJsonProperty(root, "error_description", JsonValueKind.String).GetString(); var errorDescription = AssertHelper.AssertJsonProperty(root, "error_description", JsonValueKind.String).GetString();
Assert.StartsWith("sso authentication", errorDescription.ToLowerInvariant()); Assert.StartsWith("sso authentication", errorDescription.ToLowerInvariant());
} }
private void ReinitializeDbForTests()
{
var databaseContext = _factory.GetDatabaseContext();
databaseContext.Policies.RemoveRange(databaseContext.Policies);
databaseContext.OrganizationUsers.RemoveRange(databaseContext.OrganizationUsers);
databaseContext.Organizations.RemoveRange(databaseContext.Organizations);
databaseContext.Users.RemoveRange(databaseContext.Users);
databaseContext.SaveChanges();
}
} }