Files

32 lines
1.1 KiB
C#

using SGU.AuthBroker.Core.Identity;
using Xunit;
namespace SGU.AuthBroker.Core.Tests;
public sealed class UserIdentityClassifierTests
{
[Theory]
[InlineData("DO123456", "DO123456", InstitutionalRole.Professor)]
[InlineData("al000001", "AL000001", InstitutionalRole.Student)]
[InlineData("LCI\\AD654321", "AD654321", InstitutionalRole.Administrative)]
[InlineData("do123456@lci.lasalle.mx", "DO123456", InstitutionalRole.Professor)]
public void MapsPrefixesToExpectedRoles(string input, string expectedUserName, InstitutionalRole expectedRole)
{
Assert.True(UserIdentityClassifier.TryParse(input, out UserIdentity? identity));
Assert.NotNull(identity);
Assert.Equal(expectedUserName, identity.UserName);
Assert.Equal(expectedRole, identity.Role);
}
[Theory]
[InlineData("")]
[InlineData("XX123456")]
[InlineData("DO12345")]
[InlineData("AL1234567")]
[InlineData("AD12A456")]
public void RejectsUnknownOrMalformedUserNames(string input)
{
Assert.False(UserIdentityClassifier.TryParse(input, out _));
}
}