- 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
91 lines
2.8 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|