41 lines
1.1 KiB
C#
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"));
|
|
}
|
|
}
|