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

PM-20576 removed RevisionDate from Repo and tests

This commit is contained in:
voommen-livefront 2025-06-23 09:59:49 -05:00
parent e6ba90c410
commit 0bc3b8a965

View File

@ -64,142 +64,6 @@ public class OrganizationReportRepositoryTests
Assert.True(nextSetOfRecords.Count == 1 && nextSetOfRecords.First().OrganizationId == secondOrg.Id);
}
[CiSkippedTheory, EfOrganizationReportAutoData]
public async Task ReplaceQuery_Works(
List<EntityFramework.Dirt.Repositories.OrganizationReportRepository> suts,
List<EfRepo.OrganizationRepository> efOrganizationRepos,
OrganizationReportRepository sqlOrganizationReportRepo,
SqlRepo.OrganizationRepository sqlOrganizationRepo)
{
var (org, record) = await CreateOrganizationAndReportAsync(sqlOrganizationRepo, sqlOrganizationReportRepo);
var exampleData = "http://www.example.com";
var exampleRevisionDate = new DateTime(2021, 1, 1);
var dbRecords = new List<OrganizationReport>();
foreach (var sut in suts)
{
var i = suts.IndexOf(sut);
// create a new organization for each repository
var organization = await efOrganizationRepos[i].CreateAsync(org);
// map the organization Id and create the PasswordHealthReportApp record
record.OrganizationId = organization.Id;
var organizationReportRecord = await sut.CreateAsync(record);
// update the record with new values
organizationReportRecord.ReportData = exampleData;
organizationReportRecord.RevisionDate = exampleRevisionDate;
// apply update to the database
await sut.ReplaceAsync(organizationReportRecord);
sut.ClearChangeTracking();
// retrieve the data and add to the list for assertions
var recordFromDb = await sut.GetByIdAsync(organizationReportRecord.Id);
sut.ClearChangeTracking();
dbRecords.Add(recordFromDb);
}
// sql - create a new organization and PasswordHealthReportApplication record
var (sqlOrg, sqlPwdRecord) = await CreateOrganizationAndReportAsync(sqlOrganizationRepo, sqlOrganizationReportRepo);
var sqlOrganizationReportRecord = await sqlOrganizationReportRepo.GetByIdAsync(sqlPwdRecord.Id);
// sql - update the record with new values
sqlOrganizationReportRecord.ReportData = exampleData;
sqlOrganizationReportRecord.RevisionDate = exampleRevisionDate;
await sqlOrganizationReportRepo.ReplaceAsync(sqlOrganizationReportRecord);
// sql - retrieve the data and add to the list for assertions
var sqlDbRecord = await sqlOrganizationReportRepo.GetByIdAsync(sqlOrganizationReportRecord.Id);
dbRecords.Add(sqlDbRecord);
// assertions
// the Guids must be distinct across all records
Assert.True(dbRecords.Select(_ => _.Id).Distinct().Count() == dbRecords.Count);
// the Uri and RevisionDate must match the updated values
Assert.True(dbRecords.All(_ => _.ReportData == exampleData && _.RevisionDate == exampleRevisionDate));
}
[CiSkippedTheory, EfOrganizationReportAutoData]
public async Task Upsert_Works(
List<EntityFramework.Dirt.Repositories.OrganizationReportRepository> suts,
List<EfRepo.OrganizationRepository> efOrganizationRepos,
OrganizationReportRepository sqlOrganizationReportRepo,
SqlRepo.OrganizationRepository sqlOrganizationRepo)
{
var fixture = new Fixture();
var rawOrg = fixture.Build<Organization>().Create();
var rawRecord = fixture.Build<OrganizationReport>()
.With(_ => _.OrganizationId, rawOrg.Id)
.Without(_ => _.Id)
.Create();
var exampleData = "http://www.example.com";
var exampleRevisionDate = new DateTime(2021, 1, 1);
var dbRecords = new List<OrganizationReport>();
foreach (var sut in suts)
{
var i = suts.IndexOf(sut);
// create a new organization for each repository
var organization = await efOrganizationRepos[i].CreateAsync(rawOrg);
// map the organization Id and use Upsert to save new record
rawRecord.OrganizationId = organization.Id;
rawRecord.Id = default(Guid);
await sut.UpsertAsync(rawRecord);
sut.ClearChangeTracking();
// retrieve the data and add to the list for assertions
var organizationReportRecord = await sut.GetByIdAsync(rawRecord.Id);
// update the record with new values
organizationReportRecord.ReportData = exampleData;
organizationReportRecord.RevisionDate = exampleRevisionDate;
// apply update using Upsert to make changes to db
await sut.UpsertAsync(organizationReportRecord);
sut.ClearChangeTracking();
// retrieve the data and add to the list for assertions
var recordFromDb = await sut.GetByIdAsync(organizationReportRecord.Id);
dbRecords.Add(recordFromDb);
sut.ClearChangeTracking();
}
// sql - create new records
var organizationForSql = fixture.Create<Organization>();
var sqlOrganizationReportRecord = fixture.Build<OrganizationReport>()
.With(_ => _.OrganizationId, organizationForSql.Id)
.Without(_ => _.Id)
.Create();
// sql - use Upsert to insert this data
var sqlOrganization = await sqlOrganizationRepo.CreateAsync(organizationForSql);
await sqlOrganizationReportRepo.UpsertAsync(sqlOrganizationReportRecord);
var sqlPasswordHealthReportApplicationRecord = await sqlOrganizationReportRepo.GetByIdAsync(sqlOrganizationReportRecord.Id);
// sql - update the record with new values
sqlPasswordHealthReportApplicationRecord.ReportData = exampleData;
sqlPasswordHealthReportApplicationRecord.RevisionDate = exampleRevisionDate;
await sqlOrganizationReportRepo.UpsertAsync(sqlPasswordHealthReportApplicationRecord);
// sql - retrieve the data and add to the list for assertions
var sqlDbRecord = await sqlOrganizationReportRepo.GetByIdAsync(sqlPasswordHealthReportApplicationRecord.Id);
dbRecords.Add(sqlDbRecord);
// assertions
// the Guids must be distinct across all records
Assert.True(dbRecords.Select(_ => _.Id).Distinct().Count() == dbRecords.Count);
// the Uri and RevisionDate must match the updated values
Assert.True(dbRecords.All(_ => _.ReportData == exampleData && _.RevisionDate == exampleRevisionDate));
}
[CiSkippedTheory, EfOrganizationReportAutoData]
public async Task Delete_Works(
List<EntityFramework.Dirt.Repositories.OrganizationReportRepository> suts,