mirror of
https://github.com/bitwarden/server.git
synced 2025-06-30 07:36:14 -05:00
Run formatting (#2230)
This commit is contained in:
@ -3,26 +3,25 @@ using AutoFixture;
|
||||
using Bit.Test.Common.Helpers;
|
||||
using Xunit.Sdk;
|
||||
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes;
|
||||
|
||||
[DataDiscoverer("AutoFixture.Xunit2.NoPreDiscoveryDataDiscoverer", "AutoFixture.Xunit2")]
|
||||
public class BitAutoDataAttribute : DataAttribute
|
||||
{
|
||||
[DataDiscoverer("AutoFixture.Xunit2.NoPreDiscoveryDataDiscoverer", "AutoFixture.Xunit2")]
|
||||
public class BitAutoDataAttribute : DataAttribute
|
||||
private readonly Func<IFixture> _createFixture;
|
||||
private readonly object[] _fixedTestParameters;
|
||||
|
||||
public BitAutoDataAttribute(params object[] fixedTestParameters) :
|
||||
this(() => new Fixture(), fixedTestParameters)
|
||||
{ }
|
||||
|
||||
public BitAutoDataAttribute(Func<IFixture> createFixture, params object[] fixedTestParameters) :
|
||||
base()
|
||||
{
|
||||
private readonly Func<IFixture> _createFixture;
|
||||
private readonly object[] _fixedTestParameters;
|
||||
|
||||
public BitAutoDataAttribute(params object[] fixedTestParameters) :
|
||||
this(() => new Fixture(), fixedTestParameters)
|
||||
{ }
|
||||
|
||||
public BitAutoDataAttribute(Func<IFixture> createFixture, params object[] fixedTestParameters) :
|
||||
base()
|
||||
{
|
||||
_createFixture = createFixture;
|
||||
_fixedTestParameters = fixedTestParameters;
|
||||
}
|
||||
|
||||
public override IEnumerable<object[]> GetData(MethodInfo testMethod)
|
||||
=> BitAutoDataAttributeHelpers.GetData(testMethod, _createFixture(), _fixedTestParameters);
|
||||
_createFixture = createFixture;
|
||||
_fixedTestParameters = fixedTestParameters;
|
||||
}
|
||||
|
||||
public override IEnumerable<object[]> GetData(MethodInfo testMethod)
|
||||
=> BitAutoDataAttributeHelpers.GetData(testMethod, _createFixture(), _fixedTestParameters);
|
||||
}
|
||||
|
@ -1,21 +1,20 @@
|
||||
using AutoFixture;
|
||||
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes;
|
||||
|
||||
/// <summary>
|
||||
/// <para>
|
||||
/// Base class for customizing parameters in methods decorated with the
|
||||
/// Bit.Test.Common.AutoFixture.Attributes.MemberAutoDataAttribute.
|
||||
/// </para>
|
||||
/// ⚠ Warning ⚠ Will not insert customizations into AutoFixture's AutoDataAttribute build chain
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method | AttributeTargets.Parameter, AllowMultiple = true)]
|
||||
public abstract class BitCustomizeAttribute : Attribute
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>
|
||||
/// Base class for customizing parameters in methods decorated with the
|
||||
/// Bit.Test.Common.AutoFixture.Attributes.MemberAutoDataAttribute.
|
||||
/// </para>
|
||||
/// ⚠ Warning ⚠ Will not insert customizations into AutoFixture's AutoDataAttribute build chain
|
||||
/// /// Gets a customization for the method's parameters.
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method | AttributeTargets.Parameter, AllowMultiple = true)]
|
||||
public abstract class BitCustomizeAttribute : Attribute
|
||||
{
|
||||
/// <summary>
|
||||
/// /// Gets a customization for the method's parameters.
|
||||
/// </summary>
|
||||
/// <returns>A customization for the method's paramters.</returns>
|
||||
public abstract ICustomization GetCustomization();
|
||||
}
|
||||
/// <returns>A customization for the method's paramters.</returns>
|
||||
public abstract ICustomization GetCustomization();
|
||||
}
|
||||
|
@ -3,23 +3,22 @@ using AutoFixture;
|
||||
using Bit.Test.Common.Helpers;
|
||||
using Xunit;
|
||||
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes;
|
||||
|
||||
public class BitMemberAutoDataAttribute : MemberDataAttributeBase
|
||||
{
|
||||
public class BitMemberAutoDataAttribute : MemberDataAttributeBase
|
||||
private readonly Func<IFixture> _createFixture;
|
||||
|
||||
public BitMemberAutoDataAttribute(string memberName, params object[] parameters) :
|
||||
this(() => new Fixture(), memberName, parameters)
|
||||
{ }
|
||||
|
||||
public BitMemberAutoDataAttribute(Func<IFixture> createFixture, string memberName, params object[] parameters) :
|
||||
base(memberName, parameters)
|
||||
{
|
||||
private readonly Func<IFixture> _createFixture;
|
||||
|
||||
public BitMemberAutoDataAttribute(string memberName, params object[] parameters) :
|
||||
this(() => new Fixture(), memberName, parameters)
|
||||
{ }
|
||||
|
||||
public BitMemberAutoDataAttribute(Func<IFixture> createFixture, string memberName, params object[] parameters) :
|
||||
base(memberName, parameters)
|
||||
{
|
||||
_createFixture = createFixture;
|
||||
}
|
||||
|
||||
protected override object[] ConvertDataItem(MethodInfo testMethod, object item) =>
|
||||
BitAutoDataAttributeHelpers.GetData(testMethod, _createFixture(), item as object[]).First();
|
||||
_createFixture = createFixture;
|
||||
}
|
||||
|
||||
protected override object[] ConvertDataItem(MethodInfo testMethod, object item) =>
|
||||
BitAutoDataAttributeHelpers.GetData(testMethod, _createFixture(), item as object[]).First();
|
||||
}
|
||||
|
@ -1,23 +1,22 @@
|
||||
using AutoFixture;
|
||||
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes;
|
||||
|
||||
/// <summary>
|
||||
/// Disables setting of Auto Properties on the Controller to avoid ASP.net initialization errors from a mock environment. Still sets constructor dependencies.
|
||||
/// </summary>
|
||||
public class ControllerCustomizeAttribute : BitCustomizeAttribute
|
||||
{
|
||||
private readonly Type _controllerType;
|
||||
|
||||
/// <summary>
|
||||
/// Disables setting of Auto Properties on the Controller to avoid ASP.net initialization errors from a mock environment. Still sets constructor dependencies.
|
||||
/// Initialize an instance of the ControllerCustomizeAttribute class
|
||||
/// </summary>
|
||||
public class ControllerCustomizeAttribute : BitCustomizeAttribute
|
||||
/// <param name="controllerType">The Type of the controller to allow autofixture to create</param>
|
||||
public ControllerCustomizeAttribute(Type controllerType)
|
||||
{
|
||||
private readonly Type _controllerType;
|
||||
|
||||
/// <summary>
|
||||
/// Initialize an instance of the ControllerCustomizeAttribute class
|
||||
/// </summary>
|
||||
/// <param name="controllerType">The Type of the controller to allow autofixture to create</param>
|
||||
public ControllerCustomizeAttribute(Type controllerType)
|
||||
{
|
||||
_controllerType = controllerType;
|
||||
}
|
||||
|
||||
public override ICustomization GetCustomization() => new ControllerCustomization(_controllerType);
|
||||
_controllerType = controllerType;
|
||||
}
|
||||
|
||||
public override ICustomization GetCustomization() => new ControllerCustomization(_controllerType);
|
||||
}
|
||||
|
@ -1,23 +1,22 @@
|
||||
using AutoFixture;
|
||||
using AutoFixture.Xunit2;
|
||||
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes
|
||||
{
|
||||
public class CustomAutoDataAttribute : AutoDataAttribute
|
||||
{
|
||||
public CustomAutoDataAttribute(params Type[] iCustomizationTypes) : this(iCustomizationTypes
|
||||
.Select(t => (ICustomization)Activator.CreateInstance(t)).ToArray())
|
||||
{ }
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes;
|
||||
|
||||
public CustomAutoDataAttribute(params ICustomization[] customizations) : base(() =>
|
||||
public class CustomAutoDataAttribute : AutoDataAttribute
|
||||
{
|
||||
public CustomAutoDataAttribute(params Type[] iCustomizationTypes) : this(iCustomizationTypes
|
||||
.Select(t => (ICustomization)Activator.CreateInstance(t)).ToArray())
|
||||
{ }
|
||||
|
||||
public CustomAutoDataAttribute(params ICustomization[] customizations) : base(() =>
|
||||
{
|
||||
var fixture = new Fixture();
|
||||
foreach (var customization in customizations)
|
||||
{
|
||||
var fixture = new Fixture();
|
||||
foreach (var customization in customizations)
|
||||
{
|
||||
fixture.Customize(customization);
|
||||
}
|
||||
return fixture;
|
||||
})
|
||||
{ }
|
||||
}
|
||||
fixture.Customize(customization);
|
||||
}
|
||||
return fixture;
|
||||
})
|
||||
{ }
|
||||
}
|
||||
|
@ -1,43 +1,42 @@
|
||||
using System.Reflection;
|
||||
using Xunit.Sdk;
|
||||
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes;
|
||||
|
||||
/// <summary>
|
||||
/// Used for collecting data from environment useful for when we want to test an integration with another service and
|
||||
/// it might require an api key or other piece of sensitive data that we don't want slipping into the wrong hands.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// It probably should be refactored to support fixtures and other customization so it can more easily be used in conjunction
|
||||
/// with more parameters. Currently it attempt to match environment variable names to values of the parameter type in that positions.
|
||||
/// It will start from the first parameter and go for each supplied name.
|
||||
/// </remarks>
|
||||
public class EnvironmentDataAttribute : DataAttribute
|
||||
{
|
||||
/// <summary>
|
||||
/// Used for collecting data from environment useful for when we want to test an integration with another service and
|
||||
/// it might require an api key or other piece of sensitive data that we don't want slipping into the wrong hands.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// It probably should be refactored to support fixtures and other customization so it can more easily be used in conjunction
|
||||
/// with more parameters. Currently it attempt to match environment variable names to values of the parameter type in that positions.
|
||||
/// It will start from the first parameter and go for each supplied name.
|
||||
/// </remarks>
|
||||
public class EnvironmentDataAttribute : DataAttribute
|
||||
private readonly string[] _environmentVariableNames;
|
||||
|
||||
public EnvironmentDataAttribute(params string[] environmentVariableNames)
|
||||
{
|
||||
private readonly string[] _environmentVariableNames;
|
||||
_environmentVariableNames = environmentVariableNames;
|
||||
}
|
||||
|
||||
public EnvironmentDataAttribute(params string[] environmentVariableNames)
|
||||
public override IEnumerable<object[]> GetData(MethodInfo testMethod)
|
||||
{
|
||||
var methodParameters = testMethod.GetParameters();
|
||||
|
||||
if (methodParameters.Length < _environmentVariableNames.Length)
|
||||
{
|
||||
_environmentVariableNames = environmentVariableNames;
|
||||
throw new ArgumentException($"The target test method only has {methodParameters.Length} arguments but you supplied {_environmentVariableNames.Length}");
|
||||
}
|
||||
|
||||
public override IEnumerable<object[]> GetData(MethodInfo testMethod)
|
||||
var values = new object[_environmentVariableNames.Length];
|
||||
|
||||
for (var i = 0; i < _environmentVariableNames.Length; i++)
|
||||
{
|
||||
var methodParameters = testMethod.GetParameters();
|
||||
|
||||
if (methodParameters.Length < _environmentVariableNames.Length)
|
||||
{
|
||||
throw new ArgumentException($"The target test method only has {methodParameters.Length} arguments but you supplied {_environmentVariableNames.Length}");
|
||||
}
|
||||
|
||||
var values = new object[_environmentVariableNames.Length];
|
||||
|
||||
for (var i = 0; i < _environmentVariableNames.Length; i++)
|
||||
{
|
||||
values[i] = Convert.ChangeType(Environment.GetEnvironmentVariable(_environmentVariableNames[i]), methodParameters[i].ParameterType);
|
||||
}
|
||||
|
||||
return new[] { values };
|
||||
values[i] = Convert.ChangeType(Environment.GetEnvironmentVariable(_environmentVariableNames[i]), methodParameters[i].ParameterType);
|
||||
}
|
||||
|
||||
return new[] { values };
|
||||
}
|
||||
}
|
||||
|
@ -3,20 +3,19 @@ using AutoFixture.Xunit2;
|
||||
using Xunit;
|
||||
using Xunit.Sdk;
|
||||
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes
|
||||
{
|
||||
public class InlineCustomAutoDataAttribute : CompositeDataAttribute
|
||||
{
|
||||
public InlineCustomAutoDataAttribute(Type[] iCustomizationTypes, params object[] values) : base(new DataAttribute[] {
|
||||
new InlineDataAttribute(values),
|
||||
new CustomAutoDataAttribute(iCustomizationTypes)
|
||||
})
|
||||
{ }
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes;
|
||||
|
||||
public InlineCustomAutoDataAttribute(ICustomization[] customizations, params object[] values) : base(new DataAttribute[] {
|
||||
new InlineDataAttribute(values),
|
||||
new CustomAutoDataAttribute(customizations)
|
||||
})
|
||||
{ }
|
||||
}
|
||||
public class InlineCustomAutoDataAttribute : CompositeDataAttribute
|
||||
{
|
||||
public InlineCustomAutoDataAttribute(Type[] iCustomizationTypes, params object[] values) : base(new DataAttribute[] {
|
||||
new InlineDataAttribute(values),
|
||||
new CustomAutoDataAttribute(iCustomizationTypes)
|
||||
})
|
||||
{ }
|
||||
|
||||
public InlineCustomAutoDataAttribute(ICustomization[] customizations, params object[] values) : base(new DataAttribute[] {
|
||||
new InlineDataAttribute(values),
|
||||
new CustomAutoDataAttribute(customizations)
|
||||
})
|
||||
{ }
|
||||
}
|
||||
|
@ -1,18 +1,17 @@
|
||||
using AutoFixture;
|
||||
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes
|
||||
{
|
||||
public class InlineSutAutoDataAttribute : InlineCustomAutoDataAttribute
|
||||
{
|
||||
public InlineSutAutoDataAttribute(params object[] values) : base(
|
||||
new Type[] { typeof(SutProviderCustomization) }, values)
|
||||
{ }
|
||||
public InlineSutAutoDataAttribute(Type[] iCustomizationTypes, params object[] values) : base(
|
||||
iCustomizationTypes.Append(typeof(SutProviderCustomization)).ToArray(), values)
|
||||
{ }
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes;
|
||||
|
||||
public InlineSutAutoDataAttribute(ICustomization[] customizations, params object[] values) : base(
|
||||
customizations.Append(new SutProviderCustomization()).ToArray(), values)
|
||||
{ }
|
||||
}
|
||||
public class InlineSutAutoDataAttribute : InlineCustomAutoDataAttribute
|
||||
{
|
||||
public InlineSutAutoDataAttribute(params object[] values) : base(
|
||||
new Type[] { typeof(SutProviderCustomization) }, values)
|
||||
{ }
|
||||
public InlineSutAutoDataAttribute(Type[] iCustomizationTypes, params object[] values) : base(
|
||||
iCustomizationTypes.Append(typeof(SutProviderCustomization)).ToArray(), values)
|
||||
{ }
|
||||
|
||||
public InlineSutAutoDataAttribute(ICustomization[] customizations, params object[] values) : base(
|
||||
customizations.Append(new SutProviderCustomization()).ToArray(), values)
|
||||
{ }
|
||||
}
|
||||
|
@ -1,11 +1,10 @@
|
||||
using AutoFixture;
|
||||
using Bit.Test.Common.AutoFixture.JsonDocumentFixtures;
|
||||
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes;
|
||||
|
||||
public class JsonDocumentCustomizeAttribute : BitCustomizeAttribute
|
||||
{
|
||||
public class JsonDocumentCustomizeAttribute : BitCustomizeAttribute
|
||||
{
|
||||
public string Json { get; set; }
|
||||
public override ICustomization GetCustomization() => new JsonDocumentCustomization() { Json = Json };
|
||||
}
|
||||
public string Json { get; set; }
|
||||
public override ICustomization GetCustomization() => new JsonDocumentCustomization() { Json = Json };
|
||||
}
|
||||
|
@ -1,38 +1,37 @@
|
||||
using Xunit;
|
||||
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes;
|
||||
|
||||
/// <summary>
|
||||
/// Used for requiring certain environment variables exist at the time. Mostly used for more edge unit tests that shouldn't
|
||||
/// be run during CI builds or should only be ran in CI builds when pieces of information are available.
|
||||
/// </summary>
|
||||
public class RequiredEnvironmentTheoryAttribute : TheoryAttribute
|
||||
{
|
||||
/// <summary>
|
||||
/// Used for requiring certain environment variables exist at the time. Mostly used for more edge unit tests that shouldn't
|
||||
/// be run during CI builds or should only be ran in CI builds when pieces of information are available.
|
||||
/// </summary>
|
||||
public class RequiredEnvironmentTheoryAttribute : TheoryAttribute
|
||||
private readonly string[] _environmentVariableNames;
|
||||
|
||||
public RequiredEnvironmentTheoryAttribute(params string[] environmentVariableNames)
|
||||
{
|
||||
private readonly string[] _environmentVariableNames;
|
||||
_environmentVariableNames = environmentVariableNames;
|
||||
|
||||
public RequiredEnvironmentTheoryAttribute(params string[] environmentVariableNames)
|
||||
if (!HasRequiredEnvironmentVariables())
|
||||
{
|
||||
_environmentVariableNames = environmentVariableNames;
|
||||
|
||||
if (!HasRequiredEnvironmentVariables())
|
||||
{
|
||||
Skip = $"Missing one or more required environment variables. ({string.Join(", ", _environmentVariableNames)})";
|
||||
}
|
||||
}
|
||||
|
||||
private bool HasRequiredEnvironmentVariables()
|
||||
{
|
||||
foreach (var env in _environmentVariableNames)
|
||||
{
|
||||
var value = Environment.GetEnvironmentVariable(env);
|
||||
|
||||
if (value == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
Skip = $"Missing one or more required environment variables. ({string.Join(", ", _environmentVariableNames)})";
|
||||
}
|
||||
}
|
||||
|
||||
private bool HasRequiredEnvironmentVariables()
|
||||
{
|
||||
foreach (var env in _environmentVariableNames)
|
||||
{
|
||||
var value = Environment.GetEnvironmentVariable(env);
|
||||
|
||||
if (value == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,16 +1,15 @@
|
||||
using AutoFixture;
|
||||
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes
|
||||
{
|
||||
public class SutProviderCustomizeAttribute : BitCustomizeAttribute
|
||||
{
|
||||
public override ICustomization GetCustomization() => new SutProviderCustomization();
|
||||
}
|
||||
namespace Bit.Test.Common.AutoFixture.Attributes;
|
||||
|
||||
public class SutAutoDataAttribute : CustomAutoDataAttribute
|
||||
{
|
||||
public SutAutoDataAttribute(params Type[] iCustomizationTypes) : base(
|
||||
iCustomizationTypes.Append(typeof(SutProviderCustomization)).ToArray())
|
||||
{ }
|
||||
}
|
||||
public class SutProviderCustomizeAttribute : BitCustomizeAttribute
|
||||
{
|
||||
public override ICustomization GetCustomization() => new SutProviderCustomization();
|
||||
}
|
||||
|
||||
public class SutAutoDataAttribute : CustomAutoDataAttribute
|
||||
{
|
||||
public SutAutoDataAttribute(params Type[] iCustomizationTypes) : base(
|
||||
iCustomizationTypes.Append(typeof(SutProviderCustomization)).ToArray())
|
||||
{ }
|
||||
}
|
||||
|
Reference in New Issue
Block a user