mirror of
https://github.com/bitwarden/server.git
synced 2024-11-25 12:45:18 +01:00
bb34de74cb
* Add FreshsalesController * Add better errors * Fix formatting issues * Add comments * Add Billing.Test to solution files * Fix unit test * Format code * Address PR feedback
40 lines
1.2 KiB
C#
40 lines
1.2 KiB
C#
using System;
|
|
using Xunit;
|
|
|
|
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
|
|
{
|
|
private readonly string[] _environmentVariableNames;
|
|
|
|
public RequiredEnvironmentTheoryAttribute(params string[] environmentVariableNames)
|
|
{
|
|
_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;
|
|
}
|
|
}
|
|
}
|