mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2024-11-19 01:43:50 +01:00
38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Xunit;
|
|
using Xunit.Sdk;
|
|
|
|
namespace BTCPayServer.Tests
|
|
{
|
|
public class FactWithSecretAttribute : FactAttribute
|
|
{
|
|
public FactWithSecretAttribute(string secret)
|
|
{
|
|
try
|
|
{
|
|
GetFromSecrets(secret);
|
|
}
|
|
catch (XunitException ex)
|
|
{
|
|
Skip = ex.Message;
|
|
}
|
|
}
|
|
public static string GetFromSecrets(string key)
|
|
{
|
|
var connStr = Environment.GetEnvironmentVariable($"TESTS_{key}");
|
|
if (!string.IsNullOrEmpty(connStr) && connStr != "none")
|
|
return connStr;
|
|
var builder = new ConfigurationBuilder();
|
|
builder.AddUserSecrets("AB0AC1DD-9D26-485B-9416-56A33F268117");
|
|
var config = builder.Build();
|
|
var token = config[key];
|
|
Assert.False(token == null, $"{key} is not set.\n Run \"dotnet user-secrets set {key} <value>\"");
|
|
return token;
|
|
}
|
|
}
|
|
}
|