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); } }