1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-02 08:32:50 -05:00

Run dotnet format (#1764)

This commit is contained in:
Oscar Hinton
2021-12-16 15:35:09 +01:00
committed by GitHub
parent 61dc65aa59
commit 23b0a1f9df
531 changed files with 3024 additions and 3000 deletions

View File

@ -1,13 +1,13 @@
using System;
using System;
namespace Bit.Core.Test.AutoFixture.Attributes
{
public sealed class CiSkippedTheory : Xunit.TheoryAttribute
{
private static bool IsGithubActions() => Environment.GetEnvironmentVariable("CI") != null;
public CiSkippedTheory()
private static bool IsGithubActions() => Environment.GetEnvironmentVariable("CI") != null;
public CiSkippedTheory()
{
if(IsGithubActions())
if (IsGithubActions())
{
Skip = "Ignore during CI builds";
}

View File

@ -1,4 +1,4 @@
using AutoFixture;
using AutoFixture;
using AutoFixture.Dsl;
using Bit.Core.Models.Data;

View File

@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
@ -46,12 +46,12 @@ namespace Bit.Core.Test.AutoFixture.CipherFixtures
}
}
internal class CipherBuilder: ISpecimenBuilder
internal class CipherBuilder : ISpecimenBuilder
{
public bool OrganizationOwned { get; set; }
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -78,11 +78,12 @@ namespace Bit.Core.Test.AutoFixture.CipherFixtures
.Without(e => e.Favorites)
.Without(e => e.Folders));
//
var serializerOptions = new JsonSerializerOptions(){
var serializerOptions = new JsonSerializerOptions()
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
};
if(type == typeof(Cipher))
if (type == typeof(Cipher))
{
var obj = fixture.WithAutoNSubstitutions().Create<Cipher>();
var cipherData = fixture.WithAutoNSubstitutions().Create<CipherLoginData>();
@ -92,10 +93,10 @@ namespace Bit.Core.Test.AutoFixture.CipherFixtures
return obj;
}
if (type == typeof(List<Cipher>))
if (type == typeof(List<Cipher>))
{
var ciphers = fixture.WithAutoNSubstitutions().CreateMany<Cipher>().ToArray();
for (var i = 0; i < ciphers.Count(); i++ )
for (var i = 0; i < ciphers.Count(); i++)
{
var cipherData = fixture.WithAutoNSubstitutions().Create<CipherLoginData>();
var cipherAttachements = fixture.WithAutoNSubstitutions().Create<List<CipherAttachment>>();
@ -110,14 +111,15 @@ namespace Bit.Core.Test.AutoFixture.CipherFixtures
}
}
internal class EfCipher: ICustomization
internal class EfCipher : ICustomization
{
public bool OrganizationOwned { get; set; }
public void Customize(IFixture fixture)
{
fixture.Customizations.Add(new GlobalSettingsBuilder());
fixture.Customizations.Add(new CipherBuilder(){
OrganizationOwned = OrganizationOwned
fixture.Customizations.Add(new CipherBuilder()
{
OrganizationOwned = OrganizationOwned
});
fixture.Customizations.Add(new UserBuilder());
fixture.Customizations.Add(new OrganizationBuilder());
@ -172,9 +174,10 @@ namespace Bit.Core.Test.AutoFixture.CipherFixtures
internal class EfOrganizationCipherAutoDataAttribute : CustomAutoDataAttribute
{
public EfOrganizationCipherAutoDataAttribute() : base(new SutProviderCustomization(), new EfCipher(){
OrganizationOwned = true,
})
public EfOrganizationCipherAutoDataAttribute() : base(new SutProviderCustomization(), new EfCipher()
{
OrganizationOwned = true,
})
{ }
}

View File

@ -1,23 +1,23 @@
using System;
using AutoFixture;
using TableModel = Bit.Core.Models.Table;
using AutoFixture.Kernel;
using System;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.CipherFixtures;
using Bit.Core.Test.AutoFixture.CollectionFixtures;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Test.AutoFixture.Relays;
using Bit.Core.Test.AutoFixture.CollectionFixtures;
using Bit.Core.Test.AutoFixture.CipherFixtures;
using Bit.Core.Test.AutoFixture.UserFixtures;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.CollectionCipherFixtures
{
internal class CollectionCipherBuilder: ISpecimenBuilder
internal class CollectionCipherBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -35,7 +35,7 @@ namespace Bit.Core.Test.AutoFixture.CollectionCipherFixtures
}
}
internal class EfCollectionCipher: ICustomization
internal class EfCollectionCipher : ICustomization
{
public void Customize(IFixture fixture)
{

View File

@ -1,21 +1,21 @@
using System;
using AutoFixture;
using TableModel = Bit.Core.Models.Table;
using AutoFixture.Kernel;
using System;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using Bit.Core.Test.AutoFixture.Relays;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.CollectionFixtures
{
internal class CollectionBuilder: ISpecimenBuilder
internal class CollectionBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -33,7 +33,7 @@ namespace Bit.Core.Test.AutoFixture.CollectionFixtures
}
}
internal class EfCollection: ICustomization
internal class EfCollection : ICustomization
{
public void Customize(IFixture fixture)
{

View File

@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using AutoFixture;
using AutoFixture.Kernel;

View File

@ -1,21 +1,21 @@
using System;
using AutoFixture;
using TableModel = Bit.Core.Models.Table;
using AutoFixture.Kernel;
using System;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Test.AutoFixture.UserFixtures;
using Bit.Core.Test.AutoFixture.Relays;
using Bit.Core.Test.AutoFixture.UserFixtures;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.DeviceFixtures
{
internal class DeviceBuilder: ISpecimenBuilder
internal class DeviceBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -33,7 +33,7 @@ namespace Bit.Core.Test.AutoFixture.DeviceFixtures
}
}
internal class EfDevice: ICustomization
internal class EfDevice : ICustomization
{
public void Customize(IFixture fixture)
{

View File

@ -1,21 +1,21 @@
using System;
using AutoFixture;
using TableModel = Bit.Core.Models.Table;
using AutoFixture.Kernel;
using System;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Test.AutoFixture.UserFixtures;
using Bit.Core.Test.AutoFixture.Relays;
using Bit.Core.Test.AutoFixture.UserFixtures;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.EmergencyAccessFixtures
{
internal class EmergencyAccessBuilder: ISpecimenBuilder
internal class EmergencyAccessBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -33,7 +33,7 @@ namespace Bit.Core.Test.AutoFixture.EmergencyAccessFixtures
}
}
internal class EfEmergencyAccess: ICustomization
internal class EfEmergencyAccess : ICustomization
{
public void Customize(IFixture fixture)
{

View File

@ -1,24 +1,25 @@
using System;
using System.Collections.Generic;
using System.Reflection;
using AutoFixture;
using AutoFixture.Kernel;
using AutoMapper;
using Bit.Core.Models.EntityFramework;
using Bit.Core.Models.EntityFramework.Provider;
using System.Collections.Generic;
using AutoFixture.Kernel;
using System;
using Moq;
using Microsoft.Extensions.DependencyInjection;
using System.Reflection;
using Bit.Core.Repositories.EntityFramework;
using Microsoft.EntityFrameworkCore;
using Bit.Core.Settings;
using Bit.Core.Test.Helpers.Factories;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Moq;
namespace Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures
{
internal class ServiceScopeFactoryBuilder: ISpecimenBuilder
internal class ServiceScopeFactoryBuilder : ISpecimenBuilder
{
private DbContextOptions<DatabaseContext> _options { get; set; }
public ServiceScopeFactoryBuilder(DbContextOptions<DatabaseContext> options) {
public ServiceScopeFactoryBuilder(DbContextOptions<DatabaseContext> options)
{
_options = options;
}
@ -42,11 +43,11 @@ namespace Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures
}
}
public class EfRepositoryListBuilder<T>: ISpecimenBuilder where T: BaseEntityFrameworkRepository
public class EfRepositoryListBuilder<T> : ISpecimenBuilder where T : BaseEntityFrameworkRepository
{
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -62,8 +63,9 @@ namespace Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures
{
var fixture = new Fixture();
fixture.Customize<IServiceScopeFactory>(x => x.FromFactory(new ServiceScopeFactoryBuilder(option)));
fixture.Customize<IMapper>(x => x.FromFactory(() =>
new MapperConfiguration(cfg => {
fixture.Customize<IMapper>(x => x.FromFactory(() =>
new MapperConfiguration(cfg =>
{
cfg.AddProfile<CipherMapperProfile>();
cfg.AddProfile<CollectionCipherMapperProfile>();
cfg.AddProfile<CollectionMapperProfile>();

View File

@ -1,20 +1,20 @@
using System;
using AutoFixture;
using TableModel = Bit.Core.Models.Table;
using AutoFixture.Kernel;
using System;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Test.AutoFixture.Relays;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.EventFixtures
{
internal class EventBuilder: ISpecimenBuilder
internal class EventBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -32,7 +32,7 @@ namespace Bit.Core.Test.AutoFixture.EventFixtures
}
}
internal class EfEvent: ICustomization
internal class EfEvent : ICustomization
{
public void Customize(IFixture fixture)
{

View File

@ -1,21 +1,21 @@
using System;
using AutoFixture;
using TableModel = Bit.Core.Models.Table;
using AutoFixture.Kernel;
using System;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Test.AutoFixture.Relays;
using Bit.Core.Test.AutoFixture.UserFixtures;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.FolderFixtures
{
internal class FolderBuilder: ISpecimenBuilder
internal class FolderBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -33,7 +33,7 @@ namespace Bit.Core.Test.AutoFixture.FolderFixtures
}
}
internal class EfFolder: ICustomization
internal class EfFolder : ICustomization
{
public void Customize(IFixture fixture)
{

View File

@ -1,20 +1,20 @@
using System;
using AutoFixture;
using TableModel = Bit.Core.Models.Table;
using AutoFixture.Kernel;
using System;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Test.AutoFixture.Relays;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.GrantFixtures
{
internal class GrantBuilder: ISpecimenBuilder
internal class GrantBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -32,7 +32,7 @@ namespace Bit.Core.Test.AutoFixture.GrantFixtures
}
}
internal class EfGrant: ICustomization
internal class EfGrant : ICustomization
{
public void Customize(IFixture fixture)
{

View File

@ -1,14 +1,14 @@
using System;
using AutoFixture;
using TableModel = Bit.Core.Models.Table;
using AutoFixture.Kernel;
using System;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using Bit.Core.Test.AutoFixture.Relays;
using Fixtures = Bit.Core.Test.AutoFixture.OrganizationFixtures;
using Bit.Test.Common.AutoFixture.Attributes;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using Fixtures = Bit.Core.Test.AutoFixture.OrganizationFixtures;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.GroupFixtures
{
@ -26,11 +26,11 @@ namespace Bit.Core.Test.AutoFixture.GroupFixtures
{ }
}
internal class GroupBuilder: ISpecimenBuilder
internal class GroupBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -48,7 +48,7 @@ namespace Bit.Core.Test.AutoFixture.GroupFixtures
}
}
internal class EfGroup: ICustomization
internal class EfGroup : ICustomization
{
public void Customize(IFixture fixture)
{

View File

@ -1,19 +1,19 @@
using System;
using AutoFixture;
using TableModel = Bit.Core.Models.Table;
using AutoFixture.Kernel;
using System;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.GroupUserFixtures
{
internal class GroupUserBuilder: ISpecimenBuilder
internal class GroupUserBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -30,7 +30,7 @@ namespace Bit.Core.Test.AutoFixture.GroupUserFixtures
}
}
internal class EfGroupUser: ICustomization
internal class EfGroupUser : ICustomization
{
public void Customize(IFixture fixture)
{

View File

@ -1,19 +1,19 @@
using System;
using AutoFixture;
using TableModel = Bit.Core.Models.Table;
using AutoFixture.Kernel;
using System;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.InstallationFixtures
{
internal class InstallationBuilder: ISpecimenBuilder
internal class InstallationBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -30,7 +30,7 @@ namespace Bit.Core.Test.AutoFixture.InstallationFixtures
}
}
internal class EfInstallation: ICustomization
internal class EfInstallation : ICustomization
{
public void Customize(IFixture fixture)
{

View File

@ -3,17 +3,17 @@ using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using AutoFixture;
using AutoFixture.Kernel;
using Bit.Core.Enums;
using Bit.Core.Models;
using Bit.Core.Models.Business;
using Bit.Core.Models.Data;
using TableModel = Bit.Core.Models.Table;
using Bit.Core.Utilities;
using AutoFixture.Kernel;
using Bit.Core.Models;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Repositories.EntityFramework;
using Bit.Test.Common.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Utilities;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.OrganizationFixtures
{
@ -39,11 +39,11 @@ namespace Bit.Core.Test.AutoFixture.OrganizationFixtures
}
}
internal class OrganizationBuilder: ISpecimenBuilder
internal class OrganizationBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -74,7 +74,7 @@ namespace Bit.Core.Test.AutoFixture.OrganizationFixtures
fixture.Customize<Core.Models.Table.Organization>(composer => composer
.With(o => o.PlanType, CheckedPlanType));
fixture.Customize<OrganizationUpgrade>(composer => composer
.With(ou => ou.Plan, validUpgradePlans.First())) ;
.With(ou => ou.Plan, validUpgradePlans.First()));
}
}
@ -129,7 +129,7 @@ namespace Bit.Core.Test.AutoFixture.OrganizationFixtures
}
}
internal class EfOrganization: ICustomization
internal class EfOrganization : ICustomization
{
public void Customize(IFixture fixture)
{

View File

@ -1,13 +1,13 @@
using System;
using AutoFixture;
using TableModel = Bit.Core.Models.Table;
using AutoFixture.Kernel;
using System;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using Bit.Core.Test.AutoFixture.OrganizationUserFixtures;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.OrganizationUserFixtures;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.OrganizationSponsorshipFixtures
{

View File

@ -1,28 +1,28 @@
using AutoFixture;
using TableModel = Bit.Core.Models.Table;
using Bit.Core.Models;
using System;
using System.Collections.Generic;
using Bit.Core.Enums;
using System.Reflection;
using System.Text.Json;
using AutoFixture;
using AutoFixture.Kernel;
using System;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using AutoFixture.Xunit2;
using Bit.Core.Enums;
using Bit.Core.Models;
using Bit.Core.Models.Data;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Models.Data;
using System.Text.Json;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using Bit.Core.Test.AutoFixture.UserFixtures;
using AutoFixture.Xunit2;
using System.Reflection;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.OrganizationUserFixtures
{
internal class OrganizationUserBuilder: ISpecimenBuilder
internal class OrganizationUserBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -33,7 +33,8 @@ namespace Bit.Core.Test.AutoFixture.OrganizationUserFixtures
var fixture = new Fixture();
var orgUser = fixture.WithAutoNSubstitutions().Create<TableModel.OrganizationUser>();
var orgUserPermissions = fixture.WithAutoNSubstitutions().Create<Permissions>();
orgUser.Permissions = JsonSerializer.Serialize(orgUserPermissions, new JsonSerializerOptions() {
orgUser.Permissions = JsonSerializer.Serialize(orgUserPermissions, new JsonSerializerOptions()
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
});
return orgUser;
@ -46,7 +47,8 @@ namespace Bit.Core.Test.AutoFixture.OrganizationUserFixtures
{
var providers = fixture.Create<Dictionary<TwoFactorProviderType, TwoFactorProvider>>();
var orgUserPermissions = fixture.WithAutoNSubstitutions().Create<Permissions>();
orgUser.Permissions = JsonSerializer.Serialize(orgUserPermissions, new JsonSerializerOptions() {
orgUser.Permissions = JsonSerializer.Serialize(orgUserPermissions, new JsonSerializerOptions()
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
});
}
@ -55,7 +57,7 @@ namespace Bit.Core.Test.AutoFixture.OrganizationUserFixtures
return new NoSpecimen();
}
}
internal class OrganizationUser : ICustomization
{
public OrganizationUserStatusType Status { get; set; }
@ -66,7 +68,7 @@ namespace Bit.Core.Test.AutoFixture.OrganizationUserFixtures
Status = status;
Type = type;
}
public void Customize(IFixture fixture)
{
fixture.Customize<Core.Models.Table.OrganizationUser>(composer => composer
@ -94,20 +96,20 @@ namespace Bit.Core.Test.AutoFixture.OrganizationUserFixtures
}
}
internal class EfOrganizationUser: ICustomization
{
public void Customize(IFixture fixture)
{
fixture.Customizations.Add(new IgnoreVirtualMembersCustomization());
fixture.Customizations.Add(new GlobalSettingsBuilder());
fixture.Customizations.Add(new OrganizationUserBuilder());
fixture.Customizations.Add(new OrganizationBuilder());
fixture.Customizations.Add(new UserBuilder());
fixture.Customizations.Add(new EfRepositoryListBuilder<OrganizationUserRepository>());
fixture.Customizations.Add(new EfRepositoryListBuilder<UserRepository>());
fixture.Customizations.Add(new EfRepositoryListBuilder<OrganizationRepository>());
}
}
internal class EfOrganizationUser : ICustomization
{
public void Customize(IFixture fixture)
{
fixture.Customizations.Add(new IgnoreVirtualMembersCustomization());
fixture.Customizations.Add(new GlobalSettingsBuilder());
fixture.Customizations.Add(new OrganizationUserBuilder());
fixture.Customizations.Add(new OrganizationBuilder());
fixture.Customizations.Add(new UserBuilder());
fixture.Customizations.Add(new EfRepositoryListBuilder<OrganizationUserRepository>());
fixture.Customizations.Add(new EfRepositoryListBuilder<UserRepository>());
fixture.Customizations.Add(new EfRepositoryListBuilder<OrganizationRepository>());
}
}
internal class EfOrganizationUserAutoDataAttribute : CustomAutoDataAttribute
{

View File

@ -1,15 +1,15 @@
using System;
using System.Reflection;
using AutoFixture;
using TableModel = Bit.Core.Models.Table;
using Bit.Core.Enums;
using AutoFixture.Kernel;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using AutoFixture.Xunit2;
using Bit.Core.Enums;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using AutoFixture.Xunit2;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.PolicyFixtures
{
@ -21,7 +21,7 @@ namespace Bit.Core.Test.AutoFixture.PolicyFixtures
{
Type = type;
}
public void Customize(IFixture fixture)
{
fixture.Customize<Core.Models.Table.Policy>(composer => composer
@ -45,12 +45,12 @@ namespace Bit.Core.Test.AutoFixture.PolicyFixtures
return new Policy(_type);
}
}
internal class PolicyBuilder: ISpecimenBuilder
internal class PolicyBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -67,7 +67,7 @@ namespace Bit.Core.Test.AutoFixture.PolicyFixtures
}
}
internal class EfPolicy: ICustomization
internal class EfPolicy : ICustomization
{
public void Customize(IFixture fixture)
{

View File

@ -1,15 +1,15 @@
using AutoFixture.Kernel;
using System;
using System;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Reflection;
using AutoFixture.Kernel;
namespace Bit.Core.Test.AutoFixture.Relays
{
// Creates a string the same length as any availible MaxLength data annotation
// Modified version of the StringLenfthRelay provided by AutoFixture
// https://github.com/AutoFixture/AutoFixture/blob/master/Src/AutoFixture/DataAnnotations/StringLengthAttributeRelay.cs
internal class MaxLengthStringRelay: ISpecimenBuilder
internal class MaxLengthStringRelay : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{

View File

@ -1,4 +1,4 @@
using System;
using System;
using AutoFixture;
using AutoFixture.Kernel;
using Bit.Core.Models.Table;
@ -70,12 +70,12 @@ namespace Bit.Core.Test.AutoFixture.SendFixtures
{ }
}
internal class SendBuilder: ISpecimenBuilder
internal class SendBuilder : ISpecimenBuilder
{
public bool OrganizationOwned { get; set; }
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -98,7 +98,7 @@ namespace Bit.Core.Test.AutoFixture.SendFixtures
}
}
internal class EfSend: ICustomization
internal class EfSend : ICustomization
{
public bool OrganizationOwned { get; set; }
public void Customize(IFixture fixture)
@ -122,9 +122,10 @@ namespace Bit.Core.Test.AutoFixture.SendFixtures
internal class EfOrganizationSendAutoDataAttribute : CustomAutoDataAttribute
{
public EfOrganizationSendAutoDataAttribute() : base(new SutProviderCustomization(), new EfSend(){
OrganizationOwned = true,
})
public EfOrganizationSendAutoDataAttribute() : base(new SutProviderCustomization(), new EfSend()
{
OrganizationOwned = true,
})
{ }
}
}

View File

@ -1,22 +1,22 @@
using System;
using System;
using System.Text.Json;
using AutoFixture;
using AutoFixture.Kernel;
using TableModel = Bit.Core.Models.Table;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using Bit.Core.Models.Data;
using System.Text.Json;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.SsoConfigFixtures
{
internal class SsoConfigBuilder: ISpecimenBuilder
internal class SsoConfigBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -35,18 +35,18 @@ namespace Bit.Core.Test.AutoFixture.SsoConfigFixtures
}
}
internal class EfSsoConfig: ICustomization
{
public void Customize(IFixture fixture)
{
fixture.Customizations.Add(new IgnoreVirtualMembersCustomization());
fixture.Customizations.Add(new GlobalSettingsBuilder());
fixture.Customizations.Add(new OrganizationBuilder());
fixture.Customizations.Add(new SsoConfigBuilder());
fixture.Customizations.Add(new EfRepositoryListBuilder<SsoConfigRepository>());
fixture.Customizations.Add(new EfRepositoryListBuilder<OrganizationRepository>());
}
}
internal class EfSsoConfig : ICustomization
{
public void Customize(IFixture fixture)
{
fixture.Customizations.Add(new IgnoreVirtualMembersCustomization());
fixture.Customizations.Add(new GlobalSettingsBuilder());
fixture.Customizations.Add(new OrganizationBuilder());
fixture.Customizations.Add(new SsoConfigBuilder());
fixture.Customizations.Add(new EfRepositoryListBuilder<SsoConfigRepository>());
fixture.Customizations.Add(new EfRepositoryListBuilder<OrganizationRepository>());
}
}
internal class EfSsoConfigAutoDataAttribute : CustomAutoDataAttribute
{

View File

@ -1,4 +1,4 @@
using AutoFixture;
using AutoFixture;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
@ -11,18 +11,18 @@ namespace Bit.Core.Test.AutoFixture.SsoUserFixtures
{
internal class EfSsoUser : ICustomization
{
public void Customize(IFixture fixture)
{
fixture.Customizations.Add(new IgnoreVirtualMembersCustomization());
fixture.Customizations.Add(new GlobalSettingsBuilder());
fixture.Customizations.Add(new UserBuilder());
fixture.Customizations.Add(new OrganizationBuilder());
fixture.Customize<TableModel.SsoUser>(composer => composer.Without(ou => ou.Id));
fixture.Customizations.Add(new EfRepositoryListBuilder<SsoUserRepository>());
fixture.Customizations.Add(new EfRepositoryListBuilder<UserRepository>());
fixture.Customizations.Add(new EfRepositoryListBuilder<OrganizationRepository>());
}
}
public void Customize(IFixture fixture)
{
fixture.Customizations.Add(new IgnoreVirtualMembersCustomization());
fixture.Customizations.Add(new GlobalSettingsBuilder());
fixture.Customizations.Add(new UserBuilder());
fixture.Customizations.Add(new OrganizationBuilder());
fixture.Customize<TableModel.SsoUser>(composer => composer.Without(ou => ou.Id));
fixture.Customizations.Add(new EfRepositoryListBuilder<SsoUserRepository>());
fixture.Customizations.Add(new EfRepositoryListBuilder<UserRepository>());
fixture.Customizations.Add(new EfRepositoryListBuilder<OrganizationRepository>());
}
}
internal class EfSsoUserAutoDataAttribute : CustomAutoDataAttribute
{

View File

@ -1,20 +1,20 @@
using System;
using AutoFixture;
using TableModel = Bit.Core.Models.Table;
using AutoFixture.Kernel;
using System;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Test.AutoFixture.Relays;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.TaxRateFixtures
{
internal class TaxRateBuilder: ISpecimenBuilder
internal class TaxRateBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -32,7 +32,7 @@ namespace Bit.Core.Test.AutoFixture.TaxRateFixtures
}
}
internal class EfTaxRate: ICustomization
internal class EfTaxRate : ICustomization
{
public void Customize(IFixture fixture)
{

View File

@ -1,24 +1,24 @@
using System;
using AutoFixture;
using TableModel = Bit.Core.Models.Table;
using Bit.Core.Models.EntityFramework;
using AutoFixture.Kernel;
using System;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using Bit.Core.Models.EntityFramework;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Test.AutoFixture.UserFixtures;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using Bit.Core.Test.AutoFixture.Relays;
using Bit.Core.Test.AutoFixture.UserFixtures;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.TransactionFixtures
{
internal class TransactionBuilder: ISpecimenBuilder
internal class TransactionBuilder : ISpecimenBuilder
{
public bool OrganizationOwned { get; set; }
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -41,7 +41,7 @@ namespace Bit.Core.Test.AutoFixture.TransactionFixtures
}
}
internal class EfTransaction: ICustomization
internal class EfTransaction : ICustomization
{
public bool OrganizationOwned { get; set; }
public void Customize(IFixture fixture)
@ -65,9 +65,10 @@ namespace Bit.Core.Test.AutoFixture.TransactionFixtures
internal class EfOrganizationTransactionAutoDataAttribute : CustomAutoDataAttribute
{
public EfOrganizationTransactionAutoDataAttribute() : base(new SutProviderCustomization(), new EfTransaction(){
OrganizationOwned = true,
})
public EfOrganizationTransactionAutoDataAttribute() : base(new SutProviderCustomization(), new EfTransaction()
{
OrganizationOwned = true,
})
{ }
}
}

View File

@ -1,21 +1,21 @@
using System;
using AutoFixture;
using TableModel = Bit.Core.Models.Table;
using AutoFixture.Kernel;
using System;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Core.Test.AutoFixture.Relays;
using Bit.Core.Test.AutoFixture.UserFixtures;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.U2fFixtures
{
internal class U2fBuilder: ISpecimenBuilder
internal class U2fBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
if (context == null)
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
@ -33,7 +33,7 @@ namespace Bit.Core.Test.AutoFixture.U2fFixtures
}
}
internal class EfU2f: ICustomization
internal class EfU2f : ICustomization
{
public void Customize(IFixture fixture)
{

View File

@ -1,15 +1,15 @@
using AutoFixture;
using TableModel = Bit.Core.Models.Table;
using Bit.Core.Models;
using System;
using System.Collections.Generic;
using Bit.Core.Enums;
using AutoFixture;
using AutoFixture.Kernel;
using System;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using Bit.Core.Enums;
using Bit.Core.Models;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures;
using Bit.Test.Common.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.AutoFixture.UserFixtures
{

View File

@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Settings;
using Bit.Test.Common.Helpers.Factories;

View File

@ -1,4 +1,4 @@
using Bit.Core.Models.Business;
using Bit.Core.Models.Business;
using NSubstitute;
using Xunit;
@ -16,7 +16,7 @@ namespace Bit.Core.Test.Models.Business
[InlineData("AU", "PH", null, "au_abn")]
[InlineData("BR", "PH", null, "br_cnpj")]
[InlineData("CA", "PH", "bec", "ca_qst")]
[InlineData("CA", "PH", null, "ca_bn")]
[InlineData("CA", "PH", null, "ca_bn")]
[InlineData("CL", "PH", null, "cl_tin")]
[InlineData("AT", "PH", null, "eu_vat")]
[InlineData("BE", "PH", null, "eu_vat")]
@ -63,8 +63,8 @@ namespace Bit.Core.Test.Models.Business
[InlineData("US", "PH", null, "us_ein")]
[InlineData("ZA", "PH", null, "za_vat")]
[InlineData("ABCDEF", "PH", null, null)]
public void GetTaxIdType_Success(string billingAddressCountry,
string taxIdNumber,
public void GetTaxIdType_Success(string billingAddressCountry,
string taxIdNumber,
string billingAddressState,
string expectedTaxIdType)
{

View File

@ -1,4 +1,4 @@
using System;
using System;
using System.Text.Json;
using AutoFixture.Xunit2;
using Bit.Core.Models.Data;

View File

@ -1,4 +1,4 @@
using Bit.Core.Models.Table;
using Bit.Core.Models.Table;
using Xunit;
namespace Bit.Core.Test.Models.Tables

View File

@ -1,6 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Bit.Core.Models.Data;
using Bit.Core.Models.Table;
using Bit.Core.Repositories.EntityFramework.Queries;
using Bit.Core.Test.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.CipherFixtures;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
@ -8,15 +11,12 @@ using Microsoft.EntityFrameworkCore;
using Xunit;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using Bit.Core.Repositories.EntityFramework.Queries;
using Bit.Core.Models.Data;
using System;
namespace Bit.Core.Test.Repositories.EntityFramework
{
public class CipherRepositoryTests
{
[Theory (Skip = "Run ad-hoc"), EfUserCipherAutoData]
[Theory(Skip = "Run ad-hoc"), EfUserCipherAutoData]
public async void RefreshDb(List<EfRepo.CipherRepository> suts)
{
foreach (var sut in suts)
@ -28,7 +28,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
[CiSkippedTheory, EfUserCipherAutoData, EfOrganizationCipherAutoData]
public async void CreateAsync_Works_DataMatches(Cipher cipher, User user, Organization org,
CipherCompare equalityComparer, List<EfRepo.CipherRepository> suts, List<EfRepo.UserRepository> efUserRepos,
List<EfRepo.OrganizationRepository> efOrgRepos, SqlRepo.CipherRepository sqlCipherRepo,
List<EfRepo.OrganizationRepository> efOrgRepos, SqlRepo.CipherRepository sqlCipherRepo,
SqlRepo.UserRepository sqlUserRepo, SqlRepo.OrganizationRepository sqlOrgRepo)
{
var savedCiphers = new List<Cipher>();
@ -56,7 +56,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
var sqlUser = await sqlUserRepo.CreateAsync(user);
cipher.UserId = sqlUser.Id;
if (cipher.OrganizationId.HasValue)
{
var sqlOrg = await sqlOrgRepo.CreateAsync(org);
@ -69,7 +69,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
var distinctItems = savedCiphers.Distinct(equalityComparer);
Assert.True(!distinctItems.Skip(1).Any());
}
}
[CiSkippedTheory, EfUserCipherAutoData]
public async void CreateAsync_BumpsUserAccountRevisionDate(Cipher cipher, User user,
@ -93,8 +93,8 @@ namespace Bit.Core.Test.Repositories.EntityFramework
bumpedUsers.Add(bumpedUser);
}
Assert.True(bumpedUsers.All(u => u.AccountRevisionDate.ToShortDateString() == DateTime.UtcNow.ToShortDateString() ));
}
Assert.True(bumpedUsers.All(u => u.AccountRevisionDate.ToShortDateString() == DateTime.UtcNow.ToShortDateString()));
}
[CiSkippedTheory, EfOrganizationCipherAutoData]
public async void CreateAsync_BumpsOrgUserAccountRevisionDates(Cipher cipher, List<User> users,
@ -118,7 +118,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
var efCollection = await efCollectionRepos[i].CreateAsync(collection);
efCollectionRepos[i].ClearChangeTracking();
IEnumerable<object>[] lists = {efUsers, orgUsers};
IEnumerable<object>[] lists = { efUsers, orgUsers };
var maxOrgUsers = lists.Min(l => l.Count());
orgUsers = orgUsers.Take(maxOrgUsers).ToList();
@ -140,7 +140,8 @@ namespace Bit.Core.Test.Repositories.EntityFramework
foreach (var ou in orgUsers)
{
var collectionUser = new CollectionUser() {
var collectionUser = new CollectionUser()
{
CollectionId = efCollection.Id,
OrganizationUserId = ou.Id
};
@ -153,10 +154,10 @@ namespace Bit.Core.Test.Repositories.EntityFramework
var query = new UserBumpAccountRevisionDateByCipherIdQuery(cipher);
var modifiedUsers = await sut.Run(query).ToListAsync();
Assert.True(modifiedUsers
.All(u => u.AccountRevisionDate.ToShortDateString() ==
.All(u => u.AccountRevisionDate.ToShortDateString() ==
DateTime.UtcNow.ToShortDateString()));
}
}
}
[CiSkippedTheory, EfUserCipherAutoData, EfOrganizationCipherAutoData]
public async void DeleteAsync_CipherIsDeleted(
@ -171,7 +172,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
foreach (var sut in suts)
{
var i = suts.IndexOf(sut);
var postEfOrg = await efOrgRepos[i].CreateAsync(org);
efOrgRepos[i].ClearChangeTracking();
var postEfUser = await efUserRepos[i].CreateAsync(user);

View File

@ -1,15 +1,15 @@
using System.Collections.Generic;
using System.Linq;
using Bit.Core.Models.Table;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture;
using Bit.Core.Test.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.CollectionFixtures;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Microsoft.EntityFrameworkCore;
using Xunit;
using Bit.Core.Models.Table;
using System.Collections.Generic;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Bit.Core.Test.AutoFixture.CollectionFixtures;
using System.Linq;
using SqlRepo = Bit.Core.Repositories.SqlServer;
namespace Bit.Core.Test.Repositories.EntityFramework
{
@ -50,6 +50,6 @@ namespace Bit.Core.Test.Repositories.EntityFramework
var distinctItems = savedCollections.Distinct(equalityComparer);
Assert.True(!distinctItems.Skip(1).Any());
}
}
}
}

View File

@ -1,12 +1,12 @@
using Bit.Core.Test.AutoFixture.Attributes;
using Xunit;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using System.Collections.Generic;
using Bit.Core.Models.Table;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using System.Collections.Generic;
using System.Linq;
using Bit.Core.Models.Table;
using Bit.Core.Test.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.DeviceFixtures;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Xunit;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
namespace Bit.Core.Test.Repositories.EntityFramework
{
@ -44,6 +44,6 @@ namespace Bit.Core.Test.Repositories.EntityFramework
var distinctItems = savedDevices.Distinct(equalityComparer);
Assert.True(!distinctItems.Skip(1).Any());
}
}
}

View File

@ -1,17 +1,17 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq;
using AutoFixture;
using AutoFixture.DataAnnotations;
using AutoFixture.Kernel;
using Bit.Core.Models.Table;
using Bit.Core.Test.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.EmergencyAccessFixtures;
using Bit.Core.Test.AutoFixture.Relays;
using Bit.Core.Test.AutoFixture.TransactionFixtures;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Xunit;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using System.Linq;
using AutoFixture;
using Bit.Core.Test.AutoFixture.TransactionFixtures;
using AutoFixture.DataAnnotations;
using AutoFixture.Kernel;
using Bit.Core.Test.AutoFixture.Relays;
using SqlRepo = Bit.Core.Repositories.SqlServer;
namespace Bit.Core.Test.Repositories.EntityFramework
{

View File

@ -1,14 +1,14 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class CipherCompare: IEqualityComparer<Cipher>
public class CipherCompare : IEqualityComparer<Cipher>
{
public bool Equals(Cipher x, Cipher y)
{
return x.Type == y.Type &&
return x.Type == y.Type &&
x.Data == y.Data &&
x.Favorites == y.Favorites &&
x.Attachments == y.Attachments;

View File

@ -1,14 +1,14 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class CollectionCompare: IEqualityComparer<Collection>
public class CollectionCompare : IEqualityComparer<Collection>
{
public bool Equals(Collection x, Collection y)
{
return x.Name == y.Name &&
return x.Name == y.Name &&
x.ExternalId == y.ExternalId;
}

View File

@ -1,14 +1,14 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class DeviceCompare: IEqualityComparer<Device>
public class DeviceCompare : IEqualityComparer<Device>
{
public bool Equals(Device x, Device y)
{
return x.Name == y.Name &&
return x.Name == y.Name &&
x.Type == y.Type &&
x.Identifier == y.Identifier &&
x.PushToken == y.PushToken;

View File

@ -1,14 +1,14 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class EmergencyAccessCompare: IEqualityComparer<EmergencyAccess>
public class EmergencyAccessCompare : IEqualityComparer<EmergencyAccess>
{
public bool Equals(EmergencyAccess x, EmergencyAccess y)
{
return x.Email == y.Email &&
return x.Email == y.Email &&
x.KeyEncrypted == y.KeyEncrypted &&
x.Type == y.Type &&
x.Status == y.Status &&

View File

@ -1,14 +1,14 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class EventCompare: IEqualityComparer<Event>
public class EventCompare : IEqualityComparer<Event>
{
public bool Equals(Event x, Event y)
{
return x.Date.ToShortDateString() == y.Date.ToShortDateString() &&
return x.Date.ToShortDateString() == y.Date.ToShortDateString() &&
x.Type == y.Type &&
x.IpAddress == y.IpAddress;
}

View File

@ -1,14 +1,14 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class FolderCompare: IEqualityComparer<Folder>
public class FolderCompare : IEqualityComparer<Folder>
{
public bool Equals(Folder x, Folder y)
{
return x.Name == y.Name;
return x.Name == y.Name;
}
public int GetHashCode([DisallowNull] Folder obj)

View File

@ -1,14 +1,14 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class GrantCompare: IEqualityComparer<Grant>
public class GrantCompare : IEqualityComparer<Grant>
{
public bool Equals(Grant x, Grant y)
{
return x.Key == y.Key &&
return x.Key == y.Key &&
x.Type == y.Type &&
x.SubjectId == y.SubjectId &&
x.ClientId == y.ClientId &&

View File

@ -1,14 +1,14 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class GroupCompare: IEqualityComparer<Group>
public class GroupCompare : IEqualityComparer<Group>
{
public bool Equals(Group x, Group y)
{
return x.Name == y.Name &&
return x.Name == y.Name &&
x.AccessAll == y.AccessAll &&
x.ExternalId == y.ExternalId;
}

View File

@ -1,14 +1,14 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class InstallationCompare: IEqualityComparer<Installation>
public class InstallationCompare : IEqualityComparer<Installation>
{
public bool Equals(Installation x, Installation y)
{
return x.Email == y.Email &&
return x.Email == y.Email &&
x.Key == y.Key &&
x.Enabled == y.Enabled;
}

View File

@ -1,10 +1,10 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class OrganizationCompare: IEqualityComparer<Organization>
public class OrganizationCompare : IEqualityComparer<Organization>
{
public bool Equals(Organization x, Organization y)
{

View File

@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;

View File

@ -1,14 +1,14 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class OrganizationUserCompare: IEqualityComparer<OrganizationUser>
public class OrganizationUserCompare : IEqualityComparer<OrganizationUser>
{
public bool Equals(OrganizationUser x, OrganizationUser y)
{
return x.Email == y.Email &&
return x.Email == y.Email &&
x.Status == y.Status &&
x.Type == y.Type &&
x.AccessAll == y.AccessAll &&

View File

@ -1,14 +1,14 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class PolicyCompare: IEqualityComparer<Policy>
public class PolicyCompare : IEqualityComparer<Policy>
{
public bool Equals(Policy x, Policy y)
{
return x.Type == y.Type &&
return x.Type == y.Type &&
x.Data == y.Data &&
x.Enabled == y.Enabled;
}
@ -19,7 +19,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
}
}
public class PolicyCompareIncludingOrganization: PolicyCompare
public class PolicyCompareIncludingOrganization : PolicyCompare
{
public new bool Equals(Policy x, Policy y)
{

View File

@ -1,14 +1,14 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class SendCompare: IEqualityComparer<Send>
public class SendCompare : IEqualityComparer<Send>
{
public bool Equals(Send x, Send y)
{
return x.Type == y.Type &&
return x.Type == y.Type &&
x.Data == y.Data &&
x.Key == y.Key &&
x.Password == y.Password &&

View File

@ -1,10 +1,10 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class SsoConfigCompare: IEqualityComparer<SsoConfig>
public class SsoConfigCompare : IEqualityComparer<SsoConfig>
{
public bool Equals(SsoConfig x, SsoConfig y)
{

View File

@ -1,10 +1,10 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class SsoUserCompare: IEqualityComparer<SsoUser>
public class SsoUserCompare : IEqualityComparer<SsoUser>
{
public bool Equals(SsoUser x, SsoUser y)
{

View File

@ -1,14 +1,14 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class TaxRateCompare: IEqualityComparer<TaxRate>
public class TaxRateCompare : IEqualityComparer<TaxRate>
{
public bool Equals(TaxRate x, TaxRate y)
{
return x.Country == y.Country &&
return x.Country == y.Country &&
x.State == y.State &&
x.PostalCode == y.PostalCode &&
x.Rate == y.Rate &&

View File

@ -1,14 +1,14 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class TransactionCompare: IEqualityComparer<Transaction>
public class TransactionCompare : IEqualityComparer<Transaction>
{
public bool Equals(Transaction x, Transaction y)
{
return x.Type == y.Type &&
return x.Type == y.Type &&
x.Amount == y.Amount &&
x.Refunded == y.Refunded &&
x.Details == y.Details &&

View File

@ -1,14 +1,14 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class U2fCompare: IEqualityComparer<U2f>
public class U2fCompare : IEqualityComparer<U2f>
{
public bool Equals(U2f x, U2f y)
{
return x.KeyHandle == y.KeyHandle &&
return x.KeyHandle == y.KeyHandle &&
x.Challenge == y.Challenge &&
x.AppId == y.AppId &&
x.Version == y.Version;

View File

@ -1,14 +1,14 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class UserCompare: IEqualityComparer<User>
public class UserCompare : IEqualityComparer<User>
{
public bool Equals(User x, User y)
{
return x.Name == y.Name &&
return x.Name == y.Name &&
x.Email == y.Email &&
x.EmailVerified == y.EmailVerified &&
x.MasterPassword == y.MasterPassword &&

View File

@ -1,14 +1,14 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.Models.Data;
namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers
{
public class UserKdfInformationCompare: IEqualityComparer<UserKdfInformation>
public class UserKdfInformationCompare : IEqualityComparer<UserKdfInformation>
{
public bool Equals(UserKdfInformation x, UserKdfInformation y)
{
return x.Kdf == y.Kdf &&
return x.Kdf == y.Kdf &&
x.KdfIterations == y.KdfIterations;
}

View File

@ -1,5 +1,6 @@
using System.Collections.Generic;
using Bit.Core.Models.Table;
using System.Collections.Generic;
using System.Linq;
using Bit.Core.Models.Table;
using Bit.Core.Test.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.FolderFixtures;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
@ -7,7 +8,6 @@ using Microsoft.EntityFrameworkCore;
using Xunit;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using System.Linq;
namespace Bit.Core.Test.Repositories.EntityFramework
{

View File

@ -1,12 +1,12 @@
using System.Collections.Generic;
using Bit.Core.Models.Table;
using System.Collections.Generic;
using System.Linq;
using Bit.Core.Models.Table;
using Bit.Core.Test.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.InstallationFixtures;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Xunit;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using System.Linq;
namespace Bit.Core.Test.Repositories.EntityFramework
{
@ -36,6 +36,6 @@ namespace Bit.Core.Test.Repositories.EntityFramework
var distinctItems = savedInstallations.Distinct(equalityComparer);
Assert.True(!distinctItems.Skip(1).Any());
}
}
}
}

View File

@ -1,15 +1,15 @@
using System.Collections.Generic;
using System.Linq;
using Bit.Core.Models.Data;
using Bit.Core.Test.AutoFixture;
using Bit.Core.Test.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using Bit.Core.Test.Helpers.Factories;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Xunit;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using System.Collections.Generic;
using System.Linq;
using TableModel = Bit.Core.Models.Table;
using Bit.Core.Models.Data;
using Xunit;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using Bit.Core.Test.AutoFixture.Attributes;
namespace Bit.Core.Test.Repositories.EntityFramework
{
@ -68,7 +68,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
[CiSkippedTheory, EfOrganizationAutoData]
public async void DeleteAsync_Works_DataMatches(TableModel.Organization organization,
SqlRepo.OrganizationRepository sqlOrganizationRepo, OrganizationCompare equalityComparer,
SqlRepo.OrganizationRepository sqlOrganizationRepo, OrganizationCompare equalityComparer,
List<EfRepo.OrganizationRepository> suts)
{
foreach (var sut in suts)
@ -98,7 +98,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
[CiSkippedTheory, EfOrganizationAutoData]
public async void GetByIdentifierAsync_Works_DataMatches(TableModel.Organization organization,
SqlRepo.OrganizationRepository sqlOrganizationRepo, OrganizationCompare equalityComparer,
SqlRepo.OrganizationRepository sqlOrganizationRepo, OrganizationCompare equalityComparer,
List<EfRepo.OrganizationRepository> suts)
{
var returnedOrgs = new List<TableModel.Organization>();
@ -120,7 +120,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
[CiSkippedTheory, EfOrganizationAutoData]
public async void GetManyByEnabledAsync_Works_DataMatches(TableModel.Organization organization,
SqlRepo.OrganizationRepository sqlOrganizationRepo, OrganizationCompare equalityCompare,
SqlRepo.OrganizationRepository sqlOrganizationRepo, OrganizationCompare equalityCompare,
List<EfRepo.OrganizationRepository> suts)
{
var returnedOrgs = new List<TableModel.Organization>();
@ -142,7 +142,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
// testing data matches here would require manipulating all organization abilities in the db
[CiSkippedTheory, EfOrganizationAutoData]
public async void GetManyAbilitiesAsync_Works(TableModel.Organization organization,
SqlRepo.OrganizationRepository sqlOrganizationRepo, OrganizationCompare equalityComparer,
SqlRepo.OrganizationRepository sqlOrganizationRepo, OrganizationCompare equalityComparer,
List<EfRepo.OrganizationRepository> suts)
{
var list = new List<OrganizationAbility>();

View File

@ -1,12 +1,12 @@
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq;
using TableModel = Bit.Core.Models.Table;
using Xunit;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Bit.Core.Test.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.OrganizationSponsorshipFixtures;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Xunit;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework
{

View File

@ -1,14 +1,14 @@
using Bit.Core.Test.AutoFixture.OrganizationUserFixtures;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using System;
using System.Collections.Generic;
using System.Linq;
using TableModel = Bit.Core.Models.Table;
using Xunit;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Bit.Core.Models.Data;
using System;
using Bit.Core.Test.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.OrganizationUserFixtures;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Xunit;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework
{
@ -125,10 +125,10 @@ namespace Bit.Core.Test.Repositories.EntityFramework
var savedEfOrgUser = await sut.GetByIdAsync(postEfOrgUser.Id);
Assert.True(savedEfOrgUser != null);
sut.ClearChangeTracking();
sut.ClearChangeTracking();
await sut.DeleteAsync(savedEfOrgUser);
sut.ClearChangeTracking();
sut.ClearChangeTracking();
savedEfOrgUser = await sut.GetByIdAsync(savedEfOrgUser.Id);
Assert.True(savedEfOrgUser == null);

View File

@ -1,21 +1,21 @@
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using System.Threading.Tasks;
using Bit.Core.Enums;
using Bit.Core.Models.Data;
using Bit.Core.Repositories;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture;
using Bit.Core.Test.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.PolicyFixtures;
using Bit.Core.Test.AutoFixture.OrganizationUserFixtures;
using Bit.Core.Test.AutoFixture.PolicyFixtures;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Microsoft.EntityFrameworkCore;
using Xunit;
using TableModel = Bit.Core.Models.Table;
using System.Linq;
using System.Collections.Generic;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Bit.Core.Models.Data;
using System.Text.Json;
using Bit.Core.Enums;
using Bit.Core.Repositories;
using System.Threading.Tasks;
using TableModel = Bit.Core.Models.Table;
namespace Bit.Core.Test.Repositories.EntityFramework
{
@ -193,7 +193,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
// Assert
var distinctItems = results.Distinct(equalityComparer);
Assert.True(results.All(r => r == null) ||
!distinctItems.Skip(1).Any());
}

View File

@ -1,34 +1,34 @@
using System.Collections.Generic;
using Bit.Core.Models.Table;
using System.Collections.Generic;
using System.Linq;
using Bit.Core.Models.Table;
using Bit.Core.Test.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.SendFixtures;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Xunit;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using System.Linq;
using SqlRepo = Bit.Core.Repositories.SqlServer;
namespace Bit.Core.Test.Repositories.EntityFramework
{
public class SendRepositoryTests
{
[CiSkippedTheory, EfUserSendAutoData, EfOrganizationSendAutoData]
public async void CreateAsync_Works_DataMatches(
Send send,
User user,
Organization org,
SendCompare equalityComparer,
List<EfRepo.SendRepository> suts,
List<EfRepo.UserRepository> efUserRepos,
List<EfRepo.OrganizationRepository> efOrgRepos,
SqlRepo.SendRepository sqlSendRepo,
SqlRepo.UserRepository sqlUserRepo,
SqlRepo.OrganizationRepository sqlOrgRepo
)
{
var savedSends = new List<Send>();
foreach (var sut in suts)
{
[CiSkippedTheory, EfUserSendAutoData, EfOrganizationSendAutoData]
public async void CreateAsync_Works_DataMatches(
Send send,
User user,
Organization org,
SendCompare equalityComparer,
List<EfRepo.SendRepository> suts,
List<EfRepo.UserRepository> efUserRepos,
List<EfRepo.OrganizationRepository> efOrgRepos,
SqlRepo.SendRepository sqlSendRepo,
SqlRepo.UserRepository sqlUserRepo,
SqlRepo.OrganizationRepository sqlOrgRepo
)
{
var savedSends = new List<Send>();
foreach (var sut in suts)
{
var i = suts.IndexOf(sut);
if (send.OrganizationId.HasValue)
@ -46,7 +46,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
var savedSend = await sut.GetByIdAsync(postEfSend.Id);
savedSends.Add(savedSend);
}
}
var sqlUser = await sqlUserRepo.CreateAsync(user);
if (send.OrganizationId.HasValue)
@ -62,6 +62,6 @@ namespace Bit.Core.Test.Repositories.EntityFramework
var distinctItems = savedSends.Distinct(equalityComparer);
Assert.True(!distinctItems.Skip(1).Any());
}
}
}
}

View File

@ -1,15 +1,15 @@
using Bit.Core.Test.AutoFixture;
using Bit.Core.Test.Helpers.Factories;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using System;
using System.Collections.Generic;
using System.Linq;
using Bit.Core.Models.Table;
using Xunit;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Bit.Core.Test.AutoFixture.SsoConfigFixtures;
using System;
using Bit.Core.Test.AutoFixture;
using Bit.Core.Test.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.SsoConfigFixtures;
using Bit.Core.Test.Helpers.Factories;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Xunit;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
namespace Bit.Core.Test.Repositories.EntityFramework
{
@ -52,7 +52,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
}
[CiSkippedTheory, EfSsoConfigAutoData]
public async void ReplaceAsync_Works_DataMatches(SsoConfig postSsoConfig, SsoConfig replaceSsoConfig,
public async void ReplaceAsync_Works_DataMatches(SsoConfig postSsoConfig, SsoConfig replaceSsoConfig,
Organization org, SsoConfigCompare equalityComparer, List<EfRepo.SsoConfigRepository> suts,
List<EfRepo.OrganizationRepository> efOrgRepos, SqlRepo.SsoConfigRepository sqlSsoConfigRepo,
SqlRepo.OrganizationRepository sqlOrganizationRepo)
@ -118,7 +118,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
sut.ClearChangeTracking();
await sut.DeleteAsync(savedEfSsoConfig);
var deletedEfSsoConfig= await sut.GetByIdAsync(savedEfSsoConfig.Id);
var deletedEfSsoConfig = await sut.GetByIdAsync(savedEfSsoConfig.Id);
Assert.True(deletedEfSsoConfig == null);
}

View File

@ -1,14 +1,14 @@
using Bit.Core.Test.AutoFixture;
using Bit.Core.Test.Helpers.Factories;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq;
using Bit.Core.Models.Table;
using Xunit;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Bit.Core.Test.AutoFixture.SsoUserFixtures;
using Bit.Core.Test.AutoFixture;
using Bit.Core.Test.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.SsoUserFixtures;
using Bit.Core.Test.Helpers.Factories;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Xunit;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
namespace Bit.Core.Test.Repositories.EntityFramework
{
@ -53,7 +53,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
}
[CiSkippedTheory, EfSsoUserAutoData]
public async void ReplaceAsync_Works_DataMatches(SsoUser postSsoUser, SsoUser replaceSsoUser,
public async void ReplaceAsync_Works_DataMatches(SsoUser postSsoUser, SsoUser replaceSsoUser,
Organization org, User user, SsoUserCompare equalityComparer,
List<EfRepo.SsoUserRepository> suts, List<EfRepo.UserRepository> efUserRepos,
List<EfRepo.OrganizationRepository> efOrgRepos, SqlRepo.SsoUserRepository sqlSsoUserRepo,

View File

@ -1,12 +1,12 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq;
using Bit.Core.Models.Table;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using Bit.Core.Models.Table;
using Bit.Core.Test.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.TaxRateFixtures;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Xunit;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
namespace Bit.Core.Test.Repositories.EntityFramework
{
@ -37,6 +37,6 @@ namespace Bit.Core.Test.Repositories.EntityFramework
var distinctItems = savedTaxRates.Distinct(equalityComparer);
Assert.True(!distinctItems.Skip(1).Any());
}
}
}
}

View File

@ -1,5 +1,6 @@
using System.Collections.Generic;
using Bit.Core.Models.Table;
using System.Collections.Generic;
using System.Linq;
using Bit.Core.Models.Table;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture;
using Bit.Core.Test.AutoFixture.Attributes;
@ -7,15 +8,14 @@ using Bit.Core.Test.AutoFixture.TransactionFixtures;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Microsoft.EntityFrameworkCore;
using Xunit;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using System.Linq;
using SqlRepo = Bit.Core.Repositories.SqlServer;
namespace Bit.Core.Test.Repositories.EntityFramework
{
public class TransactionRepositoryTests
{
[CiSkippedTheory, EfUserTransactionAutoData, EfOrganizationTransactionAutoData]
public async void CreateAsync_Works_DataMatches(
Transaction transaction,

View File

@ -1,6 +1,6 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq;
using Bit.Core.Models.Table;
using Bit.Core.Models.Table;
using Bit.Core.Repositories.EntityFramework;
using Bit.Core.Test.AutoFixture;
using Bit.Core.Test.AutoFixture.Attributes;
@ -15,7 +15,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
{
public class U2fRepositoryTests
{
[CiSkippedTheory, EfU2fAutoData]
public async void CreateAsync_Works_DataMatches(
U2f u2f,

View File

@ -1,14 +1,14 @@
using Bit.Core.Test.AutoFixture.UserFixtures;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
using System;
using System.Collections.Generic;
using System.Linq;
using Bit.Core.Models.Table;
using Xunit;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Bit.Core.Models.Data;
using System;
using Bit.Core.Models.Table;
using Bit.Core.Test.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.UserFixtures;
using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers;
using Xunit;
using EfRepo = Bit.Core.Repositories.EntityFramework;
using SqlRepo = Bit.Core.Repositories.SqlServer;
namespace Bit.Core.Test.Repositories.EntityFramework
{
@ -71,14 +71,14 @@ namespace Bit.Core.Test.Repositories.EntityFramework
foreach (var sut in suts)
{
var postEfUser = await sut.CreateAsync(user);
sut.ClearChangeTracking();
sut.ClearChangeTracking();
var savedEfUser = await sut.GetByIdAsync(postEfUser.Id);
Assert.True(savedEfUser != null);
sut.ClearChangeTracking();
sut.ClearChangeTracking();
await sut.DeleteAsync(savedEfUser);
sut.ClearChangeTracking();
sut.ClearChangeTracking();
savedEfUser = await sut.GetByIdAsync(savedEfUser.Id);
Assert.True(savedEfUser == null);
@ -122,7 +122,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
foreach (var sut in suts)
{
var postEfUser = await sut.CreateAsync(user);
sut.ClearChangeTracking();
sut.ClearChangeTracking();
var kdfInformation = await sut.GetKdfInformationByEmailAsync(postEfUser.Email.ToUpperInvariant());
savedKdfInformation.Add(kdfInformation);
}
@ -136,15 +136,15 @@ namespace Bit.Core.Test.Repositories.EntityFramework
}
[CiSkippedTheory, EfUserAutoData]
public async void SearchAsync_Works_DataMatches(User user, int skip, int take,
UserCompare equalityCompare, List<EfRepo.UserRepository> suts,
public async void SearchAsync_Works_DataMatches(User user, int skip, int take,
UserCompare equalityCompare, List<EfRepo.UserRepository> suts,
SqlRepo.UserRepository sqlUserRepo)
{
var searchedEfUsers = new List<User>();
foreach (var sut in suts)
{
var postEfUser = await sut.CreateAsync(user);
sut.ClearChangeTracking();
sut.ClearChangeTracking();
var searchedEfUsersCollection = await sut.SearchAsync(postEfUser.Email.ToUpperInvariant(), skip, take);
searchedEfUsers.Concat(searchedEfUsersCollection.ToList());
@ -165,7 +165,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
foreach (var sut in suts)
{
var postEfUser = await sut.CreateAsync(user);
sut.ClearChangeTracking();
sut.ClearChangeTracking();
var searchedEfUsers = await sut.GetManyByPremiumAsync(user.Premium);
returnedUsers.Concat(searchedEfUsers.ToList());
@ -186,7 +186,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
foreach (var sut in suts)
{
var postEfUser = await sut.CreateAsync(user);
sut.ClearChangeTracking();
sut.ClearChangeTracking();
var efKey = await sut.GetPublicKeyAsync(postEfUser.Id);
returnedKeys.Add(efKey);
@ -207,7 +207,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
foreach (var sut in suts)
{
var postEfUser = await sut.CreateAsync(user);
sut.ClearChangeTracking();
sut.ClearChangeTracking();
var efKey = await sut.GetPublicKeyAsync(postEfUser.Id);
returnedKeys.Add(efKey);
@ -230,10 +230,10 @@ namespace Bit.Core.Test.Repositories.EntityFramework
{
var postEfUser = user;
postEfUser = await sut.CreateAsync(user);
sut.ClearChangeTracking();
sut.ClearChangeTracking();
await sut.UpdateRenewalReminderDateAsync(postEfUser.Id, updatedReminderDate);
sut.ClearChangeTracking();
sut.ClearChangeTracking();
var replacedUser = await sut.GetByIdAsync(postEfUser.Id);
savedDates.Add(replacedUser.RenewalReminderDate);
@ -250,7 +250,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
}
[CiSkippedTheory, EfUserAutoData]
public async void GetBySsoUserAsync_Works_DataMatches(User user, Organization org,
public async void GetBySsoUserAsync_Works_DataMatches(User user, Organization org,
SsoUser ssoUser, UserCompare equalityComparer, List<EfRepo.UserRepository> suts,
List<EfRepo.SsoUserRepository> ssoUserRepos, List<EfRepo.OrganizationRepository> orgRepos,
SqlRepo.UserRepository sqlUserRepo, SqlRepo.SsoUserRepository sqlSsoUserRepo,
@ -282,7 +282,7 @@ namespace Bit.Core.Test.Repositories.EntityFramework
ssoUser.UserId = sqlUser.Id;
ssoUser.OrganizationId = sqlOrganization.Id;
var postSqlSsoUser = await sqlSsoUserRepo.CreateAsync(ssoUser);
var returnedSqlUser = await sqlUserRepo
.GetBySsoUserAsync(postSqlSsoUser.ExternalId, sqlOrganization.Id);
returnedList.Add(returnedSqlUser);

View File

@ -1,4 +1,4 @@
using System;
using System;
using System.Threading.Tasks;
using Amazon.SQS;
using Bit.Core.Services;

View File

@ -1,4 +1,4 @@
using System;
using System;
using Bit.Core.Services;
using Bit.Core.Settings;
using NSubstitute;

View File

@ -1,4 +1,4 @@
using System;
using System;
using Bit.Core.Services;
using Bit.Core.Settings;
using NSubstitute;

View File

@ -1,4 +1,4 @@
using System;
using System;
using Bit.Core.Services;
using Bit.Core.Settings;
using Microsoft.AspNetCore.Http;

View File

@ -1,17 +1,17 @@
using System;
using System.Threading.Tasks;
using Bit.Core.Repositories;
using Bit.Core.Services;
using NSubstitute;
using Xunit;
using Bit.Core.Exceptions;
using Bit.Core.Models.Table;
using Core.Models.Data;
using Bit.Core.Test.AutoFixture.CipherFixtures;
using System;
using System.Collections.Generic;
using System.Linq;
using Castle.Core.Internal;
using System.Threading.Tasks;
using Bit.Core.Exceptions;
using Bit.Core.Models.Table;
using Bit.Core.Repositories;
using Bit.Core.Services;
using Bit.Core.Test.AutoFixture.CipherFixtures;
using Bit.Test.Common.AutoFixture;
using Castle.Core.Internal;
using Core.Models.Data;
using NSubstitute;
using Xunit;
namespace Bit.Core.Test.Services
{

View File

@ -1,14 +1,14 @@
using Bit.Core.Exceptions;
using System;
using System.Threading.Tasks;
using Bit.Core.Exceptions;
using Bit.Core.Models.Table;
using Bit.Core.Repositories;
using Bit.Core.Services;
using Bit.Core.Test.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture;
using Bit.Core.Test.AutoFixture.Attributes;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using NSubstitute;
using System.Threading.Tasks;
using System;
using Xunit;
namespace Bit.Core.Test.Services
@ -63,7 +63,7 @@ namespace Bit.Core.Test.Services
};
sutProvider.GetDependency<IUserService>().GetUserByIdAsync(savingUser.Id).Returns(savingUser);
var exception = await Assert.ThrowsAsync<BadRequestException>(
() => sutProvider.Sut.SaveAsync(emergencyAccess, savingUser.Id));

View File

@ -1,4 +1,4 @@
using System;
using System;
using Bit.Core.Context;
using Bit.Core.Repositories;
using Bit.Core.Services;

View File

@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Bit.Core.Enums;

View File

@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
@ -44,7 +44,7 @@ namespace Bit.Core.Test.Services
{
// TODO: Swith to use env variable
{ ("email", typeof(string)), "test@bitwarden.com" },
{ ("user", typeof(User)), new User
{ ("user", typeof(User)), new User
{
Id = Guid.NewGuid(),
Email = "test@bitwarden.com",
@ -151,8 +151,8 @@ namespace Bit.Core.Test.Services
{
var parameters = method.GetParameters();
var args = new object[parameters.Length];
for(var i = 0; i < parameters.Length; i++)
for (var i = 0; i < parameters.Length; i++)
{
if (!namedParameters.TryGetValue((parameters[i].Name, parameters[i].ParameterType), out var value))
{

View File

@ -1,4 +1,4 @@
using System;
using System;
using Bit.Core.Repositories;
using Bit.Core.Services;
using NSubstitute;

View File

@ -1,4 +1,4 @@
using System;
using System;
using Bit.Core.Repositories;
using Bit.Core.Services;
using Bit.Core.Settings;

View File

@ -1,18 +1,18 @@
using System;
using System;
using System.IO;
using System.Threading.Tasks;
using AutoFixture;
using Bit.Core.Models.Data;
using Bit.Core.Models.Table;
using Bit.Core.Services;
using Bit.Core.Settings;
using NSubstitute;
using Xunit;
using System.IO;
using Bit.Core.Test.AutoFixture.CipherFixtures;
using Bit.Core.Models.Data;
using System.Threading.Tasks;
using Bit.Core.Models.Table;
using U2F.Core.Utils;
using Bit.Core.Test.AutoFixture.CipherAttachmentMetaData;
using AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.CipherFixtures;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using NSubstitute;
using U2F.Core.Utils;
using Xunit;
namespace Bit.Core.Test.Services
{

View File

@ -1,4 +1,4 @@
using System;
using System;
using Bit.Core.Services;
using Bit.Core.Settings;
using Microsoft.Extensions.Logging;

View File

@ -1,4 +1,4 @@
using System;
using System;
using Bit.Core.Repositories;
using Bit.Core.Services;
using Bit.Core.Settings;

View File

@ -1,4 +1,4 @@
using System;
using System;
using Bit.Core.Repositories;
using Bit.Core.Services;
using Bit.Core.Settings;

View File

@ -1,4 +1,4 @@
using System;
using System;
using Bit.Core.Repositories;
using Bit.Core.Services;
using Bit.Core.Settings;

View File

@ -1,4 +1,4 @@
using System;
using System;
using Bit.Core.Services;
using Bit.Core.Settings;
using Microsoft.AspNetCore.Http;

View File

@ -1,27 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using System.Threading.Tasks;
using Bit.Core.Context;
using Bit.Core.Enums;
using Bit.Core.Exceptions;
using Bit.Core.Models.Business;
using Bit.Core.Models.Data;
using Bit.Core.Models.Table;
using Bit.Core.Models.Business;
using Bit.Core.Repositories;
using Bit.Core.Services;
using Bit.Core.Settings;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using Bit.Core.Test.AutoFixture.OrganizationUserFixtures;
using Bit.Core.Test.AutoFixture.PolicyFixtures;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using NSubstitute;
using Xunit;
using Bit.Core.Exceptions;
using Bit.Core.Enums;
using Bit.Core.Test.AutoFixture.OrganizationFixtures;
using System.Text.Json;
using Bit.Core.Context;
using Bit.Core.Test.AutoFixture.OrganizationUserFixtures;
using Organization = Bit.Core.Models.Table.Organization;
using OrganizationUser = Bit.Core.Models.Table.OrganizationUser;
using Policy = Bit.Core.Models.Table.Policy;
using Bit.Core.Test.AutoFixture.PolicyFixtures;
using Bit.Core.Settings;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
namespace Bit.Core.Test.Services
{
@ -68,7 +68,7 @@ namespace Bit.Core.Test.Services
.BulkSendOrganizationInviteEmailAsync(org.Name,
Arg.Any<bool>(),
Arg.Is<IEnumerable<(OrganizationUser, ExpiringToken)>>(messages => messages.Count() == expectedNewUsersCount));
// Send events
await sutProvider.GetDependency<IEventService>().Received(1)
.LogOrganizationUserEventsAsync(Arg.Is<IEnumerable<(OrganizationUser, EventType, DateTime?)>>(events =>
@ -133,8 +133,8 @@ namespace Bit.Core.Test.Services
.LogOrganizationUserEventsAsync(Arg.Is<IEnumerable<(OrganizationUser, EventType, DateTime?)>>(events =>
events.Where(e => e.Item2 == EventType.OrganizationUser_Invited).Count() == expectedNewUsersCount));
await sutProvider.GetDependency<IReferenceEventService>().Received(1)
.RaiseEventAsync(Arg.Is<ReferenceEvent>(referenceEvent =>
referenceEvent.Type == ReferenceEventType.InvitedUsers && referenceEvent.Id == org.Id &&
.RaiseEventAsync(Arg.Is<ReferenceEvent>(referenceEvent =>
referenceEvent.Type == ReferenceEventType.InvitedUsers && referenceEvent.Id == org.Id &&
referenceEvent.Users == expectedNewUsersCount));
}
@ -199,7 +199,7 @@ namespace Bit.Core.Test.Services
await Assert.ThrowsAsync<NotFoundException>(
() => sutProvider.Sut.InviteUsersAsync(organization.Id, invitor.UserId, new (OrganizationUserInvite, string)[] { (invite, null) }));
}
[Theory]
[OrganizationInviteAutoData(
inviteeUserType: (int)OrganizationUserType.Admin,
@ -322,7 +322,7 @@ namespace Bit.Core.Test.Services
organizationRepository.GetByIdAsync(organization.Id).Returns(organization);
organizationUserRepository.GetManyByOrganizationAsync(organization.Id, OrganizationUserType.Owner)
.Returns(new [] {invitor});
.Returns(new[] { invitor });
currentContext.OrganizationOwner(organization.Id).Returns(true);
currentContext.ManageUsers(organization.Id).Returns(true);
@ -336,7 +336,7 @@ namespace Bit.Core.Test.Services
)]
public async Task InviteUser_Passes(Organization organization, IEnumerable<(OrganizationUserInvite invite, string externalId)> invites,
OrganizationUser invitor,
[OrganizationUser(OrganizationUserStatusType.Confirmed, OrganizationUserType.Owner)]OrganizationUser owner,
[OrganizationUser(OrganizationUserStatusType.Confirmed, OrganizationUserType.Owner)] OrganizationUser owner,
SutProvider<OrganizationService> sutProvider)
{
// Autofixture will add collections for all of the invites, remove the first and for all the rest set all access false
@ -356,7 +356,7 @@ namespace Bit.Core.Test.Services
organizationRepository.GetByIdAsync(organization.Id).Returns(organization);
organizationUserRepository.GetManyByOrganizationAsync(organization.Id, OrganizationUserType.Owner)
.Returns(new [] {owner});
.Returns(new[] { owner });
currentContext.ManageUsers(organization.Id).Returns(true);
await sutProvider.Sut.InviteUsersAsync(organization.Id, invitor.UserId, invites);
@ -392,7 +392,7 @@ namespace Bit.Core.Test.Services
OrganizationUser oldUserData,
OrganizationUser newUserData,
IEnumerable<SelectionReadOnly> collections,
[OrganizationUser(type: OrganizationUserType.Owner)]OrganizationUser savingUser,
[OrganizationUser(type: OrganizationUserType.Owner)] OrganizationUser savingUser,
SutProvider<OrganizationService> sutProvider)
{
var organizationUserRepository = sutProvider.GetDependency<IOrganizationUserRepository>();
@ -408,7 +408,7 @@ namespace Bit.Core.Test.Services
await sutProvider.Sut.SaveUserAsync(newUserData, savingUser.UserId, collections);
}
[Theory, CustomAutoData(typeof(SutProviderCustomization))]
public async Task DeleteUser_InvalidUser(OrganizationUser organizationUser, OrganizationUser deletingUser,
SutProvider<OrganizationService> sutProvider)
@ -421,28 +421,28 @@ namespace Bit.Core.Test.Services
() => sutProvider.Sut.DeleteUserAsync(Guid.NewGuid(), organizationUser.Id, deletingUser.UserId));
Assert.Contains("User not valid.", exception.Message);
}
[Theory, CustomAutoData(typeof(SutProviderCustomization))]
public async Task DeleteUser_RemoveYourself(OrganizationUser deletingUser, SutProvider<OrganizationService> sutProvider)
{
var organizationUserRepository = sutProvider.GetDependency<IOrganizationUserRepository>();
organizationUserRepository.GetByIdAsync(deletingUser.Id).Returns(deletingUser);
var exception = await Assert.ThrowsAsync<BadRequestException>(
() => sutProvider.Sut.DeleteUserAsync(deletingUser.OrganizationId, deletingUser.Id, deletingUser.UserId));
Assert.Contains("You cannot remove yourself.", exception.Message);
}
[Theory, CustomAutoData(typeof(SutProviderCustomization))]
public async Task DeleteUser_NonOwnerRemoveOwner(
[OrganizationUser(type: OrganizationUserType.Owner)]OrganizationUser organizationUser,
[OrganizationUser(type: OrganizationUserType.Admin)]OrganizationUser deletingUser,
[OrganizationUser(type: OrganizationUserType.Owner)] OrganizationUser organizationUser,
[OrganizationUser(type: OrganizationUserType.Admin)] OrganizationUser deletingUser,
SutProvider<OrganizationService> sutProvider)
{
var organizationUserRepository = sutProvider.GetDependency<IOrganizationUserRepository>();
var currentContext = sutProvider.GetDependency<ICurrentContext>();
organizationUser.OrganizationId = deletingUser.OrganizationId;
organizationUserRepository.GetByIdAsync(organizationUser.Id).Returns(organizationUser);
currentContext.OrganizationAdmin(deletingUser.OrganizationId).Returns(true);
@ -454,12 +454,12 @@ namespace Bit.Core.Test.Services
[Theory, CustomAutoData(typeof(SutProviderCustomization))]
public async Task DeleteUser_LastOwner(
[OrganizationUser(type: OrganizationUserType.Owner)]OrganizationUser organizationUser,
[OrganizationUser(type: OrganizationUserType.Owner)] OrganizationUser organizationUser,
OrganizationUser deletingUser,
SutProvider<OrganizationService> sutProvider)
{
var organizationUserRepository = sutProvider.GetDependency<IOrganizationUserRepository>();
organizationUser.OrganizationId = deletingUser.OrganizationId;
organizationUserRepository.GetByIdAsync(organizationUser.Id).Returns(organizationUser);
organizationUserRepository.GetManyByOrganizationAsync(deletingUser.OrganizationId, OrganizationUserType.Owner)
@ -473,22 +473,22 @@ namespace Bit.Core.Test.Services
[Theory, CustomAutoData(typeof(SutProviderCustomization))]
public async Task DeleteUser_Success(
OrganizationUser organizationUser,
[OrganizationUser(OrganizationUserStatusType.Confirmed, OrganizationUserType.Owner)]OrganizationUser deletingUser,
[OrganizationUser(OrganizationUserStatusType.Confirmed, OrganizationUserType.Owner)] OrganizationUser deletingUser,
SutProvider<OrganizationService> sutProvider)
{
var organizationUserRepository = sutProvider.GetDependency<IOrganizationUserRepository>();
var currentContext = sutProvider.GetDependency<ICurrentContext>();
organizationUser.OrganizationId = deletingUser.OrganizationId;
organizationUserRepository.GetByIdAsync(organizationUser.Id).Returns(organizationUser);
organizationUserRepository.GetByIdAsync(deletingUser.Id).Returns(deletingUser);
organizationUserRepository.GetManyByOrganizationAsync(deletingUser.OrganizationId, OrganizationUserType.Owner)
.Returns(new[] {deletingUser, organizationUser});
.Returns(new[] { deletingUser, organizationUser });
currentContext.OrganizationOwner(deletingUser.OrganizationId).Returns(true);
await sutProvider.Sut.DeleteUserAsync(deletingUser.OrganizationId, organizationUser.Id, deletingUser.UserId);
}
[Theory, CustomAutoData(typeof(SutProviderCustomization))]
public async Task DeleteUsers_FilterInvalid(OrganizationUser organizationUser, OrganizationUser deletingUser,
SutProvider<OrganizationService> sutProvider)
@ -502,10 +502,10 @@ namespace Bit.Core.Test.Services
() => sutProvider.Sut.DeleteUsersAsync(deletingUser.OrganizationId, organizationUserIds, deletingUser.UserId));
Assert.Contains("Users invalid.", exception.Message);
}
[Theory, CustomAutoData(typeof(SutProviderCustomization))]
public async Task DeleteUsers_RemoveYourself(
[OrganizationUser(OrganizationUserStatusType.Confirmed, OrganizationUserType.Owner)]OrganizationUser orgUser,
[OrganizationUser(OrganizationUserStatusType.Confirmed, OrganizationUserType.Owner)] OrganizationUser orgUser,
OrganizationUser deletingUser,
SutProvider<OrganizationService> sutProvider)
{
@ -513,34 +513,34 @@ namespace Bit.Core.Test.Services
var organizationUsers = new[] { deletingUser };
var organizationUserIds = organizationUsers.Select(u => u.Id);
organizationUserRepository.GetManyAsync(default).ReturnsForAnyArgs(organizationUsers);
organizationUserRepository.GetManyByOrganizationAsync(default, default).ReturnsForAnyArgs(new[] {orgUser});
organizationUserRepository.GetManyByOrganizationAsync(default, default).ReturnsForAnyArgs(new[] { orgUser });
var result = await sutProvider.Sut.DeleteUsersAsync(deletingUser.OrganizationId, organizationUserIds, deletingUser.UserId);
Assert.Contains("You cannot remove yourself.", result[0].Item2);
}
[Theory, CustomAutoData(typeof(SutProviderCustomization))]
public async Task DeleteUsers_NonOwnerRemoveOwner(
[OrganizationUser(type: OrganizationUserType.Admin)]OrganizationUser deletingUser,
[OrganizationUser(type: OrganizationUserType.Owner)]OrganizationUser orgUser1,
[OrganizationUser(OrganizationUserStatusType.Confirmed)]OrganizationUser orgUser2,
[OrganizationUser(type: OrganizationUserType.Admin)] OrganizationUser deletingUser,
[OrganizationUser(type: OrganizationUserType.Owner)] OrganizationUser orgUser1,
[OrganizationUser(OrganizationUserStatusType.Confirmed)] OrganizationUser orgUser2,
SutProvider<OrganizationService> sutProvider)
{
var organizationUserRepository = sutProvider.GetDependency<IOrganizationUserRepository>();
orgUser1.OrganizationId = orgUser2.OrganizationId = deletingUser.OrganizationId;
var organizationUsers = new[] { orgUser1 };
var organizationUserIds = organizationUsers.Select(u => u.Id);
organizationUserRepository.GetManyAsync(default).ReturnsForAnyArgs(organizationUsers);
organizationUserRepository.GetManyByOrganizationAsync(default, default).ReturnsForAnyArgs(new[] {orgUser2});
organizationUserRepository.GetManyByOrganizationAsync(default, default).ReturnsForAnyArgs(new[] { orgUser2 });
var result = await sutProvider.Sut.DeleteUsersAsync(deletingUser.OrganizationId, organizationUserIds, deletingUser.UserId);
Assert.Contains("Only owners can delete other owners.", result[0].Item2);
}
[Theory, CustomAutoData(typeof(SutProviderCustomization))]
public async Task DeleteUsers_LastOwner(
[OrganizationUser(status: OrganizationUserStatusType.Confirmed, OrganizationUserType.Owner)]OrganizationUser orgUser,
[OrganizationUser(status: OrganizationUserStatusType.Confirmed, OrganizationUserType.Owner)] OrganizationUser orgUser,
SutProvider<OrganizationService> sutProvider)
{
var organizationUserRepository = sutProvider.GetDependency<IOrganizationUserRepository>();
@ -557,8 +557,8 @@ namespace Bit.Core.Test.Services
[Theory, CustomAutoData(typeof(SutProviderCustomization))]
public async Task DeleteUsers_Success(
[OrganizationUser(OrganizationUserStatusType.Confirmed, OrganizationUserType.Owner)]OrganizationUser deletingUser,
[OrganizationUser(type: OrganizationUserType.Owner)]OrganizationUser orgUser1, OrganizationUser orgUser2,
[OrganizationUser(OrganizationUserStatusType.Confirmed, OrganizationUserType.Owner)] OrganizationUser deletingUser,
[OrganizationUser(type: OrganizationUserType.Owner)] OrganizationUser orgUser1, OrganizationUser orgUser2,
SutProvider<OrganizationService> sutProvider)
{
var organizationUserRepository = sutProvider.GetDependency<IOrganizationUserRepository>();
@ -570,15 +570,15 @@ namespace Bit.Core.Test.Services
organizationUserRepository.GetManyAsync(default).ReturnsForAnyArgs(organizationUsers);
organizationUserRepository.GetByIdAsync(deletingUser.Id).Returns(deletingUser);
organizationUserRepository.GetManyByOrganizationAsync(deletingUser.OrganizationId, OrganizationUserType.Owner)
.Returns(new[] {deletingUser, orgUser1});
.Returns(new[] { deletingUser, orgUser1 });
currentContext.OrganizationOwner(deletingUser.OrganizationId).Returns(true);
await sutProvider.Sut.DeleteUsersAsync(deletingUser.OrganizationId, organizationUserIds, deletingUser.UserId);
}
[Theory, CustomAutoData(typeof(SutProviderCustomization))]
public async Task ConfirmUser_InvalidStatus(OrganizationUser confirmingUser,
[OrganizationUser(OrganizationUserStatusType.Invited)]OrganizationUser orgUser, string key,
[OrganizationUser(OrganizationUserStatusType.Invited)] OrganizationUser orgUser, string key,
SutProvider<OrganizationService> sutProvider)
{
var organizationUserRepository = sutProvider.GetDependency<IOrganizationUserRepository>();
@ -593,7 +593,7 @@ namespace Bit.Core.Test.Services
[Theory, CustomAutoData(typeof(SutProviderCustomization))]
public async Task ConfirmUser_WrongOrganization(OrganizationUser confirmingUser,
[OrganizationUser(OrganizationUserStatusType.Accepted)]OrganizationUser orgUser, string key,
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser orgUser, string key,
SutProvider<OrganizationService> sutProvider)
{
var organizationUserRepository = sutProvider.GetDependency<IOrganizationUserRepository>();
@ -622,10 +622,10 @@ namespace Bit.Core.Test.Services
orgUser.OrganizationId = confirmingUser.OrganizationId = org.Id;
orgUser.UserId = user.Id;
orgUser.Type = userType;
organizationUserRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] {orgUser});
organizationUserRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] { orgUser });
organizationUserRepository.GetCountByFreeOrganizationAdminUserAsync(orgUser.UserId.Value).Returns(1);
organizationRepository.GetByIdAsync(org.Id).Returns(org);
userRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] {user});
userRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] { user });
var exception = await Assert.ThrowsAsync<BadRequestException>(
() => sutProvider.Sut.ConfirmUserAsync(orgUser.OrganizationId, orgUser.Id, key, confirmingUser.Id, userService));
@ -683,8 +683,8 @@ namespace Bit.Core.Test.Services
[Theory, CustomAutoData(typeof(SutProviderCustomization))]
public async Task ConfirmUser_SingleOrgPolicy(Organization org, OrganizationUser confirmingUser,
[OrganizationUser(OrganizationUserStatusType.Accepted)]OrganizationUser orgUser, User user,
OrganizationUser orgUserAnotherOrg, [Policy(PolicyType.SingleOrg)]Policy singleOrgPolicy,
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser orgUser, User user,
OrganizationUser orgUserAnotherOrg, [Policy(PolicyType.SingleOrg)] Policy singleOrgPolicy,
string key, SutProvider<OrganizationService> sutProvider)
{
var organizationUserRepository = sutProvider.GetDependency<IOrganizationUserRepository>();
@ -697,21 +697,21 @@ namespace Bit.Core.Test.Services
orgUser.Status = OrganizationUserStatusType.Accepted;
orgUser.OrganizationId = confirmingUser.OrganizationId = org.Id;
orgUser.UserId = orgUserAnotherOrg.UserId = user.Id;
organizationUserRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] {orgUser});
organizationUserRepository.GetManyByManyUsersAsync(default).ReturnsForAnyArgs(new[] {orgUserAnotherOrg});
organizationUserRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] { orgUser });
organizationUserRepository.GetManyByManyUsersAsync(default).ReturnsForAnyArgs(new[] { orgUserAnotherOrg });
organizationRepository.GetByIdAsync(org.Id).Returns(org);
userRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] {user});
policyRepository.GetManyByOrganizationIdAsync(org.Id).Returns(new[] {singleOrgPolicy});
userRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] { user });
policyRepository.GetManyByOrganizationIdAsync(org.Id).Returns(new[] { singleOrgPolicy });
var exception = await Assert.ThrowsAsync<BadRequestException>(
() => sutProvider.Sut.ConfirmUserAsync(orgUser.OrganizationId, orgUser.Id, key, confirmingUser.Id, userService));
Assert.Contains("User is a member of another organization.", exception.Message);
}
[Theory, CustomAutoData(typeof(SutProviderCustomization))]
public async Task ConfirmUser_TwoFactorPolicy(Organization org, OrganizationUser confirmingUser,
[OrganizationUser(OrganizationUserStatusType.Accepted)]OrganizationUser orgUser, User user,
OrganizationUser orgUserAnotherOrg, [Policy(PolicyType.TwoFactorAuthentication)]Policy twoFactorPolicy,
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser orgUser, User user,
OrganizationUser orgUserAnotherOrg, [Policy(PolicyType.TwoFactorAuthentication)] Policy twoFactorPolicy,
string key, SutProvider<OrganizationService> sutProvider)
{
var organizationUserRepository = sutProvider.GetDependency<IOrganizationUserRepository>();
@ -723,22 +723,22 @@ namespace Bit.Core.Test.Services
org.PlanType = PlanType.EnterpriseAnnually;
orgUser.OrganizationId = confirmingUser.OrganizationId = org.Id;
orgUser.UserId = orgUserAnotherOrg.UserId = user.Id;
organizationUserRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] {orgUser});
organizationUserRepository.GetManyByManyUsersAsync(default).ReturnsForAnyArgs(new[] {orgUserAnotherOrg});
organizationUserRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] { orgUser });
organizationUserRepository.GetManyByManyUsersAsync(default).ReturnsForAnyArgs(new[] { orgUserAnotherOrg });
organizationRepository.GetByIdAsync(org.Id).Returns(org);
userRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] {user});
policyRepository.GetManyByOrganizationIdAsync(org.Id).Returns(new[] {twoFactorPolicy});
userRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] { user });
policyRepository.GetManyByOrganizationIdAsync(org.Id).Returns(new[] { twoFactorPolicy });
var exception = await Assert.ThrowsAsync<BadRequestException>(
() => sutProvider.Sut.ConfirmUserAsync(orgUser.OrganizationId, orgUser.Id, key, confirmingUser.Id, userService));
Assert.Contains("User does not have two-step login enabled.", exception.Message);
}
[Theory, CustomAutoData(typeof(SutProviderCustomization))]
public async Task ConfirmUser_Success(Organization org, OrganizationUser confirmingUser,
[OrganizationUser(OrganizationUserStatusType.Accepted)]OrganizationUser orgUser, User user,
[Policy(PolicyType.TwoFactorAuthentication)]Policy twoFactorPolicy,
[Policy(PolicyType.SingleOrg)]Policy singleOrgPolicy, string key, SutProvider<OrganizationService> sutProvider)
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser orgUser, User user,
[Policy(PolicyType.TwoFactorAuthentication)] Policy twoFactorPolicy,
[Policy(PolicyType.SingleOrg)] Policy singleOrgPolicy, string key, SutProvider<OrganizationService> sutProvider)
{
var organizationUserRepository = sutProvider.GetDependency<IOrganizationUserRepository>();
var organizationRepository = sutProvider.GetDependency<IOrganizationRepository>();
@ -749,24 +749,24 @@ namespace Bit.Core.Test.Services
org.PlanType = PlanType.EnterpriseAnnually;
orgUser.OrganizationId = confirmingUser.OrganizationId = org.Id;
orgUser.UserId = user.Id;
organizationUserRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] {orgUser});
organizationUserRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] { orgUser });
organizationRepository.GetByIdAsync(org.Id).Returns(org);
userRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] {user});
policyRepository.GetManyByOrganizationIdAsync(org.Id).Returns(new[] {twoFactorPolicy, singleOrgPolicy});
userRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] { user });
policyRepository.GetManyByOrganizationIdAsync(org.Id).Returns(new[] { twoFactorPolicy, singleOrgPolicy });
userService.TwoFactorIsEnabledAsync(user).Returns(true);
await sutProvider.Sut.ConfirmUserAsync(orgUser.OrganizationId, orgUser.Id, key, confirmingUser.Id, userService);
}
[Theory, CustomAutoData(typeof(SutProviderCustomization))]
public async Task ConfirmUsers_Success(Organization org,
OrganizationUser confirmingUser,
[OrganizationUser(OrganizationUserStatusType.Accepted)]OrganizationUser orgUser1,
[OrganizationUser(OrganizationUserStatusType.Accepted)]OrganizationUser orgUser2,
[OrganizationUser(OrganizationUserStatusType.Accepted)]OrganizationUser orgUser3,
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser orgUser1,
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser orgUser2,
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser orgUser3,
OrganizationUser anotherOrgUser, User user1, User user2, User user3,
[Policy(PolicyType.TwoFactorAuthentication)]Policy twoFactorPolicy,
[Policy(PolicyType.SingleOrg)]Policy singleOrgPolicy, string key, SutProvider<OrganizationService> sutProvider)
[Policy(PolicyType.TwoFactorAuthentication)] Policy twoFactorPolicy,
[Policy(PolicyType.SingleOrg)] Policy singleOrgPolicy, string key, SutProvider<OrganizationService> sutProvider)
{
var organizationUserRepository = sutProvider.GetDependency<IOrganizationUserRepository>();
var organizationRepository = sutProvider.GetDependency<IOrganizationRepository>();
@ -780,16 +780,16 @@ namespace Bit.Core.Test.Services
orgUser2.UserId = user2.Id;
orgUser3.UserId = user3.Id;
anotherOrgUser.UserId = user3.Id;
var orgUsers = new[] {orgUser1, orgUser2, orgUser3};
var orgUsers = new[] { orgUser1, orgUser2, orgUser3 };
organizationUserRepository.GetManyAsync(default).ReturnsForAnyArgs(orgUsers);
organizationRepository.GetByIdAsync(org.Id).Returns(org);
userRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] {user1, user2, user3});
policyRepository.GetManyByOrganizationIdAsync(org.Id).Returns(new[] {twoFactorPolicy, singleOrgPolicy});
userRepository.GetManyAsync(default).ReturnsForAnyArgs(new[] { user1, user2, user3 });
policyRepository.GetManyByOrganizationIdAsync(org.Id).Returns(new[] { twoFactorPolicy, singleOrgPolicy });
userService.TwoFactorIsEnabledAsync(user1).Returns(true);
userService.TwoFactorIsEnabledAsync(user2).Returns(false);
userService.TwoFactorIsEnabledAsync(user3).Returns(true);
organizationUserRepository.GetManyByManyUsersAsync(default)
.ReturnsForAnyArgs(new[] {orgUser1, orgUser2, orgUser3, anotherOrgUser});
.ReturnsForAnyArgs(new[] { orgUser1, orgUser2, orgUser3, anotherOrgUser });
var keys = orgUsers.ToDictionary(ou => ou.Id, _ => key);
var result = await sutProvider.Sut.ConfirmUsersAsync(confirmingUser.OrganizationId, keys, confirmingUser.Id, userService);

View File

@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

View File

@ -1,17 +1,17 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Bit.Core.Enums;
using Bit.Core.Exceptions;
using Bit.Core.Models.Data;
using Bit.Core.Models.Table;
using Bit.Core.Repositories;
using Bit.Core.Services;
using PolicyFixtures = Bit.Core.Test.AutoFixture.PolicyFixtures;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using NSubstitute;
using Xunit;
using Bit.Core.Enums;
using Bit.Test.Common.AutoFixture.Attributes;
using Bit.Test.Common.AutoFixture;
using PolicyFixtures = Bit.Core.Test.AutoFixture.PolicyFixtures;
namespace Bit.Core.Test.Services
{
@ -44,7 +44,7 @@ namespace Bit.Core.Test.Services
{
var orgId = Guid.NewGuid();
SetupOrg(sutProvider, policy.OrganizationId, new Organization
SetupOrg(sutProvider, policy.OrganizationId, new Organization
{
UsePolicies = false,
});
@ -270,7 +270,7 @@ namespace Bit.Core.Test.Services
sutProvider.GetDependency<IPolicyRepository>()
.GetByIdAsync(policy.Id)
.Returns(new Core.Models.Table.Policy
{
{
Id = policy.Id,
Type = PolicyType.TwoFactorAuthentication,
Enabled = false,

View File

@ -1,4 +1,4 @@
using System;
using System;
using Bit.Core.Repositories;
using Bit.Core.Services;
using Bit.Core.Settings;

View File

@ -1,4 +1,4 @@
using System;
using System;
using Bit.Core.Services;
using Bit.Core.Settings;
using Microsoft.Extensions.Logging;

View File

@ -1,4 +1,4 @@
using System;
using System;
using Bit.Core.Repositories;
using Bit.Core.Services;
using NSubstitute;

View File

@ -1,5 +1,8 @@
using System;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Text.Json;
using Bit.Core.Enums;
using Bit.Core.Exceptions;
using Bit.Core.Models.Data;
@ -7,13 +10,10 @@ using Bit.Core.Models.Table;
using Bit.Core.Repositories;
using Bit.Core.Services;
using Bit.Core.Test.AutoFixture.SendFixtures;
using Bit.Test.Common.AutoFixture;
using Microsoft.AspNetCore.Identity;
using NSubstitute;
using Xunit;
using System.Text.Json;
using Bit.Test.Common.AutoFixture;
using System.IO;
using System.Text;
namespace Bit.Core.Test.Services
{
@ -509,7 +509,7 @@ namespace Bit.Core.Test.Services
var utcNow = DateTime.UtcNow;
var exception = await Assert.ThrowsAsync<Exception>(() =>
var exception = await Assert.ThrowsAsync<Exception>(() =>
sutProvider.Sut.SaveFileSendAsync(send, data, 1 * Models.Tables.UserTests.Multiplier)
);
@ -530,7 +530,7 @@ namespace Bit.Core.Test.Services
await sutProvider.GetDependency<ISendFileStorageService>()
.Received(1)
.DeleteFileAsync(send, Arg.Any<string>());
.DeleteFileAsync(send, Arg.Any<string>());
}
[Theory]
@ -573,7 +573,7 @@ namespace Bit.Core.Test.Services
[Theory]
[InlineUserSendAutoData]
public async void UpdateFileToExistingSendAsync_Success(SutProvider<SendService> sutProvider,
public async void UpdateFileToExistingSendAsync_Success(SutProvider<SendService> sutProvider,
Send send)
{
var fileContents = "Test file content";
@ -635,7 +635,7 @@ namespace Bit.Core.Test.Services
.VerifyHashedPassword(Arg.Any<User>(), send.Password, "TEST")
.Returns(PasswordVerificationResult.Success);
var (grant, passwordRequiredError, passwordInvalidError)
var (grant, passwordRequiredError, passwordInvalidError)
= sutProvider.Sut.SendCanBeAccessed(send, "TEST");
Assert.True(grant);
@ -710,7 +710,7 @@ namespace Bit.Core.Test.Services
[Theory]
[InlineUserSendAutoData]
public void SendCanBeAccessed_RehashNeeded_RehashesPassword(SutProvider<SendService> sutProvider,
public void SendCanBeAccessed_RehashNeeded_RehashesPassword(SutProvider<SendService> sutProvider,
Send send)
{
var now = DateTime.UtcNow;
@ -739,7 +739,7 @@ namespace Bit.Core.Test.Services
[Theory]
[InlineUserSendAutoData]
public void SendCanBeAccessed_VerifyFailed_PasswordInvalidReturnsTrue(SutProvider<SendService> sutProvider,
public void SendCanBeAccessed_VerifyFailed_PasswordInvalidReturnsTrue(SutProvider<SendService> sutProvider,
Send send)
{
var now = DateTime.UtcNow;

View File

@ -270,9 +270,9 @@ namespace Bit.Core.Test.Services
sutProvider.GetDependency<IPolicyRepository>().GetByOrganizationIdTypeAsync(
Arg.Any<Guid>(), Arg.Any<Enums.PolicyType>()).Returns(new Policy
{
Enabled = true,
});
{
Enabled = true,
});
var exception = await Assert.ThrowsAsync<BadRequestException>(
() => sutProvider.Sut.SaveAsync(ssoConfig, organization));
@ -305,9 +305,9 @@ namespace Bit.Core.Test.Services
sutProvider.GetDependency<IPolicyRepository>().GetByOrganizationIdTypeAsync(
Arg.Any<Guid>(), Arg.Any<Enums.PolicyType>()).Returns(new Policy
{
Enabled = true,
});
{
Enabled = true,
});
await sutProvider.Sut.SaveAsync(ssoConfig, organization);

View File

@ -1,17 +1,17 @@
using System;
using System.Collections.Generic;
using Bit.Core.Context;
using Bit.Core.Models.Table;
using Bit.Core.Repositories;
using Bit.Core.Services;
using Bit.Core.Settings;
using Fido2NetLib;
using Microsoft.AspNetCore.DataProtection;
using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.Options;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using NSubstitute;
using Xunit;
using Fido2NetLib;
using Bit.Core.Context;
namespace Bit.Core.Test.Services
{

View File

@ -1,4 +1,4 @@
using System;
using System;
using System.IO;
namespace Bit.Core.Test

View File

@ -1,17 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Bit.Core.Utilities;
using Xunit;
using Bit.Core.Test.AutoFixture.UserFixtures;
using IdentityModel;
using AutoFixture;
using Bit.Core.Context;
using Bit.Core.Enums;
using Bit.Core.Enums.Provider;
using Bit.Core.Models.Table;
using Bit.Core.Context;
using AutoFixture;
using Bit.Core.Enums;
using Bit.Test.Common.AutoFixture.Attributes;
using Bit.Core.Test.AutoFixture.UserFixtures;
using Bit.Core.Utilities;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using IdentityModel;
using Xunit;
namespace Bit.Core.Test.Utilities
{
@ -35,7 +35,7 @@ namespace Bit.Core.Test.Utilities
}
[Theory]
[InlineData(2, 5, new[] { 1, 2, 3, 4, 5, 6, 7, 8 , 9, 0 })]
[InlineData(2, 5, new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 })]
[InlineData(2, 3, new[] { 1, 2, 3, 4, 5 })]
[InlineData(2, 1, new[] { 1, 2 })]
[InlineData(1, 1, new[] { 1 })]

View File

@ -1,4 +1,4 @@
using Bit.Core.Utilities;
using Bit.Core.Utilities;
using Xunit;
namespace Bit.Core.Test.Utilities
@ -15,10 +15,10 @@ namespace Bit.Core.Test.Utilities
var sut = new EncryptedStringAttribute();
var actual = sut.IsValid(input);
Assert.True(actual);
}
[Theory]
[InlineData("")]
[InlineData(".")]
@ -36,7 +36,7 @@ namespace Bit.Core.Test.Utilities
var sut = new EncryptedStringAttribute();
var actual = sut.IsValid(input);
Assert.False(actual);
}
}

View File

@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
using Bit.Core.Exceptions;
using Bit.Core.Settings;
using Bit.Core.Utilities;
@ -82,12 +82,12 @@ namespace Bit.Core.Test.Utilities
var context = Substitute.For<ActionExecutingContext>(
Substitute.For<ActionContext>(httpContext,
new RouteData(),
Substitute.For<ActionDescriptor>()),
new List<IFilterMetadata>(),
new Dictionary<string, object>(),
Substitute.For<ActionDescriptor>()),
new List<IFilterMetadata>(),
new Dictionary<string, object>(),
Substitute.For<Controller>());
return context;
}
}
}
}

View File

@ -17,10 +17,10 @@ namespace Bit.Core.Test.Utilities
var sut = new StrictEmailAddressAttribute();
var actual = sut.IsValid(email);
Assert.True(actual);
}
[Theory]
[InlineData(null)] // null
[InlineData("hello@world.com\t")] // trailing tab char
@ -51,7 +51,7 @@ namespace Bit.Core.Test.Utilities
var sut = new StrictEmailAddressAttribute();
var actual = sut.IsValid(email);
Assert.False(actual);
}
}