using TermRemoteCtl.Agent.Configuration; namespace TermRemoteCtl.Agent.Tests.Configuration; public class AgentOptionsValidatorTests { [Fact] public void Validate_Fails_When_DataRoot_Is_Missing() { var options = new AgentOptions { DataRoot = "", BindAddress = "0.0.0.0", HttpsPort = 9443 }; var validator = new AgentOptionsValidator(); var result = validator.Validate("Agent", options); Assert.True(result.Failed); Assert.Contains(result.Failures, failure => failure.Contains("DataRoot")); } [Theory] [InlineData("")] [InlineData("not-an-address")] public void Validate_Fails_When_BindAddress_Is_Invalid(string bindAddress) { var options = new AgentOptions { DataRoot = "C:\\ProgramData\\TermRemoteCtl", BindAddress = bindAddress, HttpsPort = 9443, WebSocketFrameFlushMilliseconds = 33, RingBufferLineLimit = 4000 }; var validator = new AgentOptionsValidator(); var result = validator.Validate("Agent", options); Assert.True(result.Failed); Assert.Contains(result.Failures, failure => failure.Contains("BindAddress")); } }