Premiere commit - Omika

This commit is contained in:
2026-10-23 18:46:50 +02:00
commit 8ea76c1b24
2155 changed files with 984301 additions and 0 deletions
@@ -0,0 +1,87 @@
using Microsoft.Extensions.Options;
using Omika.Data.Configuration;
namespace Omika.Tests.Connection;
public class HfsqlOptionsValidatorTests
{
private static HfsqlOptions CreateValidOptions() => new()
{
Driver = "HFSQL Client/Server",
Server = "hfsql-serveur",
Port = 4900,
DatabaseName = "Omika",
ConnectionName = "ConnexionLocale"
};
[Fact]
public void Validate_ValidOptions_ReturnsSuccess()
{
var result = HfsqlOptionsValidator.Validate(CreateValidOptions());
Assert.True(result.IsSuccess);
}
[Fact]
public void Validate_MissingDriver_ReturnsFailure()
{
var options = CreateValidOptions();
options.Driver = null!;
var result = HfsqlOptionsValidator.Validate(options);
Assert.True(result.IsFailure);
Assert.Contains(result.Errors, e => e.Contains("driver", StringComparison.OrdinalIgnoreCase));
}
[Fact]
public void Validate_InvalidTimeout_ReturnsFailure()
{
var options = CreateValidOptions();
options.ConnectionTimeoutSeconds = 0;
var result = HfsqlOptionsValidator.Validate(options);
Assert.True(result.IsFailure);
Assert.Contains(result.Errors, e => e.Contains("délai", StringComparison.OrdinalIgnoreCase));
}
[Fact]
public void Validate_ImplementsIValidateOptions()
{
var validator = new HfsqlOptionsValidator();
Assert.IsAssignableFrom<IValidateOptions<HfsqlOptions>>(validator);
}
[Fact]
public void ValidateOptions_Valid_ReturnsSuccess()
{
IValidateOptions<HfsqlOptions> validator = new HfsqlOptionsValidator();
var result = validator.Validate(null, CreateValidOptions());
Assert.Equal(ValidateOptionsResult.Success, result);
}
[Fact]
public void ValidateOptions_Invalid_ReturnsFailure()
{
IValidateOptions<HfsqlOptions> validator = new HfsqlOptionsValidator();
var options = CreateValidOptions();
options.Server = null;
var result = validator.Validate(null, options);
Assert.True(result.Failed);
Assert.Contains(result.Failures, e => e.Contains("serveur", StringComparison.OrdinalIgnoreCase));
}
[Fact]
public void CreateDefault_ProvidesDriver()
{
var options = HfsqlOptionsValidator.CreateDefault();
Assert.Equal(HfsqlOptions.DefaultOdbcDriver, options.Driver);
}
}