86 lines
2.2 KiB
C#
86 lines
2.2 KiB
C#
using Omika.Data.Configuration;
|
|
using Omika.Data.Connection;
|
|
|
|
namespace Omika.Tests.Connection;
|
|
|
|
public class HfsqlOdbcConnectionStringBuilderTests
|
|
{
|
|
private static HfsqlOptions CreateOptions() => new()
|
|
{
|
|
Driver = "HFSQL Client/Server",
|
|
Server = "hfsql-serveur",
|
|
Port = 4900,
|
|
DatabaseName = "Omika",
|
|
Login = "tech",
|
|
Password = "secret"
|
|
};
|
|
|
|
[Fact]
|
|
public void Build_ContainsDriver()
|
|
{
|
|
var connectionString = HfsqlOdbcConnectionStringBuilder.Build(CreateOptions());
|
|
|
|
Assert.Contains("HFSQL Client/Server", connectionString);
|
|
}
|
|
|
|
[Fact]
|
|
public void Build_ContainsServer()
|
|
{
|
|
var connectionString = HfsqlOdbcConnectionStringBuilder.Build(CreateOptions());
|
|
|
|
Assert.Contains("hfsql-serveur", connectionString);
|
|
}
|
|
|
|
[Fact]
|
|
public void Build_ContainsPort()
|
|
{
|
|
var connectionString = HfsqlOdbcConnectionStringBuilder.Build(CreateOptions());
|
|
|
|
Assert.Contains("4900", connectionString);
|
|
}
|
|
|
|
[Fact]
|
|
public void Build_ContainsDatabase()
|
|
{
|
|
var connectionString = HfsqlOdbcConnectionStringBuilder.Build(CreateOptions());
|
|
|
|
Assert.Contains("Omika", connectionString);
|
|
}
|
|
|
|
[Fact]
|
|
public void Build_ContainsLogin()
|
|
{
|
|
var connectionString = HfsqlOdbcConnectionStringBuilder.Build(CreateOptions());
|
|
|
|
Assert.Contains("tech", connectionString);
|
|
}
|
|
|
|
[Fact]
|
|
public void Build_ContainsPassword()
|
|
{
|
|
// Le mot de passe est transmis au provider via la chaîne de connexion.
|
|
var connectionString = HfsqlOdbcConnectionStringBuilder.Build(CreateOptions());
|
|
|
|
Assert.Contains("secret", connectionString);
|
|
}
|
|
|
|
[Fact]
|
|
public void Build_OmitsLoginAndPasswordWhenAbsent()
|
|
{
|
|
var options = CreateOptions();
|
|
options.Login = null;
|
|
options.Password = null;
|
|
|
|
var connectionString = HfsqlOdbcConnectionStringBuilder.Build(options);
|
|
|
|
Assert.DoesNotContain("UID", connectionString);
|
|
Assert.DoesNotContain("PWD", connectionString);
|
|
}
|
|
|
|
[Fact]
|
|
public void Build_NullOptions_Throws()
|
|
{
|
|
Assert.Throws<ArgumentNullException>(() => HfsqlOdbcConnectionStringBuilder.Build(null!));
|
|
}
|
|
}
|