version-0.1 (#1)
Squash and merge of version-0.1 Co-authored-by: James Wampler <james@wamp.dev> Co-committed-by: James Wampler <james@wamp.dev>
This commit was merged in pull request #1.
This commit is contained in:
33
tests/api/MicCheck.Api.Tests.Integration/Common/IntegrationTestSettings.cs
Executable file
33
tests/api/MicCheck.Api.Tests.Integration/Common/IntegrationTestSettings.cs
Executable file
@@ -0,0 +1,33 @@
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace MicCheck.Api.Tests.Integration.Common;
|
||||
|
||||
public sealed record IntegrationTestSettings(string BaseUrl, string DbConnectionString, bool AcceptAnyServerCertificate)
|
||||
{
|
||||
public static IntegrationTestSettings Load()
|
||||
{
|
||||
var baseUrl = Resolve("BaseUrl", "MICCHECK_API_BASE_URL")
|
||||
?? throw new InvalidOperationException(
|
||||
"BaseUrl is not set. Provide it via .runsettings (TestRunParameters.BaseUrl) or the MICCHECK_API_BASE_URL environment variable.");
|
||||
|
||||
var connectionString = Resolve("DbConnectionString", "MICCHECK_DB_CONNECTION_STRING")
|
||||
?? throw new InvalidOperationException(
|
||||
"DbConnectionString is not set. Provide it via .runsettings (TestRunParameters.DbConnectionString) or the MICCHECK_DB_CONNECTION_STRING environment variable.");
|
||||
|
||||
var acceptAnyCert = bool.TryParse(
|
||||
Resolve("AcceptAnyServerCertificate", "MICCHECK_ACCEPT_ANY_SERVER_CERTIFICATE"),
|
||||
out var parsed) && parsed;
|
||||
|
||||
return new IntegrationTestSettings(baseUrl.TrimEnd('/'), connectionString, acceptAnyCert);
|
||||
}
|
||||
|
||||
private static string? Resolve(string runSettingsParameter, string environmentVariable)
|
||||
{
|
||||
var fromEnv = System.Environment.GetEnvironmentVariable(environmentVariable);
|
||||
if (!string.IsNullOrWhiteSpace(fromEnv))
|
||||
return fromEnv;
|
||||
|
||||
var fromRunSettings = TestContext.Parameters.Get(runSettingsParameter);
|
||||
return string.IsNullOrWhiteSpace(fromRunSettings) ? null : fromRunSettings;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user