You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
2.0 KiB
59 lines
2.0 KiB
using System.Reflection; |
|
using AutoFixture; |
|
using AutoFixture.Xunit2; |
|
using Bit.Core.Context; |
|
using Bit.Core.Enums; |
|
using Bit.Core.Models.Data; |
|
using Bit.Test.Common.AutoFixture.Attributes; |
|
|
|
namespace Bit.Core.Test.AdminConsole.AutoFixture; |
|
|
|
public class CurrentContextOrganizationCustomization : ICustomization |
|
{ |
|
public Guid Id { get; set; } |
|
public OrganizationUserType Type { get; set; } |
|
public Permissions Permissions { get; set; } = new(); |
|
public bool AccessSecretsManager { get; set; } |
|
|
|
public void Customize(IFixture fixture) |
|
{ |
|
fixture.Customize<CurrentContextOrganization>(composer => composer |
|
.With(o => o.Id, Id) |
|
.With(o => o.Type, Type) |
|
.With(o => o.Permissions, Permissions) |
|
.With(o => o.AccessSecretsManager, AccessSecretsManager)); |
|
} |
|
} |
|
|
|
[AttributeUsage(AttributeTargets.Method)] |
|
public class CurrentContextOrganizationCustomizeAttribute : BitCustomizeAttribute |
|
{ |
|
public Guid Id { get; set; } |
|
public OrganizationUserType Type { get; set; } = OrganizationUserType.User; |
|
public Permissions Permissions { get; set; } = new(); |
|
public bool AccessSecretsManager { get; set; } = false; |
|
|
|
public override ICustomization GetCustomization() => new CurrentContextOrganizationCustomization() |
|
{ |
|
Id = Id, |
|
Type = Type, |
|
Permissions = Permissions, |
|
AccessSecretsManager = AccessSecretsManager |
|
}; |
|
} |
|
|
|
public class CurrentContextOrganizationAttribute : CustomizeAttribute |
|
{ |
|
public Guid Id { get; set; } |
|
public OrganizationUserType Type { get; set; } = OrganizationUserType.User; |
|
public Permissions Permissions { get; set; } = new(); |
|
public bool AccessSecretsManager { get; set; } = false; |
|
|
|
public override ICustomization GetCustomization(ParameterInfo _) => new CurrentContextOrganizationCustomization |
|
{ |
|
Id = Id, |
|
Type = Type, |
|
Permissions = Permissions, |
|
AccessSecretsManager = AccessSecretsManager |
|
}; |
|
}
|
|
|