public async Task CreateAsync_should_return_claim_id() { 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 IdentityRoleClaimStore <IdentityUser, IdentityRole>(roleManager, new ScopedAsynDocumentcSession(documentStore.OpenAsyncSession()), provider.GetRequiredService <ILogger <IdentityRoleClaimStore <IdentityUser, IdentityRole> > >()); var result = await sut.CreateAsync(new RoleClaim { ClaimType = "test", ClaimValue = "test", RoleId = role.Id } as object); Assert.NotNull(result); Assert.NotNull(((RoleClaim)result).Id); }
public async Task UdpateAsync_should_update_claim() { 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); result = await roleManager.AddClaimAsync(role, new Claim("test", "test")); Assert.True(result.Succeeded); var sut = new IdentityRoleClaimStore <IdentityUser, IdentityRole>(roleManager, new ScopedAsynDocumentcSession(documentStore.OpenAsyncSession()), provider.GetRequiredService <ILogger <IdentityRoleClaimStore <IdentityUser, IdentityRole> > >()); await sut.UpdateAsync(new RoleClaim { Id = $"{role.Id}@0", ClaimType = Guid.NewGuid().ToString(), ClaimValue = Guid.NewGuid().ToString() } as object); var claims = await roleManager.GetClaimsAsync(role); Assert.Single(claims); Assert.NotEqual("test", claims.First().Type); Assert.NotEqual("test", claims.First().Value); }
public async Task GetAsync_by_id_should_return_claim() { 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); await roleManager.AddClaimAsync(role, new Claim(Guid.NewGuid().ToString(), Guid.NewGuid().ToString())); await roleManager.AddClaimAsync(role, new Claim(Guid.NewGuid().ToString(), Guid.NewGuid().ToString())); await roleManager.AddClaimAsync(role, new Claim(Guid.NewGuid().ToString(), Guid.NewGuid().ToString())); var sut = new IdentityRoleClaimStore <IdentityUser, IdentityRole>(roleManager, new ScopedAsynDocumentcSession(documentStore.OpenAsyncSession()), provider.GetRequiredService <ILogger <IdentityRoleClaimStore <IdentityUser, IdentityRole> > >()); var result = await sut.GetAsync($"{role.Id}@1", null); Assert.NotNull(result); }
public async Task GetAsync_by_page_request_should_find_role_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); await roleManager.AddClaimAsync(role, new Claim(Guid.NewGuid().ToString(), Guid.NewGuid().ToString())); await roleManager.AddClaimAsync(role, new Claim(Guid.NewGuid().ToString(), Guid.NewGuid().ToString())); await roleManager.AddClaimAsync(role, new Claim(Guid.NewGuid().ToString(), Guid.NewGuid().ToString())); var sut = new IdentityRoleClaimStore <IdentityUser, IdentityRole>(roleManager, new ScopedAsynDocumentcSession(documentStore.OpenAsyncSession()), provider.GetRequiredService <ILogger <IdentityRoleClaimStore <IdentityUser, IdentityRole> > >()); var claimsResult = await sut.GetAsync(new PageRequest { Filter = $"RoleId eq '{role.Id}'", Take = 1 }); Assert.NotNull(claimsResult); Assert.Equal(3, claimsResult.Count); Assert.Single(claimsResult.Items); }
public async Task GetAsync_by_id_should_return_claim() { 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 IdentityRoleClaimStore <IdentityUser, IdentityRole>(roleManager, context, provider.GetRequiredService <ILogger <IdentityRoleClaimStore <IdentityUser, IdentityRole> > >()); var role = new IdentityRole { Id = Guid.NewGuid().ToString(), Name = Guid.NewGuid().ToString() }; await roleManager.CreateAsync(role).ConfigureAwait(false); Assert.Null(await sut.GetAsync("1", null).ConfigureAwait(false)); await roleManager.AddClaimAsync(role, new Claim(Guid.NewGuid().ToString(), Guid.NewGuid().ToString())).ConfigureAwait(false); var result = await sut.GetAsync("1", null).ConfigureAwait(false); Assert.NotNull(result); }
public async Task GetAsync_should_find_claims() { 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 IdentityRoleClaimStore <IdentityUser, IdentityRole>(roleManager, context, provider.GetRequiredService <ILogger <IdentityRoleClaimStore <IdentityUser, IdentityRole> > >()); var role = new IdentityRole { Id = Guid.NewGuid().ToString(), Name = Guid.NewGuid().ToString() }; await roleManager.CreateAsync(role).ConfigureAwait(false); await roleManager.AddClaimAsync(role, new Claim(Guid.NewGuid().ToString(), Guid.NewGuid().ToString())).ConfigureAwait(false); var result = await sut.GetAsync(new PageRequest { Filter = $"{nameof(RoleClaim.RoleId)} eq '{role.Id}'" }).ConfigureAwait(false); Assert.NotNull(result); Assert.Single(result.Items); }
public async Task DeleteAsync_should_throw_on_not_found() { 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 IdentityRoleClaimStore <IdentityUser, IdentityRole>(roleManager, context, provider.GetRequiredService <ILogger <IdentityRoleClaimStore <IdentityUser, IdentityRole> > >()); await Assert.ThrowsAsync <DbUpdateException>(() => sut.DeleteAsync("0")).ConfigureAwait(false); }