45 lines
1.3 KiB
C#
45 lines
1.3 KiB
C#
namespace MxGateway.Client.Tests;
|
|
|
|
public sealed class MxGatewayClientOptionsTests
|
|
{
|
|
/// <summary>Verifies that options with valid endpoint and API key pass validation.</summary>
|
|
[Fact]
|
|
public void Validate_WithAbsoluteEndpointAndApiKey_Succeeds()
|
|
{
|
|
var options = new MxGatewayClientOptions
|
|
{
|
|
Endpoint = new Uri("http://localhost:5000"),
|
|
ApiKey = "test-api-key",
|
|
};
|
|
|
|
options.Validate();
|
|
}
|
|
|
|
/// <summary>Verifies that empty API key causes validation to fail.</summary>
|
|
[Fact]
|
|
public void Validate_WithEmptyApiKey_Throws()
|
|
{
|
|
var options = new MxGatewayClientOptions
|
|
{
|
|
Endpoint = new Uri("http://localhost:5000"),
|
|
ApiKey = "",
|
|
};
|
|
|
|
Assert.Throws<ArgumentException>(options.Validate);
|
|
}
|
|
|
|
/// <summary>Verifies that invalid retry options cause validation to fail.</summary>
|
|
[Fact]
|
|
public void Validate_WithInvalidRetryOptions_Throws()
|
|
{
|
|
var options = new MxGatewayClientOptions
|
|
{
|
|
Endpoint = new Uri("http://localhost:5000"),
|
|
ApiKey = "test-api-key",
|
|
Retry = new MxGatewayClientRetryOptions { MaxAttempts = 0 },
|
|
};
|
|
|
|
Assert.Throws<ArgumentOutOfRangeException>(options.Validate);
|
|
}
|
|
}
|