Refactored and renamed several test methods in `CookieNamesTests` to improve clarity and align with updated functionality. Replaced methods testing `GetEnvelopeReceiverKeyOrDefault` with new methods for `GetEnvelopeReceiverCookieName` and `GetEnvelopeKeyOrDefault`. Added new tests to validate behavior with default cookie names and incorrect bases. Renamed `TryGetEnvelopeReceiverKey` methods to `TryGetEnvelopeKey` for consistency, while maintaining their functionality.
181 lines
5.0 KiB
C#
181 lines
5.0 KiB
C#
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 GetEnvelopeReceiverCookieName_WithKeyOnly_ShouldUseDefaultCookieName()
|
|
{
|
|
// Arrange
|
|
var expected = $"{DefaultCookieName}SignFLOWReceiver.{Key}";
|
|
|
|
// Act
|
|
var result = CookieNames.GetEnvelopeReceiverCookieName(Key);
|
|
|
|
// Assert
|
|
Assert.That(result, Is.EqualTo(expected));
|
|
}
|
|
|
|
[Test]
|
|
public void GetEnvelopeKeyOrDefault_ShouldReturnKey_WhenCookieNameIsValid()
|
|
{
|
|
// Arrange
|
|
var cookieName = CookieNames.GetEnvelopeReceiverCookieName(DefaultCookieName, Key);
|
|
|
|
// Act
|
|
var result = CookieNames.GetEnvelopeKeyOrDefault(cookieName, DefaultCookieName);
|
|
|
|
// Assert
|
|
Assert.That(result, Is.EqualTo(Key));
|
|
}
|
|
|
|
[Test]
|
|
public void GetEnvelopeKeyOrDefault_WithDefaultParam_ShouldReturnKey_WhenCookieUsesDefaultBase()
|
|
{
|
|
// Arrange
|
|
var cookieName = CookieNames.GetEnvelopeReceiverCookieName(Key); // uses "AuthToken" base
|
|
|
|
// Act
|
|
var result = CookieNames.GetEnvelopeKeyOrDefault(cookieName); // defaultCookieName = "AuthToken"
|
|
|
|
// Assert
|
|
Assert.That(result, Is.EqualTo(Key));
|
|
}
|
|
|
|
[Test]
|
|
public void GetEnvelopeKeyOrDefault_ShouldReturnNull_WhenCookieNameHasWrongBase()
|
|
{
|
|
// Arrange
|
|
var cookieName = CookieNames.GetEnvelopeReceiverCookieName("OtherCookie", Key);
|
|
|
|
// Act
|
|
var result = CookieNames.GetEnvelopeKeyOrDefault(cookieName, DefaultCookieName);
|
|
|
|
// Assert
|
|
Assert.That(result, Is.Null);
|
|
}
|
|
|
|
[Test]
|
|
public void GetEnvelopeKeyOrDefault_ShouldReturnNull_WhenCookieNameIsUnrelated()
|
|
{
|
|
// Act
|
|
var result = CookieNames.GetEnvelopeKeyOrDefault("SomeOtherCookie", DefaultCookieName);
|
|
|
|
// Assert
|
|
Assert.That(result, Is.Null);
|
|
}
|
|
|
|
[Test]
|
|
public void TryGetEnvelopeKey_WithDefaultCookieName_ShouldReturnTrueAndKey_WhenCookieNameIsValid()
|
|
{
|
|
// Arrange
|
|
var cookieName = CookieNames.GetEnvelopeReceiverCookieName(Key); // uses "AuthToken" base
|
|
|
|
// Act
|
|
var success = CookieNames.TryGetEnvelopeKey(cookieName, out var key);
|
|
|
|
// Assert
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(success, Is.True);
|
|
Assert.That(key, Is.EqualTo(Key));
|
|
});
|
|
}
|
|
|
|
[Test]
|
|
public void TryGetEnvelopeKey_WithDefaultCookieName_ShouldReturnFalse_WhenCookieNameHasWrongBase()
|
|
{
|
|
// Arrange
|
|
var cookieName = CookieNames.GetEnvelopeReceiverCookieName("OtherCookie", Key);
|
|
|
|
// Act
|
|
var success = CookieNames.TryGetEnvelopeKey(cookieName, out var key);
|
|
|
|
// Assert
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(success, Is.False);
|
|
Assert.That(key, Is.Null);
|
|
});
|
|
}
|
|
|
|
[Test]
|
|
public void TryGetEnvelopeKey_ShouldReturnTrueAndKey_WhenCookieNameIsValid()
|
|
{
|
|
// Arrange
|
|
var cookieName = CookieNames.GetEnvelopeReceiverCookieName(DefaultCookieName, Key);
|
|
|
|
// Act
|
|
var success = CookieNames.TryGetEnvelopeKey(cookieName, DefaultCookieName, out var key);
|
|
|
|
// Assert
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(success, Is.True);
|
|
Assert.That(key, Is.EqualTo(Key));
|
|
});
|
|
}
|
|
|
|
[Test]
|
|
public void TryGetEnvelopeKey_ShouldReturnFalse_WhenCookieNameHasWrongBase()
|
|
{
|
|
// Arrange
|
|
var cookieName = CookieNames.GetEnvelopeReceiverCookieName("OtherCookie", Key);
|
|
|
|
// Act
|
|
var success = CookieNames.TryGetEnvelopeKey(cookieName, DefaultCookieName, out var key);
|
|
|
|
// Assert
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(success, Is.False);
|
|
Assert.That(key, Is.Null);
|
|
});
|
|
}
|
|
|
|
[Test]
|
|
public void TryGetEnvelopeKey_ShouldReturnFalse_WhenCookieNameIsUnrelated()
|
|
{
|
|
// Act
|
|
var success = CookieNames.TryGetEnvelopeKey("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.GetEnvelopeKeyOrDefault(cookieName, DefaultCookieName);
|
|
|
|
// Assert
|
|
Assert.That(extractedKey, Is.EqualTo(Key));
|
|
}
|
|
}
|