building-block-identity/tests/BuildingBlock.Identity.Contracts.UnitTests/ContractShapeTests.cs
2026-02-24 05:26:54 -06:00

37 lines
1.6 KiB
C#

using BuildingBlock.Identity.Contracts.Abstractions;
using BuildingBlock.Identity.Contracts.Conventions;
using BuildingBlock.Identity.Contracts.Requests;
using BuildingBlock.Identity.Contracts.Responses;
namespace BuildingBlock.Identity.Contracts.UnitTests;
public class ContractShapeTests
{
[Fact]
public void IdentityEnvelope_WhenCreated_PreservesValues()
{
var envelope = new IdentityContractEnvelope("1.0.0", "corr-identity-001");
Assert.Equal("1.0.0", envelope.ContractVersion);
Assert.Equal("corr-identity-001", envelope.CorrelationId);
}
[Fact]
public void IdentityContracts_WhenInstantiated_ImplementMarkerInterface()
{
IIdentityCapabilityContract issueRequest = new IssueIdentityTokenRequest("subject-a", "tenant-a");
IIdentityCapabilityContract issueResponse = new IssueIdentityTokenResponse("token-a", 1800);
IIdentityCapabilityContract policyRequest = new EvaluateIdentityPolicyRequest("subject-b", "tenant-b", "identity.token.issue");
IIdentityCapabilityContract policyResponse = new EvaluateIdentityPolicyResponse("subject-b", "identity.token.issue", true);
IIdentityCapabilityContract refreshRequest = new RefreshIdentitySessionRequest("refresh-a", "corr-refresh");
IIdentityCapabilityContract refreshResponse = new RefreshIdentitySessionResponse("token-b", 900);
Assert.NotNull(issueRequest);
Assert.NotNull(issueResponse);
Assert.NotNull(policyRequest);
Assert.NotNull(policyResponse);
Assert.NotNull(refreshRequest);
Assert.NotNull(refreshResponse);
}
}