public async Task GetUserClaims_Should_Not_Return_Null_If_User_Has_No_Claims()
        {
            string userName = "******";
            string userId = "RavenUsers/1";

            using (IDocumentStore store = CreateEmbeddableStore())
            using (IAsyncDocumentSession ses = store.OpenAsyncSession())
            {
                IUserClaimStore<RavenUser> userClaimStore = new RavenUserStore<RavenUser>(ses, false);
                RavenUser user = new RavenUser
                {
                    Id = userId,
                    UserName = userName
                };

                await ses.StoreAsync(user);
                await ses.SaveChangesAsync();

                // Act
                IEnumerable<Claim> retrievedClaims = await userClaimStore.GetClaimsAsync(user);

                // Assert
                Assert.Equal(0, retrievedClaims.Count());
            }
        }
        public async Task GetUserClaims_Should_Retrieve_Correct_Claims_For_User()
        {
            string userName = "******";
            string userId = "RavenUsers/1";

            using (IDocumentStore store = CreateEmbeddableStore())
            using (IAsyncDocumentSession ses = store.OpenAsyncSession())
            {
                IUserClaimStore<RavenUser> userClaimStore = new RavenUserStore<RavenUser>(ses);
                IEnumerable<RavenUserClaim> claims = new List<RavenUserClaim>
                {
                    new RavenUserClaim { ClaimType = "Scope", ClaimValue = "Read" },
                    new RavenUserClaim { ClaimType = "Scope", ClaimValue = "Write" }
                };
                RavenUser user = new RavenUser
                {
                    Id = userId,
                    UserName = userName
                };

                foreach (var claim in claims)
                {
                    user.Claims.Add(claim);
                }

                await ses.StoreAsync(user);
                await ses.SaveChangesAsync();

                IEnumerable<Claim> retrievedClaims = await userClaimStore.GetClaimsAsync(user);

                Assert.Equal(2, claims.Count());
                Assert.Equal("Read", claims.ElementAt(0).ClaimValue);
                Assert.Equal("Write", claims.ElementAt(1).ClaimValue);
            }
        }
예제 #3
0
        public async Task GetUserClaims_Should_Retrieve_Correct_Claims_For_User()
        {
            string userName = "******";

            using (IDocumentStore store = CreateEmbeddableStore())
            {
                RavenUser user = new RavenUser(userName);
                IEnumerable <RavenUserClaim> claims = new List <RavenUserClaim>
                {
                    new RavenUserClaim("Scope", "Read"),
                    new RavenUserClaim("Scope", "Write")
                };

                foreach (RavenUserClaim claim in claims)
                {
                    user.AddClaim(claim);
                }

                using (IAsyncDocumentSession ses = store.OpenAsyncSession())
                {
                    ses.Advanced.UseOptimisticConcurrency = true;
                    IUserClaimStore <RavenUser> userClaimStore = new RavenUserStore <RavenUser>(ses);

                    await ses.StoreAsync(user);

                    await ses.SaveChangesAsync();
                }

                using (IAsyncDocumentSession ses = store.OpenAsyncSession())
                {
                    ses.Advanced.UseOptimisticConcurrency = true;
                    IUserClaimStore <RavenUser> userClaimStore  = new RavenUserStore <RavenUser>(ses);
                    IEnumerable <Claim>         retrievedClaims = await userClaimStore.GetClaimsAsync(user);

                    Assert.Equal(2, claims.Count());
                    Assert.Equal("Read", claims.ElementAt(0).ClaimValue);
                    Assert.Equal("Write", claims.ElementAt(1).ClaimValue);
                }
            }
        }
        public async Task GetUserClaims_Should_Retrieve_Correct_Claims_For_User()
        {
            string userName = "******";

            using (IDocumentStore store = CreateEmbeddableStore())
            {
                RavenUser user = new RavenUser(userName);
                IEnumerable<RavenUserClaim> claims = new List<RavenUserClaim>
                {
                    new RavenUserClaim("Scope", "Read"),
                    new RavenUserClaim("Scope", "Write")
                };

                foreach (RavenUserClaim claim in claims)
                {
                    user.AddClaim(claim);
                }

                using (IAsyncDocumentSession ses = store.OpenAsyncSession())
                {
                    ses.Advanced.UseOptimisticConcurrency = true;
                    IUserClaimStore<RavenUser> userClaimStore = new RavenUserStore<RavenUser>(ses);

                    await ses.StoreAsync(user);
                    await ses.SaveChangesAsync();
                }

                using (IAsyncDocumentSession ses = store.OpenAsyncSession())
                {
                    ses.Advanced.UseOptimisticConcurrency = true;
                    IUserClaimStore<RavenUser> userClaimStore = new RavenUserStore<RavenUser>(ses);
                    IEnumerable<Claim> retrievedClaims = await userClaimStore.GetClaimsAsync(user);

                    Assert.Equal(2, claims.Count());
                    Assert.Equal("Read", claims.ElementAt(0).ClaimValue);
                    Assert.Equal("Write", claims.ElementAt(1).ClaimValue);
                }
            }
        }
예제 #5
0
        public async Task GetUserClaims_Should_Not_Return_Null_If_User_Has_No_Claims()
        {
            string userName = "******";

            using (IDocumentStore store = CreateEmbeddableStore())
                using (IAsyncDocumentSession ses = store.OpenAsyncSession())
                {
                    ses.Advanced.UseOptimisticConcurrency = true;
                    IUserClaimStore <RavenUser> userClaimStore = new RavenUserStore <RavenUser>(ses, false);
                    RavenUser user = new RavenUser(userName);

                    await ses.StoreAsync(user);

                    await ses.SaveChangesAsync();

                    // Act
                    IEnumerable <Claim> retrievedClaims = await userClaimStore.GetClaimsAsync(user);

                    // Assert
                    Assert.Equal(0, retrievedClaims.Count());
                }
        }