7b0b9c7365
Solution + 23 src projects + 26 test projects renamed; folders, csproj, namespaces, and ScadaLinkDbContext/ScadaBridgeDbContext class updated. ActorSystem "scadalink" → "scadabridge", Akka seed-node URLs migrated. SQL roles/logins, LDAP domains, CLI command name, and CLI config dir (~/.scadalink → ~/.scadabridge) also renamed. Build green; 5 Host.Tests fail awaiting SQL login rename in next commit. Pre-existing StaleTagMonitor timing flakes unchanged. Rename script committed at tools/rename-to-scadabridge.sh.
35 lines
1.4 KiB
C#
35 lines
1.4 KiB
C#
namespace ZB.MOM.WW.ScadaBridge.Host.Tests;
|
|
|
|
/// <summary>
|
|
/// Host-003: <c>appsettings.Central.json</c> no longer commits database connection
|
|
/// strings — they are externalised to environment variables. Tests that exercise the
|
|
/// full <c>Program</c> startup pipeline against the real SQL provider must therefore
|
|
/// supply the local dev connection string the way a deployment would: via an
|
|
/// environment variable (<c>Program</c>'s configuration builder calls
|
|
/// <c>AddEnvironmentVariables()</c>).
|
|
///
|
|
/// Dispose restores the previous value so tests stay isolated.
|
|
/// </summary>
|
|
internal sealed class CentralDbTestEnvironment : IDisposable
|
|
{
|
|
// Local dev/test database — same credentials the infra docker-compose stack uses.
|
|
// This is a test fixture value, not a committed production secret.
|
|
private const string ConfigurationDb =
|
|
"Server=localhost,1433;Database=ScadaBridgeConfig;User Id=scadabridge_app;Password=ScadaBridge_Dev1#;TrustServerCertificate=true";
|
|
|
|
private const string ConfigKey = "ScadaBridge__Database__ConfigurationDb";
|
|
|
|
private readonly string? _previousConfig;
|
|
|
|
public CentralDbTestEnvironment()
|
|
{
|
|
_previousConfig = Environment.GetEnvironmentVariable(ConfigKey);
|
|
Environment.SetEnvironmentVariable(ConfigKey, ConfigurationDb);
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
Environment.SetEnvironmentVariable(ConfigKey, _previousConfig);
|
|
}
|
|
}
|