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); } }