20 lines
800 B
C#
20 lines
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);
|
||
|
|
}
|
||
|
|
}
|