Refactor cookie name methods and update tests

Renamed and refactored methods in `CookieNames` to improve naming consistency and simplify usage. Added overloads with default `defaultCookieName` set to `"AuthToken"`. Updated XML documentation to reflect these changes.

Updated `CookieNamesTests` to use the new method names and signatures. Adjusted test cases to align with the new default behavior and ensure compatibility.

These changes enhance code readability, reduce redundancy, and standardize method naming conventions.
This commit is contained in:
2026-05-29 10:21:27 +02:00
parent f455241af1
commit 98fbbea5c3
2 changed files with 32 additions and 12 deletions

View File

@@ -16,13 +16,21 @@ namespace DigitalData.Auth.Claims
public static string GetEnvelopeReceiverCookieName(string defaultCookieName, string key) public static string GetEnvelopeReceiverCookieName(string defaultCookieName, string key)
=> defaultCookieName + ReceiverSuffix + key; => defaultCookieName + ReceiverSuffix + key;
/// <summary>
/// Builds the cookie name for an envelope receiver token.
/// </summary>
/// <param name="key">The unique envelope receiver key.</param>
/// <returns>A cookie name in the format <c>{defaultCookieName}SignFLOWReceiver.{key}</c>.</returns>
public static string GetEnvelopeReceiverCookieName(string key)
=> "AuthToken" + ReceiverSuffix + key;
/// <summary> /// <summary>
/// Extracts the envelope receiver key from a cookie name, or returns <see langword="null"/> if the cookie name does not match the expected format. /// Extracts the envelope receiver key from a cookie name, or returns <see langword="null"/> if the cookie name does not match the expected format.
/// </summary> /// </summary>
/// <param name="cookieName">The full cookie name in the format <c>{defaultCookieName}SignFLOWReceiver.{key}</c>.</param> /// <param name="cookieName">The full cookie name in the format <c>{defaultCookieName}SignFLOWReceiver.{key}</c>.</param>
/// <param name="defaultCookieName">The base cookie name configured in <c>AuthApiParams</c>.</param> /// <param name="defaultCookieName">The base cookie name configured in <c>AuthApiParams</c>.</param>
/// <returns>The envelope receiver key, or <see langword="null"/> if the cookie name does not match the expected format.</returns> /// <returns>The envelope receiver key, or <see langword="null"/> if the cookie name does not match the expected format.</returns>
public static string? GetEnvelopeReceiverKeyOrDefault(string cookieName, string defaultCookieName) public static string? GetEnvelopeKeyOrDefault(string cookieName, string defaultCookieName = "AuthToken")
{ {
var prefix = defaultCookieName + ReceiverSuffix; var prefix = defaultCookieName + ReceiverSuffix;
return cookieName.StartsWith(prefix, StringComparison.Ordinal) return cookieName.StartsWith(prefix, StringComparison.Ordinal)
@@ -31,15 +39,27 @@ namespace DigitalData.Auth.Claims
} }
/// <summary> /// <summary>
/// Tries to extract the envelope receiver key from a cookie name. /// Tries to extract the envelope key from a cookie name.
/// </summary> /// </summary>
/// <param name="cookieName">The full cookie name in the format <c>{defaultCookieName}SignFLOWReceiver.{key}</c>.</param> /// <param name="cookieName">The full cookie name in the format <c>{defaultCookieName}SignFLOWReceiver.{key}</c>.</param>
/// <param name="defaultCookieName">The base cookie name configured in <c>AuthApiParams</c>.</param> /// <param name="defaultCookieName">The base cookie name configured in <c>AuthApiParams</c>.</param>
/// <param name="key">The extracted envelope receiver key if the cookie name matches the expected format; otherwise <see langword="null"/>.</param> /// <param name="key">The extracted envelope key if the cookie name matches the expected format; otherwise <see langword="null"/>.</param>
/// <returns><see langword="true"/> if the key was successfully extracted; otherwise <see langword="false"/>.</returns> /// <returns><see langword="true"/> if the key was successfully extracted; otherwise <see langword="false"/>.</returns>
public static bool TryGetEnvelopeReceiverKey(string cookieName, string defaultCookieName, out string? key) public static bool TryGetEnvelopeKey(string cookieName, string defaultCookieName, out string? key)
{ {
key = GetEnvelopeReceiverKeyOrDefault(cookieName, defaultCookieName); key = GetEnvelopeKeyOrDefault(cookieName, defaultCookieName);
return key is not null;
}
/// <summary>
/// Tries to extract the envelope key from a cookie name.
/// </summary>
/// <param name="cookieName">The full cookie name in the format <c>{defaultCookieName}SignFLOWReceiver.{key}</c>.</param>
/// <param name="key">The extracted envelope key if the cookie name matches the expected format; otherwise <see langword="null"/>.</param>
/// <returns><see langword="true"/> if the key was successfully extracted; otherwise <see langword="false"/>.</returns>
public static bool TryGetEnvelopeKey(string cookieName, out string? key)
{
key = GetEnvelopeKeyOrDefault(cookieName, "AuthToken");
return key is not null; return key is not null;
} }
} }

View File

@@ -28,7 +28,7 @@ public class CookieNamesTests
var cookieName = CookieNames.GetEnvelopeReceiverCookieName(DefaultCookieName, Key); var cookieName = CookieNames.GetEnvelopeReceiverCookieName(DefaultCookieName, Key);
// Act // Act
var result = CookieNames.GetEnvelopeReceiverKeyOrDefault(cookieName, DefaultCookieName); var result = CookieNames.GetEnvelopeKeyOrDefault(cookieName, DefaultCookieName);
// Assert // Assert
Assert.That(result, Is.EqualTo(Key)); Assert.That(result, Is.EqualTo(Key));
@@ -41,7 +41,7 @@ public class CookieNamesTests
var cookieName = CookieNames.GetEnvelopeReceiverCookieName("OtherCookie", Key); var cookieName = CookieNames.GetEnvelopeReceiverCookieName("OtherCookie", Key);
// Act // Act
var result = CookieNames.GetEnvelopeReceiverKeyOrDefault(cookieName, DefaultCookieName); var result = CookieNames.GetEnvelopeKeyOrDefault(cookieName, DefaultCookieName);
// Assert // Assert
Assert.That(result, Is.Null); Assert.That(result, Is.Null);
@@ -51,7 +51,7 @@ public class CookieNamesTests
public void GetEnvelopeReceiverKeyOrDefault_ShouldReturnNull_WhenCookieNameIsUnrelated() public void GetEnvelopeReceiverKeyOrDefault_ShouldReturnNull_WhenCookieNameIsUnrelated()
{ {
// Act // Act
var result = CookieNames.GetEnvelopeReceiverKeyOrDefault("SomeOtherCookie", DefaultCookieName); var result = CookieNames.GetEnvelopeKeyOrDefault("SomeOtherCookie", DefaultCookieName);
// Assert // Assert
Assert.That(result, Is.Null); Assert.That(result, Is.Null);
@@ -64,7 +64,7 @@ public class CookieNamesTests
var cookieName = CookieNames.GetEnvelopeReceiverCookieName(DefaultCookieName, Key); var cookieName = CookieNames.GetEnvelopeReceiverCookieName(DefaultCookieName, Key);
// Act // Act
var success = CookieNames.TryGetEnvelopeReceiverKey(cookieName, DefaultCookieName, out var key); var success = CookieNames.TryGetEnvelopeKey(cookieName, DefaultCookieName, out var key);
// Assert // Assert
Assert.Multiple(() => Assert.Multiple(() =>
@@ -81,7 +81,7 @@ public class CookieNamesTests
var cookieName = CookieNames.GetEnvelopeReceiverCookieName("OtherCookie", Key); var cookieName = CookieNames.GetEnvelopeReceiverCookieName("OtherCookie", Key);
// Act // Act
var success = CookieNames.TryGetEnvelopeReceiverKey(cookieName, DefaultCookieName, out var key); var success = CookieNames.TryGetEnvelopeKey(cookieName, DefaultCookieName, out var key);
// Assert // Assert
Assert.Multiple(() => Assert.Multiple(() =>
@@ -95,7 +95,7 @@ public class CookieNamesTests
public void TryGetEnvelopeReceiverKey_ShouldReturnFalse_WhenCookieNameIsUnrelated() public void TryGetEnvelopeReceiverKey_ShouldReturnFalse_WhenCookieNameIsUnrelated()
{ {
// Act // Act
var success = CookieNames.TryGetEnvelopeReceiverKey("SomeOtherCookie", DefaultCookieName, out var key); var success = CookieNames.TryGetEnvelopeKey("SomeOtherCookie", DefaultCookieName, out var key);
// Assert // Assert
Assert.Multiple(() => Assert.Multiple(() =>
@@ -112,7 +112,7 @@ public class CookieNamesTests
var cookieName = CookieNames.GetEnvelopeReceiverCookieName(DefaultCookieName, Key); var cookieName = CookieNames.GetEnvelopeReceiverCookieName(DefaultCookieName, Key);
// Act // Act
var extractedKey = CookieNames.GetEnvelopeReceiverKeyOrDefault(cookieName, DefaultCookieName); var extractedKey = CookieNames.GetEnvelopeKeyOrDefault(cookieName, DefaultCookieName);
// Assert // Assert
Assert.That(extractedKey, Is.EqualTo(Key)); Assert.That(extractedKey, Is.EqualTo(Key));