using Grpc.Core; using Xunit; namespace Robotico.Nexus.Client.Tests; public class NexusCallMetadataTests { [Fact] public void Build_Sets_DatabaseHeader_Only_WhenNoBearerToken() { Metadata metadata = NexusCallMetadata.Build("pathways", null); Assert.Equal("pathways", metadata.GetValue(NexusCallMetadata.DatabaseKey)); Assert.Null(metadata.GetValue("Authorization")); } [Fact] public void Build_Sets_DatabaseHeader_And_BlankBearerToken_IsIgnored() { Metadata metadata = NexusCallMetadata.Build("pathways", " "); Assert.Null(metadata.GetValue("Authorization")); } [Fact] public void Build_Adds_BearerPrefix_WhenMissing() { Metadata metadata = NexusCallMetadata.Build("pathways", "abc123"); Assert.Equal("Bearer abc123", metadata.GetValue("Authorization")); } [Fact] public void Build_DoesNotDuplicate_BearerPrefix_WhenAlreadyPresent() { Metadata metadata = NexusCallMetadata.Build("pathways", "Bearer abc123"); Assert.Equal("Bearer abc123", metadata.GetValue("Authorization")); } }