Premiere commit - Omika
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user