thalos-bff/tests/Thalos.Bff.Application.UnitTests/ContractShapeTests.cs
José René White Enciso 56510de55e feat(thalos-bff): add canonical session endpoints
Why: standardize session login/refresh/logout/me behavior for web clients behind thalos security boundaries.

What: add canonical routes, cookie policy handling, grpc session calls, compatibility aliases, standardized auth errors, updated contracts, tests, and docs.

Rule: keep BFF as edge adapter over service contracts and preserve identity ownership in thalos.
2026-03-08 14:48:46 -06:00

43 lines
1.6 KiB
C#

using Core.Blueprint.Common.Contracts;
using BuildingBlock.Identity.Contracts.Conventions;
using Thalos.Bff.Contracts.Api;
using Thalos.Bff.Contracts.Conventions;
namespace Thalos.Bff.Application.UnitTests;
public class ContractShapeTests
{
[Fact]
public void IssueTokenApiRequest_WhenCreated_StoresCorrelationId()
{
var request = new IssueTokenApiRequest("user-1", "tenant-1", "corr-123");
Assert.Equal("user-1", request.SubjectId);
Assert.Equal("tenant-1", request.TenantId);
Assert.Equal("corr-123", request.CorrelationId);
Assert.Equal(IdentityAuthProvider.InternalJwt, request.Provider);
}
[Fact]
public void SessionLoginApiRequest_WhenCreated_UsesProviderDefault()
{
var request = new SessionLoginApiRequest("user-2", "tenant-2", "corr-456");
Assert.Equal("user-2", request.SubjectId);
Assert.Equal("tenant-2", request.TenantId);
Assert.Equal("corr-456", request.CorrelationId);
Assert.Equal(IdentityAuthProvider.InternalJwt, request.Provider);
}
[Fact]
public void ThalosBffPackageContract_WhenCreated_UsesBlueprintDescriptorContract()
{
IBlueprintPackageContract contract = new ThalosBffPackageContract();
Assert.Equal("Thalos.Bff.Contracts", contract.Descriptor.PackageId);
Assert.Equal(PackageVersionPolicy.Minor, contract.Descriptor.VersionPolicy);
Assert.Contains("Core.Blueprint.Common", contract.Descriptor.DependencyPackageIds);
Assert.Contains("BuildingBlock.Identity.Contracts", contract.Descriptor.DependencyPackageIds);
}
}