Resolve all 46 low-severity architecture review findings

This commit is contained in:
Joseph Doherty
2026-09-09 22:56:36 -04:00
parent fef3e7675f
commit 9ee402bbcd
139 changed files with 2621 additions and 1082 deletions
@@ -0,0 +1,32 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
namespace ZB.MOM.WW.ScadaBridge.DataConnectionLayer.Tests;
public class GlobalOptionsValidationTests
{
[Theory]
[InlineData("ScadaBridge:OpcUa:ApplicationName")]
[InlineData("ScadaBridge:MxGateway:ClientNamePrefix")]
public void StartupRejectsBlankIdentity(string key)
{
var services = new ServiceCollection();
services.AddSingleton<IConfiguration>(new ConfigurationBuilder().AddInMemoryCollection(
new Dictionary<string, string?> { [key] = " " }).Build());
services.AddDataConnectionLayer();
using var provider = services.BuildServiceProvider();
var exception = Assert.Throws<OptionsValidationException>(() => provider.GetRequiredService<IStartupValidator>().Validate());
Assert.Contains(key, exception.Message);
}
[Fact]
public void DefaultsValidateAtStartup()
{
var services = new ServiceCollection();
services.AddSingleton<IConfiguration>(new ConfigurationBuilder().Build());
services.AddDataConnectionLayer();
using var provider = services.BuildServiceProvider();
provider.GetRequiredService<IStartupValidator>().Validate();
}
}