mishima-nexus-client-csharp/tests/Robotico.Nexus.Client.Tests/NexusCallMetadataTests.cs

41 lines
1.1 KiB
C#

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"));
}
}