Files
Omika/tests/Omika.Tests/HfsqlOptionsValidatorTests.cs
2026-10-23 18:46:50 +02:00

71 lines
2.1 KiB
C#

using Omika.Data.Configuration;
namespace Omika.Tests;
public class HfsqlOptionsValidatorTests
{
[Fact]
public void Validate_ValidOptions_ReturnsSuccess()
{
var options = HfsqlOptionsValidator.CreateDefault();
options.Server = "hfsql-serveur";
options.DatabaseName = "Omika";
var result = HfsqlOptionsValidator.Validate(options);
Assert.True(result.IsSuccess);
}
[Fact]
public void Validate_MissingServer_ReturnsFailure()
{
var options = HfsqlOptionsValidator.CreateDefault();
options.Server = null;
options.DatabaseName = "Omika";
var result = HfsqlOptionsValidator.Validate(options);
Assert.True(result.IsFailure);
Assert.Contains(result.Errors, e => e.Contains("serveur", StringComparison.OrdinalIgnoreCase));
}
[Fact]
public void Validate_MissingDatabaseName_ReturnsFailure()
{
var options = HfsqlOptionsValidator.CreateDefault();
options.Server = "hfsql-serveur";
options.DatabaseName = null;
var result = HfsqlOptionsValidator.Validate(options);
Assert.True(result.IsFailure);
Assert.Contains(result.Errors, e => e.Contains("base", StringComparison.OrdinalIgnoreCase));
}
[Theory]
[InlineData(0)]
[InlineData(-1)]
[InlineData(65536)]
public void Validate_InvalidPort_ReturnsFailure(int port)
{
var options = HfsqlOptionsValidator.CreateDefault();
options.Server = "hfsql-serveur";
options.DatabaseName = "Omika";
options.Port = port;
var result = HfsqlOptionsValidator.Validate(options);
Assert.True(result.IsFailure);
Assert.Contains(result.Errors, e => e.Contains("port", StringComparison.OrdinalIgnoreCase));
}
[Fact]
public void CreateDefault_UsesLegacyConnectionName()
{
var options = HfsqlOptionsValidator.CreateDefault();
Assert.Equal(Omika.Core.Constants.DatabaseConstants.LegacyConnectionName, options.ConnectionName);
Assert.Equal(Omika.Core.Constants.DatabaseConstants.DefaultHfsqlServerPort, options.Port);
}
}