Files
scadalink-design/tests/ScadaLink.CLI.Tests/CliConfigTests.cs
Joseph Doherty 7740a3bcf9 feat: add JoeAppEngine OPC UA nodes, fix DCL auto-reconnect and quality push
- Add JoeAppEngine folder to OPC UA nodes.json (BTCS, AlarmCntsBySeverity, Scheduler/ScanTime)
- Fix DataConnectionActor: capture Self in PreStart for use from non-actor threads,
  preventing Self.Tell failure in Disconnected event handler
- Implement InstanceActor.HandleConnectionQualityChanged to mark attributes Bad on disconnect
- Fix LmxFakeProxy TagMapper to serialize arrays as JSON instead of "System.Int32[]"
- Allow DataType and DataSourceReference updates in TemplateService.UpdateAttributeAsync
- Update test_infra_opcua.md with JoeAppEngine documentation
2026-03-19 13:27:54 -04:00

91 lines
2.8 KiB
C#

using ScadaLink.CLI;
namespace ScadaLink.CLI.Tests;
public class CliConfigTests
{
[Fact]
public void Load_DefaultValues_WhenNoConfigExists()
{
// Clear environment variables that might affect the test
var origContact = Environment.GetEnvironmentVariable("SCADALINK_CONTACT_POINTS");
var origLdap = Environment.GetEnvironmentVariable("SCADALINK_LDAP_SERVER");
var origFormat = Environment.GetEnvironmentVariable("SCADALINK_FORMAT");
try
{
Environment.SetEnvironmentVariable("SCADALINK_CONTACT_POINTS", null);
Environment.SetEnvironmentVariable("SCADALINK_LDAP_SERVER", null);
Environment.SetEnvironmentVariable("SCADALINK_FORMAT", null);
var config = CliConfig.Load();
Assert.Equal(636, config.LdapPort);
Assert.True(config.LdapUseTls);
Assert.Equal("json", config.DefaultFormat);
}
finally
{
Environment.SetEnvironmentVariable("SCADALINK_CONTACT_POINTS", origContact);
Environment.SetEnvironmentVariable("SCADALINK_LDAP_SERVER", origLdap);
Environment.SetEnvironmentVariable("SCADALINK_FORMAT", origFormat);
}
}
[Fact]
public void Load_ContactPoints_FromEnvironment()
{
var orig = Environment.GetEnvironmentVariable("SCADALINK_CONTACT_POINTS");
try
{
Environment.SetEnvironmentVariable("SCADALINK_CONTACT_POINTS", "host1:8080,host2:8080");
var config = CliConfig.Load();
Assert.Equal(2, config.ContactPoints.Count);
Assert.Equal("host1:8080", config.ContactPoints[0]);
Assert.Equal("host2:8080", config.ContactPoints[1]);
}
finally
{
Environment.SetEnvironmentVariable("SCADALINK_CONTACT_POINTS", orig);
}
}
[Fact]
public void Load_LdapServer_FromEnvironment()
{
var orig = Environment.GetEnvironmentVariable("SCADALINK_LDAP_SERVER");
try
{
Environment.SetEnvironmentVariable("SCADALINK_LDAP_SERVER", "ldap.example.com");
var config = CliConfig.Load();
Assert.Equal("ldap.example.com", config.LdapServer);
}
finally
{
Environment.SetEnvironmentVariable("SCADALINK_LDAP_SERVER", orig);
}
}
[Fact]
public void Load_Format_FromEnvironment()
{
var orig = Environment.GetEnvironmentVariable("SCADALINK_FORMAT");
try
{
Environment.SetEnvironmentVariable("SCADALINK_FORMAT", "table");
var config = CliConfig.Load();
Assert.Equal("table", config.DefaultFormat);
}
finally
{
Environment.SetEnvironmentVariable("SCADALINK_FORMAT", orig);
}
}
}