Add unit tests for CookieNames class functionality
Added a new `CookieNamesTests` class to validate methods in the `CookieNames` class, including scenarios for generating and extracting cookie names and keys. Tests cover valid, invalid, and unrelated cookie names, as well as round-trip validation of `GetEnvelopeReceiverCookieName` and `GetEnvelopeReceiverKeyOrDefault`. Updated `DigitalData.Auth.Tests.csproj` to include a project reference to `DigitalData.Auth.Claims` for testing purposes.
This commit is contained in:
120
DigitalData.Auth.Tests/Claims/CookieNamesTests.cs
Normal file
120
DigitalData.Auth.Tests/Claims/CookieNamesTests.cs
Normal file
@@ -0,0 +1,120 @@
|
||||
using DigitalData.Auth.Claims;
|
||||
|
||||
namespace DigitalData.Auth.Tests.Claims;
|
||||
|
||||
[TestFixture]
|
||||
public class CookieNamesTests
|
||||
{
|
||||
private const string DefaultCookieName = "AuthToken";
|
||||
private const string Key = "NTE3YmI5YzUtNjA4Mi00ZTYxLWFhYTUtOTg0NjM4";
|
||||
|
||||
[Test]
|
||||
public void GetEnvelopeReceiverCookieName_ShouldReturnCorrectFormat()
|
||||
{
|
||||
// Arrange
|
||||
var expected = $"{DefaultCookieName}SignFLOWReceiver.{Key}";
|
||||
|
||||
// Act
|
||||
var result = CookieNames.GetEnvelopeReceiverCookieName(DefaultCookieName, Key);
|
||||
|
||||
// Assert
|
||||
Assert.That(result, Is.EqualTo(expected));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void GetEnvelopeReceiverKeyOrDefault_ShouldReturnKey_WhenCookieNameIsValid()
|
||||
{
|
||||
// Arrange
|
||||
var cookieName = CookieNames.GetEnvelopeReceiverCookieName(DefaultCookieName, Key);
|
||||
|
||||
// Act
|
||||
var result = CookieNames.GetEnvelopeReceiverKeyOrDefault(cookieName, DefaultCookieName);
|
||||
|
||||
// Assert
|
||||
Assert.That(result, Is.EqualTo(Key));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void GetEnvelopeReceiverKeyOrDefault_ShouldReturnNull_WhenCookieNameHasWrongBase()
|
||||
{
|
||||
// Arrange
|
||||
var cookieName = CookieNames.GetEnvelopeReceiverCookieName("OtherCookie", Key);
|
||||
|
||||
// Act
|
||||
var result = CookieNames.GetEnvelopeReceiverKeyOrDefault(cookieName, DefaultCookieName);
|
||||
|
||||
// Assert
|
||||
Assert.That(result, Is.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void GetEnvelopeReceiverKeyOrDefault_ShouldReturnNull_WhenCookieNameIsUnrelated()
|
||||
{
|
||||
// Act
|
||||
var result = CookieNames.GetEnvelopeReceiverKeyOrDefault("SomeOtherCookie", DefaultCookieName);
|
||||
|
||||
// Assert
|
||||
Assert.That(result, Is.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TryGetEnvelopeReceiverKey_ShouldReturnTrueAndKey_WhenCookieNameIsValid()
|
||||
{
|
||||
// Arrange
|
||||
var cookieName = CookieNames.GetEnvelopeReceiverCookieName(DefaultCookieName, Key);
|
||||
|
||||
// Act
|
||||
var success = CookieNames.TryGetEnvelopeReceiverKey(cookieName, DefaultCookieName, out var key);
|
||||
|
||||
// Assert
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(success, Is.True);
|
||||
Assert.That(key, Is.EqualTo(Key));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TryGetEnvelopeReceiverKey_ShouldReturnFalse_WhenCookieNameHasWrongBase()
|
||||
{
|
||||
// Arrange
|
||||
var cookieName = CookieNames.GetEnvelopeReceiverCookieName("OtherCookie", Key);
|
||||
|
||||
// Act
|
||||
var success = CookieNames.TryGetEnvelopeReceiverKey(cookieName, DefaultCookieName, out var key);
|
||||
|
||||
// Assert
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(success, Is.False);
|
||||
Assert.That(key, Is.Null);
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TryGetEnvelopeReceiverKey_ShouldReturnFalse_WhenCookieNameIsUnrelated()
|
||||
{
|
||||
// Act
|
||||
var success = CookieNames.TryGetEnvelopeReceiverKey("SomeOtherCookie", DefaultCookieName, out var key);
|
||||
|
||||
// Assert
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(success, Is.False);
|
||||
Assert.That(key, Is.Null);
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void GetAndGetOrDefault_ShouldBeInverse_RoundTrip()
|
||||
{
|
||||
// Arrange
|
||||
var cookieName = CookieNames.GetEnvelopeReceiverCookieName(DefaultCookieName, Key);
|
||||
|
||||
// Act
|
||||
var extractedKey = CookieNames.GetEnvelopeReceiverKeyOrDefault(cookieName, DefaultCookieName);
|
||||
|
||||
// Assert
|
||||
Assert.That(extractedKey, Is.EqualTo(Key));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user