47 lines
1.2 KiB
C#
47 lines
1.2 KiB
C#
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"));
|
|
}
|
|
}
|