Add SGU credential provider and authentication broker

This commit is contained in:
2026-08-31 17:48:18 -06:00
parent 5e216f42a4
commit 1f43f200b4
50 changed files with 3226 additions and 236 deletions
@@ -0,0 +1,31 @@
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 _));
}
}