コード例 #1
0
        public async Task CustomGuidGetRolesForUserTest()
        {
            var db          = GuidUserContext.Create();
            var userManager = new UserManager <GuidUser, Guid>(new GuidUserStore(db));
            var roleManager = new RoleManager <GuidRole, Guid>(new GuidRoleStore(db));

            GuidUser[] users = { new GuidUser("u1"), new GuidUser("u2"), new GuidUser("u3"), new GuidUser("u4") };
            GuidRole[] roles = { new GuidRole("r1"), new GuidRole("r2"), new GuidRole("r3"), new GuidRole("r4") };
            foreach (GuidUser u in users)
            {
                UnitTestHelper.IsSuccess(await userManager.CreateAsync(u));
            }
            foreach (GuidRole r in roles)
            {
                UnitTestHelper.IsSuccess(await roleManager.CreateAsync(r));
                foreach (GuidUser u in users)
                {
                    UnitTestHelper.IsSuccess(await userManager.AddToRoleAsync(u.Id, r.Name));
                    Assert.True(await userManager.IsInRoleAsync(u.Id, r.Name));
                }
                Assert.Equal(users.Length, r.Users.Count());
            }

            foreach (GuidUser u in users)
            {
                var rs = await userManager.GetRolesAsync(u.Id);

                Assert.Equal(roles.Length, rs.Count);
                foreach (GuidRole r in roles)
                {
                    Assert.True(rs.Any(role => role == r.Name));
                }
            }
        }
コード例 #2
0
        public async Task CustomUserGuidKeyTest()
        {
            var manager = new UserManager <GuidUser, Guid>(new GuidUserStore(GuidUserContext.Create()));

            GuidUser[] users =
            {
                new GuidUser {
                    UserName = "******"
                },
                new GuidUser {
                    UserName = "******"
                },
                new GuidUser {
                    UserName = "******"
                },
                new GuidUser {
                    UserName = "******"
                }
            };
            foreach (GuidUser user in users)
            {
                UnitTestHelper.IsSuccess(await manager.CreateAsync(user));
            }
            foreach (GuidUser user in users)
            {
                var u = await manager.FindByIdAsync(user.Id);

                Assert.NotNull(u);
                Assert.Equal(u.UserName, user.UserName);
            }
        }
コード例 #3
0
            public static GuidUserContext Create()
            {
                Database.SetInitializer(new DropCreateDatabaseAlways <GuidUserContext>());
                var db = new GuidUserContext();

                db.Database.Initialize(true);
                return(db);
            }
コード例 #4
0
 private async Task CreateManager(OwinContext context)
 {
     var options = new IdentityFactoryOptions <UserManager <GuidUser, Guid> >
     {
         Provider = new TestProvider(),
         DataProtectionProvider = new DpapiDataProtectionProvider()
     };
     var middleware =
         new IdentityFactoryMiddleware
         <UserManager <GuidUser, Guid>, IdentityFactoryOptions <UserManager <GuidUser, Guid> > >(null, options);
     var dbMiddle = new IdentityFactoryMiddleware <DbContext, IdentityFactoryOptions <DbContext> >(middleware,
                                                                                                   new IdentityFactoryOptions <DbContext>
     {
         Provider = new IdentityFactoryProvider <DbContext>
         {
             OnCreate = (o, c) => GuidUserContext.Create(),
         }
     });
     await dbMiddle.Invoke(context);
 }
コード例 #5
0
 public void EnsureDefaultSchemaWithInt()
 {
     IdentityDbContextTest.VerifyDefaultSchema(GuidUserContext.Create());
 }