Files
ScadaBridge/tests/ZB.MOM.WW.ScadaBridge.CLI.Tests/FormatResolutionTests.cs
T
Joseph Doherty 7b0b9c7365 refactor: rename ScadaLink → ZB.MOM.WW.ScadaBridge (code + projects + namespaces)
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.
2026-05-28 09:37:45 -04:00

55 lines
1.8 KiB
C#

using System.CommandLine;
using ZB.MOM.WW.ScadaBridge.CLI;
using ZB.MOM.WW.ScadaBridge.CLI.Commands;
namespace ZB.MOM.WW.ScadaBridge.CLI.Tests;
public class FormatResolutionTests
{
private static (Option<string> formatOption, RootCommand root) BuildHarness()
{
var formatOption = new Option<string>("--format") { Recursive = true };
var root = new RootCommand();
root.Add(formatOption);
return (formatOption, root);
}
[Fact]
public void ResolveFormat_ExplicitFlag_OverridesConfig()
{
var (formatOption, root) = BuildHarness();
var result = root.Parse(new[] { "--format", "table" });
var config = new CliConfig { DefaultFormat = "json" };
var format = CommandHelpers.ResolveFormat(result, formatOption, config);
Assert.Equal("table", format);
}
[Fact]
public void ResolveFormat_FlagAbsent_UsesConfigDefaultFormat()
{
// Regression for CLI-001: when --format is not supplied, the config-file /
// env-var DefaultFormat must be honoured instead of always falling back to "json".
var (formatOption, root) = BuildHarness();
var result = root.Parse(Array.Empty<string>());
var config = new CliConfig { DefaultFormat = "table" };
var format = CommandHelpers.ResolveFormat(result, formatOption, config);
Assert.Equal("table", format);
}
[Fact]
public void ResolveFormat_FlagAbsent_AndNoConfig_DefaultsToJson()
{
var (formatOption, root) = BuildHarness();
var result = root.Parse(Array.Empty<string>());
var config = new CliConfig { DefaultFormat = "json" };
var format = CommandHelpers.ResolveFormat(result, formatOption, config);
Assert.Equal("json", format);
}
}