aboutsummaryrefslogtreecommitdiff
path: root/Timeline.Tests/Helpers/Authentication/PrincipalHelper.cs
blob: 214472a246a1fe3af7f88dbb8ab662a59f51d51f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System.Linq;
using System.Security.Claims;
using Timeline.Models;

namespace Timeline.Tests.Helpers.Authentication
{
    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;
        }
    }
}