48 lines
1.3 KiB
C#
48 lines
1.3 KiB
C#
using ZB.MOM.WW.Auth.Ldap.Internal;
|
|
|
|
namespace ZB.MOM.WW.Auth.Ldap.Tests;
|
|
|
|
public class LdapUserNameTests
|
|
{
|
|
[Theory]
|
|
[InlineData("jdoe")]
|
|
[InlineData(" jdoe ")]
|
|
[InlineData(@"NAM\jdoe")]
|
|
[InlineData("jdoe@corp.test")]
|
|
public void Accepting_ReducesToBareName(string input)
|
|
{
|
|
Assert.True(LdapUserName.TryNormalize(input, acceptDomainQualified: true, out var name));
|
|
Assert.Equal("jdoe", name);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(@"NAM\jdoe")]
|
|
[InlineData("jdoe@corp.test")]
|
|
public void Strict_RefusesQualifiedNames(string input) =>
|
|
Assert.False(LdapUserName.TryNormalize(input, acceptDomainQualified: false, out _));
|
|
|
|
[Fact]
|
|
public void Strict_AcceptsBareName()
|
|
{
|
|
Assert.True(LdapUserName.TryNormalize(" jdoe ", acceptDomainQualified: false, out var name));
|
|
Assert.Equal("jdoe", name);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(null)]
|
|
[InlineData("")]
|
|
[InlineData(" ")]
|
|
[InlineData("@x")]
|
|
[InlineData(@"\jdoe")]
|
|
[InlineData("jdoe@")]
|
|
[InlineData(@"NAM\")]
|
|
[InlineData(@"a\b\c")]
|
|
[InlineData("a@b@c")]
|
|
[InlineData(@"NAM\jdoe@corp.test")]
|
|
public void Unusable_IsRefused(string? input)
|
|
{
|
|
Assert.False(LdapUserName.TryNormalize(input, acceptDomainQualified: true, out var name));
|
|
Assert.Equal("", name);
|
|
}
|
|
}
|