Exemple #1
0
        public async Task CreateAsync_should_throw_on_error()
        {
            var provider = new ServiceCollection()
                           .AddLogging()
                           .AddDbContext <IdentityDbContext <IdentityUser> >(options => options.UseInMemoryDatabase(Guid.NewGuid().ToString()))
                           .AddIdentity <IdentityUser, IdentityRole>()
                           .AddEntityFrameworkStores <IdentityDbContext <IdentityUser> >()
                           .Services.BuildServiceProvider();

            var roleManager = provider.GetRequiredService <RoleManager <IdentityRole> >();
            var context     = provider.GetRequiredService <IdentityDbContext <IdentityUser> >();
            var sut         = new IdentityRoleStore <IdentityUser, IdentityRole>(roleManager, context, provider.GetRequiredService <ILogger <IdentityRoleStore <IdentityUser, IdentityRole> > >());

            var role = new IdentityRole
            {
                Id   = Guid.NewGuid().ToString(),
                Name = Guid.NewGuid().ToString()
            };
            await roleManager.CreateAsync(role).ConfigureAwait(false);

            await Assert.ThrowsAsync <IdentityException>(() => sut.CreateAsync(new Role
            {
                Id   = role.Id,
                Name = role.Name
            } as object)).ConfigureAwait(false);
        }
Exemple #2
0
        public async Task UpdateAsync_should_update_role()
        {
            var provider = new ServiceCollection()
                           .AddLogging()
                           .AddDbContext <IdentityDbContext <IdentityUser> >(options => options.UseInMemoryDatabase(Guid.NewGuid().ToString()))
                           .AddIdentity <IdentityUser, IdentityRole>()
                           .AddEntityFrameworkStores <IdentityDbContext <IdentityUser> >()
                           .Services.BuildServiceProvider();

            var roleManager = provider.GetRequiredService <RoleManager <IdentityRole> >();
            var context     = provider.GetRequiredService <IdentityDbContext <IdentityUser> >();
            var sut         = new IdentityRoleStore <IdentityUser, IdentityRole>(roleManager, context, provider.GetRequiredService <ILogger <IdentityRoleStore <IdentityUser, IdentityRole> > >());

            var name = Guid.NewGuid().ToString();
            var role = new IdentityRole
            {
                Id   = Guid.NewGuid().ToString(),
                Name = name
            };
            await roleManager.CreateAsync(role).ConfigureAwait(false);

            await sut.UpdateAsync(new Role
            {
                Id   = role.Id,
                Name = Guid.NewGuid().ToString()
            } as object).ConfigureAwait(false);

            var actual = await sut.GetAsync(role.Id, null);

            Assert.NotEqual(name, actual.Name);
        }
Exemple #3
0
        public async Task UdpateAsync_should_update_role()
        {
            using var documentStore = new RavenDbTestDriverWrapper().GetDocumentStore();
            var provider = new ServiceCollection()
                           .AddLogging()
                           .AddIdentity <IdentityUser, IdentityRole>()
                           .AddRavenDbStores(p => documentStore)
                           .Services.BuildServiceProvider();
            var roleManager = provider.GetRequiredService <RoleManager <IdentityRole> >();
            var role        = new IdentityRole
            {
                Id   = Guid.NewGuid().ToString(),
                Name = Guid.NewGuid().ToString()
            };
            var result = await roleManager.CreateAsync(role);

            Assert.True(result.Succeeded);

            var sut = new IdentityRoleStore <IdentityUser, IdentityRole>(roleManager, new ScopedAsynDocumentcSession(documentStore.OpenAsyncSession()), provider.GetRequiredService <ILogger <IdentityRoleStore <IdentityUser, IdentityRole> > >());
            await sut.UpdateAsync(new Role
            {
                Id   = role.Id,
                Name = "test"
            } as object);

            var actual = await roleManager.FindByIdAsync(role.Id);

            Assert.NotNull(actual);
            Assert.Equal("test", actual.Name);
        }
Exemple #4
0
        public async Task GetAsync_by_id_should_expand_claims()
        {
            using var documentStore = new RavenDbTestDriverWrapper().GetDocumentStore();
            var provider = new ServiceCollection()
                           .AddLogging()
                           .AddIdentity <IdentityUser, IdentityRole>()
                           .AddRavenDbStores(p => documentStore)
                           .Services.BuildServiceProvider();
            var roleManager = provider.GetRequiredService <RoleManager <IdentityRole> >();
            var role        = new IdentityRole
            {
                Id   = Guid.NewGuid().ToString(),
                Name = Guid.NewGuid().ToString()
            };
            var roleResult = await roleManager.CreateAsync(role);

            Assert.True(roleResult.Succeeded);

            var claimId = Guid.NewGuid().ToString();
            await roleManager.AddClaimAsync(role, new Claim(claimId, claimId)).ConfigureAwait(false);

            var sut = new IdentityRoleStore <IdentityUser, IdentityRole>(roleManager, new ScopedAsynDocumentcSession(documentStore.OpenAsyncSession()), provider.GetRequiredService <ILogger <IdentityRoleStore <IdentityUser, IdentityRole> > >());

            var result = await sut.GetAsync(role.Id, new GetRequest
            {
                Expand = nameof(Role.RoleClaims)
            });

            Assert.NotNull(result);
            Assert.Single(result.RoleClaims);
            Assert.Equal(claimId, result.RoleClaims.First().ClaimType);
            Assert.Equal($"{role.Id}@0", result.RoleClaims.First().Id);
        }
Exemple #5
0
        public async Task GetAsync_by_id_should_return_role()
        {
            using var documentStore = new RavenDbTestDriverWrapper().GetDocumentStore();
            var provider = new ServiceCollection()
                           .AddLogging()
                           .AddIdentity <IdentityUser, IdentityRole>()
                           .AddRavenDbStores(p => documentStore)
                           .Services.BuildServiceProvider();
            var roleManager = provider.GetRequiredService <RoleManager <IdentityRole> >();
            var role        = new IdentityRole
            {
                Id   = Guid.NewGuid().ToString(),
                Name = Guid.NewGuid().ToString()
            };
            var roleResult = await roleManager.CreateAsync(role);

            Assert.True(roleResult.Succeeded);


            var sut = new IdentityRoleStore <IdentityUser, IdentityRole>(roleManager, new ScopedAsynDocumentcSession(documentStore.OpenAsyncSession()), provider.GetRequiredService <ILogger <IdentityRoleStore <IdentityUser, IdentityRole> > >());

            var result = await sut.GetAsync(role.Id, null);

            Assert.NotNull(result);
        }
Exemple #6
0
        public async Task GetAsync_by_page_request_should_find_roles()
        {
            using var documentStore = new RavenDbTestDriverWrapper().GetDocumentStore();
            var provider = new ServiceCollection()
                           .AddLogging()
                           .AddIdentity <IdentityUser, IdentityRole>()
                           .AddRavenDbStores(p => documentStore)
                           .Services.BuildServiceProvider();
            var roleManager = provider.GetRequiredService <RoleManager <IdentityRole> >();
            var role        = new IdentityRole
            {
                Id   = Guid.NewGuid().ToString(),
                Name = Guid.NewGuid().ToString()
            };
            var roleResult = await roleManager.CreateAsync(role);

            Assert.True(roleResult.Succeeded);


            var sut = new IdentityRoleStore <IdentityUser, IdentityRole>(roleManager, new ScopedAsynDocumentcSession(documentStore.OpenAsyncSession()), provider.GetRequiredService <ILogger <IdentityRoleStore <IdentityUser, IdentityRole> > >());

            var rolesResult = await sut.GetAsync(new PageRequest
            {
                Filter = $"Name eq '{role.Name}'"
            });

            Assert.NotNull(rolesResult);
            Assert.Equal(1, rolesResult.Count);
            Assert.Single(rolesResult.Items);
        }
 public IdentityRoleManager(IdentityRoleStore store,
                            IEnumerable <IdentityRoleValidator> roleValidators,
                            ILookupNormalizer keyNormalizer,
                            IdentityErrorDescriber errors,
                            ILogger <RoleManager <Role> > logger,
                            IHttpContextAccessor contextAccessor) : base(store, roleValidators, keyNormalizer, errors, logger)
 {
 }
Exemple #8
0
 public IdentityRoleStore_Tests()
 {
     _identityRoleStore      = GetRequiredService <IdentityRoleStore>();
     _lookupNormalizer       = GetRequiredService <ILookupNormalizer>();
     _identityRoleRepository = GetRequiredService <IIdentityRoleRepository>();
     _testData          = GetRequiredService <IdentityTestData>();
     _unitOfWorkManager = GetRequiredService <IUnitOfWorkManager>();
 }
Exemple #9
0
 public IdentityRoleManager(
     IdentityRoleStore store,
     IEnumerable <IRoleValidator <IdentityRole> > roleValidators,
     ILookupNormalizer keyNormalizer,
     IdentityErrorDescriber errors,
     ILogger <IdentityRoleManager> logger,
     IStringLocalizer <IdentityResource> localizer,
     ICancellationTokenProvider cancellationTokenProvider)
     : base(
         store,
         roleValidators,
         keyNormalizer,
         errors,
         logger)
 {
     Localizer = localizer;
     CancellationTokenProvider = cancellationTokenProvider;
 }
Exemple #10
0
 public ApplicationRoleManager(IdentityRoleStore store)
     : base(store)
 {
 }
Exemple #11
0
 public ApplicationAccountManager(
     IdentityUserStore <ApplicationUser> userStore, ApplicationUserManager userManager,
     IdentityRoleStore roleStore, IdentityRoleManager roleManager)
     : base(userStore, userManager, roleStore, roleManager)
 {
 }
Exemple #12
0
 public ApplicationRoleManager(IdentityRoleStore <ApplicationUser, ApplicationRole> roleStore) : base(roleStore)
 {
 }
Exemple #13
0
 public IdentityRoleManager(IdentityRoleStore store) : base(store)
 {
 }