thalos-dal/tests/Thalos.DAL.UnitTests/ContractShapeTests.cs
2026-02-25 13:13:56 -06:00

47 lines
2.0 KiB
C#

using Core.Blueprint.Common.Contracts;
using Thalos.DAL.Contracts;
namespace Thalos.DAL.UnitTests;
public class ContractShapeTests
{
[Fact]
public void IdentityPolicyLookupRequest_WhenCreated_StoresTransportNeutralData()
{
var envelope = new IdentityContractEnvelope("1.0.0", "corr-123");
var request = new IdentityPolicyLookupRequest(envelope, "user-1", "tenant-1", "identity.token.issue");
Assert.Equal("1.0.0", request.Envelope.ContractVersion);
Assert.Equal("corr-123", request.Envelope.CorrelationId);
Assert.Equal("user-1", request.SubjectId);
Assert.Equal("tenant-1", request.TenantId);
Assert.Equal("identity.token.issue", request.PermissionCode);
Assert.Equal(BuildingBlock.Identity.Contracts.Conventions.IdentityAuthProvider.InternalJwt, request.Provider);
}
[Fact]
public void IdentityTokenRecord_WhenCreated_StoresTransportNeutralData()
{
var envelope = new IdentityContractEnvelope("1.0.0", "corr-123");
var record = new IdentityTokenRecord(envelope, "user-1", "tenant-1", "token-xyz", 1800);
Assert.Equal("1.0.0", record.Envelope.ContractVersion);
Assert.Equal("corr-123", record.Envelope.CorrelationId);
Assert.Equal("user-1", record.SubjectId);
Assert.Equal("tenant-1", record.TenantId);
Assert.Equal("token-xyz", record.Token);
Assert.Equal(1800, record.ExpiresInSeconds);
Assert.Equal(BuildingBlock.Identity.Contracts.Conventions.IdentityAuthProvider.InternalJwt, record.Provider);
}
[Fact]
public void ThalosDalPackageContract_WhenCreated_UsesBlueprintDescriptorContract()
{
IBlueprintPackageContract contract = new ThalosDalPackageContract();
Assert.Equal("Thalos.DAL.Contracts", contract.Descriptor.PackageId);
Assert.Equal(PackageVersionPolicy.Minor, contract.Descriptor.VersionPolicy);
Assert.Contains("Core.Blueprint.Common", contract.Descriptor.DependencyPackageIds);
}
}