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,104 @@
using Omika.Data.HfSql.Connection;
namespace Omika.Tests.Connection;
public class HfSqlOleDbConnectionStringBuilderTests
{
private static HfSqlConnectionOptions CreateOptions() => new()
{
Server = "hfsql-serveur",
Port = 4900,
Database = "Omika",
User = "tech",
Credential = "secret"
};
[Fact]
public void Build_ContainsProvider()
{
var connectionString = HfSqlOleDbConnectionStringBuilder.Build(CreateOptions());
Assert.Contains("PCSOFT.HFSQL", connectionString);
}
[Fact]
public void Build_ContainsServerAndPort()
{
var connectionString = HfSqlOleDbConnectionStringBuilder.Build(CreateOptions());
Assert.Contains("hfsql-serveur:4900", connectionString);
}
[Fact]
public void Build_ContainsDatabase()
{
var connectionString = HfSqlOleDbConnectionStringBuilder.Build(CreateOptions());
Assert.Contains("Omika", connectionString);
}
[Fact]
public void Build_ContainsUser()
{
var connectionString = HfSqlOleDbConnectionStringBuilder.Build(CreateOptions());
Assert.Contains("tech", connectionString);
}
[Fact]
public void Build_ContainsCredential()
{
var connectionString = HfSqlOleDbConnectionStringBuilder.Build(CreateOptions());
Assert.Contains("secret", connectionString);
}
[Fact]
public void Build_OmitsExtendedPropertiesWhenNull()
{
var connectionString = HfSqlOleDbConnectionStringBuilder.Build(CreateOptions());
Assert.DoesNotContain("Extended Properties", connectionString);
}
[Fact]
public void Build_IncludesExtendedPropertiesWhenProvided()
{
var connectionString = HfSqlOleDbConnectionStringBuilder.Build(
CreateOptions(),
"Password=Client:abc123");
Assert.Contains("Extended Properties", connectionString);
Assert.Contains("Password=Client:abc123", connectionString);
}
[Fact]
public void Build_NullOptions_Throws()
{
Assert.Throws<ArgumentNullException>(() => HfSqlOleDbConnectionStringBuilder.Build(null!));
}
[Fact]
public void EscapeExtendedPropertyValue_EscapesSpecialCharacters()
{
var escaped = HfSqlOleDbConnectionStringBuilder.EscapeExtendedPropertyValue("a=b;c:d\\e");
Assert.Equal("a\\=b\\;c\\:d\\\\e", escaped);
}
[Fact]
public void BuildFilePasswordEntry_DoesNotEscapeStructuralColon()
{
var entry = HfSqlOleDbConnectionStringBuilder.BuildFilePasswordEntry("Client", "abc123");
Assert.Equal("Password=Client:abc123", entry);
}
[Fact]
public void BuildFilePasswordEntry_EscapesFilenameAndPasswordIndividually()
{
var entry = HfSqlOleDbConnectionStringBuilder.BuildFilePasswordEntry("a=b", "c;d");
Assert.Equal("Password=a\\=b:c\\;d", entry);
}
}