mirror of
https://github.com/bitwarden/server.git
synced 2025-04-07 14:08:13 -05:00

* [PM-1188] add sso project to auth * [PM-1188] move sso api models to auth * [PM-1188] fix sso api model namespace & imports * [PM-1188] move core files to auth * [PM-1188] fix core sso namespace & models * [PM-1188] move sso repository files to auth * [PM-1188] fix sso repo files namespace & imports * [PM-1188] move sso sql files to auth folder * [PM-1188] move sso test files to auth folders * [PM-1188] fix sso tests namespace & imports * [PM-1188] move auth api files to auth folder * [PM-1188] fix auth api files namespace & imports * [PM-1188] move auth core files to auth folder * [PM-1188] fix auth core files namespace & imports * [PM-1188] move auth email templates to auth folder * [PM-1188] move auth email folder back into shared directory * [PM-1188] fix auth email names * [PM-1188] move auth core models to auth folder * [PM-1188] fix auth model namespace & imports * [PM-1188] add entire Identity project to auth codeowners * [PM-1188] fix auth orm files namespace & imports * [PM-1188] move auth orm files to auth folder * [PM-1188] move auth sql files to auth folder * [PM-1188] move auth tests to auth folder * [PM-1188] fix auth test files namespace & imports * [PM-1188] move emergency access api files to auth folder * [PM-1188] fix emergencyaccess api files namespace & imports * [PM-1188] move emergency access core files to auth folder * [PM-1188] fix emergency access core files namespace & imports * [PM-1188] move emergency access orm files to auth folder * [PM-1188] fix emergency access orm files namespace & imports * [PM-1188] move emergency access sql files to auth folder * [PM-1188] move emergencyaccess test files to auth folder * [PM-1188] fix emergency access test files namespace & imports * [PM-1188] move captcha files to auth folder * [PM-1188] fix captcha files namespace & imports * [PM-1188] move auth admin files into auth folder * [PM-1188] fix admin auth files namespace & imports - configure mvc to look in auth folders for views * [PM-1188] remove extra imports and formatting * [PM-1188] fix ef auth model imports * [PM-1188] fix DatabaseContextModelSnapshot paths * [PM-1188] fix grant import in ef * [PM-1188] update sqlproj * [PM-1188] move missed sqlproj files * [PM-1188] move auth ef models out of auth folder * [PM-1188] fix auth ef models namespace * [PM-1188] remove auth ef models unused imports * [PM-1188] fix imports for auth ef models * [PM-1188] fix more ef model imports * [PM-1188] fix file encodings
62 lines
2.4 KiB
C#
62 lines
2.4 KiB
C#
using Bit.Core.Auth.Entities;
|
|
using Bit.Core.Entities;
|
|
using Bit.Core.Test.AutoFixture.Attributes;
|
|
using Bit.Infrastructure.EFIntegration.Test.Auth.AutoFixture;
|
|
using Bit.Infrastructure.EFIntegration.Test.Auth.Repositories.EqualityComparers;
|
|
using Xunit;
|
|
using EfAuthRepo = Bit.Infrastructure.EntityFramework.Auth.Repositories;
|
|
using EfRepo = Bit.Infrastructure.EntityFramework.Repositories;
|
|
using SqlAuthRepo = Bit.Infrastructure.Dapper.Auth.Repositories;
|
|
using SqlRepo = Bit.Infrastructure.Dapper.Repositories;
|
|
|
|
namespace Bit.Infrastructure.EFIntegration.Test.Auth.Repositories;
|
|
|
|
public class EmergencyAccessRepositoryTests
|
|
{
|
|
[CiSkippedTheory, EfEmergencyAccessAutoData]
|
|
public async void CreateAsync_Works_DataMatches(
|
|
EmergencyAccess emergencyAccess,
|
|
List<User> users,
|
|
EmergencyAccessCompare equalityComparer,
|
|
List<EfAuthRepo.EmergencyAccessRepository> suts,
|
|
List<EfRepo.UserRepository> efUserRepos,
|
|
SqlAuthRepo.EmergencyAccessRepository sqlEmergencyAccessRepo,
|
|
SqlRepo.UserRepository sqlUserRepo
|
|
)
|
|
{
|
|
var savedEmergencyAccesss = new List<EmergencyAccess>();
|
|
foreach (var sut in suts)
|
|
{
|
|
var i = suts.IndexOf(sut);
|
|
|
|
for (int j = 0; j < users.Count; j++)
|
|
{
|
|
users[j] = await efUserRepos[i].CreateAsync(users[j]);
|
|
}
|
|
sut.ClearChangeTracking();
|
|
|
|
emergencyAccess.GrantorId = users[0].Id;
|
|
emergencyAccess.GranteeId = users[0].Id;
|
|
var postEfEmergencyAccess = await sut.CreateAsync(emergencyAccess);
|
|
sut.ClearChangeTracking();
|
|
|
|
var savedEmergencyAccess = await sut.GetByIdAsync(postEfEmergencyAccess.Id);
|
|
savedEmergencyAccesss.Add(savedEmergencyAccess);
|
|
}
|
|
|
|
for (int j = 0; j < users.Count; j++)
|
|
{
|
|
users[j] = await sqlUserRepo.CreateAsync(users[j]);
|
|
}
|
|
|
|
emergencyAccess.GrantorId = users[0].Id;
|
|
emergencyAccess.GranteeId = users[0].Id;
|
|
var sqlEmergencyAccess = await sqlEmergencyAccessRepo.CreateAsync(emergencyAccess);
|
|
var savedSqlEmergencyAccess = await sqlEmergencyAccessRepo.GetByIdAsync(sqlEmergencyAccess.Id);
|
|
savedEmergencyAccesss.Add(savedSqlEmergencyAccess);
|
|
|
|
var distinctItems = savedEmergencyAccesss.Distinct(equalityComparer);
|
|
Assert.True(!distinctItems.Skip(1).Any());
|
|
}
|
|
}
|