diff options
Diffstat (limited to 'Timeline.Tests/Helpers/PrincipalHelper.cs')
-rw-r--r-- | Timeline.Tests/Helpers/PrincipalHelper.cs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Timeline.Tests/Helpers/PrincipalHelper.cs b/Timeline.Tests/Helpers/PrincipalHelper.cs new file mode 100644 index 00000000..89f3f7b1 --- /dev/null +++ b/Timeline.Tests/Helpers/PrincipalHelper.cs @@ -0,0 +1,23 @@ +using System.Linq; +using System.Security.Claims; +using Timeline.Models; + +namespace Timeline.Tests.Helpers +{ + public static class PrincipalHelper + { + internal const string AuthScheme = "TESTAUTH"; + + internal static ClaimsPrincipal Create(string username, bool administrator) + { + var identity = new ClaimsIdentity(AuthScheme); + identity.AddClaim(new Claim(identity.NameClaimType, username, ClaimValueTypes.String)); + identity.AddClaims(UserRoleConvert.ToArray(administrator).Select(role => new Claim(identity.RoleClaimType, role, ClaimValueTypes.String))); + + var principal = new ClaimsPrincipal(); + principal.AddIdentity(identity); + + return principal; + } + } +} |