|
|
|
@ -5,6 +5,7 @@ using System.Security.Claims; |
|
|
|
using System.Text.RegularExpressions; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using Microsoft.AspNetCore.Identity; |
|
|
|
using Microsoft.EntityFrameworkCore; |
|
|
|
using Microsoft.Extensions.DependencyInjection; |
|
|
|
using Microsoft.Extensions.DependencyInjection.Extensions; |
|
|
|
using Microsoft.Extensions.Options; |
|
|
|
@ -422,6 +423,34 @@ public class IdentityUserManager_Tests : AbpIdentityDomainTestBase |
|
|
|
username.All(c => "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+".Contains(c)).ShouldBeTrue(); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public async Task GetUserNameFromEmailAsync() |
|
|
|
{ |
|
|
|
_identityUserManager.Options.User.AllowedUserNameCharacters = "abcdefghijklmnopqrstuvwxyz0123456789"; |
|
|
|
var username = await _identityUserManager.GetUserNameFromEmailAsync("admin@abp.io"); |
|
|
|
username.Length.ShouldBe(9); //admin and random 4 numbers
|
|
|
|
username.ShouldContain("admin"); |
|
|
|
Regex.IsMatch(username, @"\d{4}$").ShouldBeTrue(); |
|
|
|
|
|
|
|
_identityUserManager.Options.User.AllowedUserNameCharacters = "abcdefghijklmnopqrstuvwxyz"; |
|
|
|
username = await _identityUserManager.GetUserNameFromEmailAsync("admin@abp.io"); |
|
|
|
username.Length.ShouldBe(9); //admin and random 4 characters
|
|
|
|
username.ShouldContain("admin"); |
|
|
|
Regex.IsMatch(username, @"[a-z]{4}$").ShouldBeTrue(); |
|
|
|
|
|
|
|
_identityUserManager.Options.User.AllowedUserNameCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; |
|
|
|
username = await _identityUserManager.GetUserNameFromEmailAsync("ADMIN@abp.io"); |
|
|
|
username.Length.ShouldBe(9); //admin and random 4 characters
|
|
|
|
username.ShouldContain("ADMIN"); |
|
|
|
Regex.IsMatch(username, @"[A-Z]{4}$").ShouldBeTrue(); |
|
|
|
|
|
|
|
_identityUserManager.Options.User.AllowedUserNameCharacters = null!; |
|
|
|
username = await _identityUserManager.GetUserNameFromEmailAsync("admin@abp.io"); |
|
|
|
username.Length.ShouldBe(9); //admin and random 4 numbers
|
|
|
|
username.ShouldContain("admin"); |
|
|
|
Regex.IsMatch(username, @"[0-9]{4}$").ShouldBeTrue(); |
|
|
|
} |
|
|
|
|
|
|
|
private async Task CreateRandomDefaultRoleAsync() |
|
|
|
{ |
|
|
|
await _identityRoleRepository.InsertAsync( |
|
|
|
|