20 lines
No EOL
800 B
C#
20 lines
No EOL
800 B
C#
using IdentityShroud.Api.Helpers;
|
|
|
|
namespace IdentityShroud.Api.Tests;
|
|
|
|
public class HeaderHelpersTests
|
|
{
|
|
[Theory]
|
|
[InlineData("Basic dXNlcjpzZWNyZXQ=", true, "user", "secret")]
|
|
[InlineData("baSIC dXNlcjpzZWNyZXQ=", true, "user", "secret")]
|
|
[InlineData("Basic dXNlcnNlY3JldA==", false, null, null)] // no colon to seperate user and password
|
|
[InlineData("Bearer dXNlcjpzZWNyZXQ=", false, null, null)]
|
|
public void TryDecodeBasicAuth(string input, bool expectedResult, string? expectedUser, string? expectedPassword)
|
|
{
|
|
var result = HeaderHelpers.TryDecodeBasicAuth(input, out string? user, out string? password);
|
|
|
|
Assert.Equal(expectedResult, result);
|
|
Assert.Equal(expectedUser, user);
|
|
Assert.Equal(expectedPassword, password);
|
|
}
|
|
} |