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,61 @@
using Omika.Core.Compatibility;
namespace Omika.Tests.Compatibility;
/// <summary>
/// Tests de <see cref="LegacyEntityReference"/> : conservation de la provenance
/// (Batik / Omika) sans exposer les noms HFSQL, et identifiant public stable.
/// </summary>
public class LegacyEntityReferenceTests
{
[Fact]
public void FromLegacyId_IsBatikAndKeepsNumericId()
{
var reference = LegacyEntityReference.FromLegacyId(42);
Assert.Equal(DatabaseSchemaVersion.Batik, reference.Source);
Assert.Equal(42, reference.NumericId);
Assert.Equal("42", reference.PublicIdentifier);
}
[Fact]
public void FromGuid_KeepsEntityGuidAndSchemaVersion()
{
var guid = Guid.NewGuid();
var reference = LegacyEntityReference.FromGuid(DatabaseSchemaVersion.Omika, guid);
Assert.Equal(DatabaseSchemaVersion.Omika, reference.Source);
Assert.Equal(guid, reference.EntityGuid);
Assert.Equal(guid.ToString("D"), reference.PublicIdentifier);
}
[Fact]
public void FromBusinessKey_UsesBusinessKey()
{
var reference = LegacyEntityReference.FromBusinessKey("BK-2026-01");
Assert.Equal("BK-2026-01", reference.BusinessKey);
Assert.Equal("BK-2026-01", reference.PublicIdentifier);
}
[Fact]
public void PhysicalGuid_IsNotInterpretedAsGuid()
{
var reference = new LegacyEntityReference(DatabaseSchemaVersion.Batik, PhysicalGuid: "1A2B-étrange");
Assert.Equal(DatabaseSchemaVersion.Batik, reference.Source);
Assert.Null(reference.EntityGuid);
Assert.Equal("1A2B-étrange", reference.PhysicalGuid);
}
[Fact]
public void Reference_DoesNotCarryConnectionSecret()
{
var reference = LegacyEntityReference.FromLegacyId(7);
var publicProperties = reference.GetType().GetProperties();
Assert.DoesNotContain(publicProperties, p => p.Name.Contains("Password", StringComparison.Ordinal));
Assert.DoesNotContain(publicProperties, p => p.Name.Contains("ConnectionString", StringComparison.Ordinal));
Assert.DoesNotContain(publicProperties, p => p.Name.Contains("MotDePasse", StringComparison.Ordinal));
}
}