Example #1
0
        public async Task OnGetAsync_InvalidId()
        {
            // Arrange
            var databaseName = $"{DatabaseNamePrefix}.{nameof(OnGetAsync_InvalidId)}";
            var options      = new DbContextOptionsBuilder <IdentityServerDbContext>()
                               .UseInMemoryDatabase(databaseName)
                               .Options;
            var role = new Role();

            role.RoleClaims.Add(new RoleClaim());
            role.RoleClaims.Add(new RoleClaim());
            role.RoleClaims.Add(new RoleClaim());
            using (var context = new IdentityServerDbContext(options, _configurationStoreOptions.Object, _operationalStoreOptions.Object))
            {
                context.Add(role);
                await context.SaveChangesAsync().ConfigureAwait(false);
            }

            ClaimsModel   model;
            IActionResult get;

            // Act
            using (var context = new IdentityServerDbContext(options, _configurationStoreOptions.Object, _operationalStoreOptions.Object))
            {
                _roleManager.Setup(x => x.Roles).Returns(context.Roles);
                model = new ClaimsModel(_roleManager.Object);
                get   = await model.OnGetAsync(Guid.Empty).ConfigureAwait(false);
            }

            // Assert
            Assert.Null(model.Role);
            Assert.Null(model.Claims);
            Assert.IsType <NotFoundResult>(get);
        }
Example #2
0
        public async Task OnGetAsync_InvalidId()
        {
            // Arrange
            var model = new ClaimsModel(new Mock <IConfigurationDbContext>().Object);

            // Act

            var get = await model.OnGetAsync(0).ConfigureAwait(false);

            // Assert
            Assert.Null(model.Client);
            Assert.Null(model.Claims);
            Assert.IsType <NotFoundResult>(get);
        }
Example #3
0
        public async Task OnGetAsync()
        {
            // Arrange
            var databaseName = $"{DatabaseNamePrefix}.{nameof(OnGetAsync)}";
            var options      = new DbContextOptionsBuilder <OidcDbContext>()
                               .UseInMemoryDatabase(databaseName)
                               .Options;
            var user = new User
            {
                Claims = new List <UserClaim>
                {
                    new UserClaim {
                        ClaimType = "Claim 1 Type"
                    },
                    new UserClaim {
                        ClaimType = "Claim 2 Type"
                    },
                    new UserClaim {
                        ClaimType = "Claim 3 Type"
                    }
                }
            };

            using (var context = new OidcDbContext(options))
            {
                context.Add(user);
                await context.SaveChangesAsync().ConfigureAwait(false);
            }

            ClaimsModel   model;
            IActionResult get;

            // Act
            using (var context = new OidcDbContext(options))
            {
                _userManager.Setup(x => x.Users).Returns(context.Users);
                model = new ClaimsModel(_userManager.Object);
                get   = await model.OnGetAsync(user.Id).ConfigureAwait(false);
            }

            // Assert
            Assert.NotNull(model.UserModel);
            Assert.Equal(user.Id, model.UserModel.Id);
            var claims = Assert.IsAssignableFrom <IEnumerable <UserClaim> >(model.Claims);

            Assert.Equal(user.Claims.Count, claims.Count());
            Assert.IsType <PageResult>(get);
        }
Example #4
0
        public async Task OnGetAsync()
        {
            // Arrange
            var databaseName = $"{DatabaseNamePrefix}.{nameof(OnGetAsync)}";
            var options      = new DbContextOptionsBuilder <OidcDbContext>()
                               .UseInMemoryDatabase(databaseName)
                               .Options;
            var role = new Role
            {
                Id         = Guid.NewGuid(),
                RoleClaims = new List <RoleClaim>
                {
                    new RoleClaim(),
                    new RoleClaim(),
                    new RoleClaim()
                }
            };

            using (var context = new OidcDbContext(options))
            {
                context.Add(role);
                await context.SaveChangesAsync().ConfigureAwait(false);
            }

            ClaimsModel   model;
            IActionResult get;

            // Act
            using (var context = new OidcDbContext(options))
            {
                _roleManager.Setup(x => x.Roles).Returns(context.Roles);
                model = new ClaimsModel(_roleManager.Object);
                get   = await model.OnGetAsync(role.Id).ConfigureAwait(false);
            }

            // Assert
            Assert.NotNull(model.Role);
            Assert.Equal(role.Id, model.Role.Id);
            var claims = Assert.IsAssignableFrom <IEnumerable <RoleClaim> >(model.Claims);

            Assert.Equal(role.RoleClaims.Count, claims.Count());
            Assert.IsType <PageResult>(get);
        }
Example #5
0
        public async Task OnGetAsync()
        {
            // Arrange
            var databaseName = $"{DatabaseNamePrefix}.{nameof(OnGetAsync)}";
            var options      = new DbContextOptionsBuilder <OidcDbContext>()
                               .UseInMemoryDatabase(databaseName)
                               .Options;
            var client = new Client
            {
                Id     = Random.Next(),
                Claims = new List <ClientClaim>
                {
                    new ClientClaim(),
                    new ClientClaim(),
                    new ClientClaim()
                }
            };
            ClaimsModel   model;
            IActionResult get;

            using (var context = new OidcDbContext(options))
            {
                context.Add(client);
                await context.SaveChangesAsync().ConfigureAwait(false);
            }

            // Act
            using (var context = new OidcDbContext(options))
            {
                model = new ClaimsModel(context);
                get   = await model.OnGetAsync(client.Id).ConfigureAwait(false);
            }

            // Assert
            Assert.NotNull(model.Client);
            Assert.Equal(client.Id, model.Client.Id);
            var claims = Assert.IsAssignableFrom <IEnumerable <ClientClaim> >(model.Claims);

            Assert.Equal(client.Claims.Count, claims.Count());
            Assert.IsType <PageResult>(get);
        }
Example #6
0
        public async Task OnGetAsync_InvalidId()
        {
            // Arrange
            var databaseName = $"{DatabaseNamePrefix}.{nameof(OnGetAsync_InvalidId)}";
            var options      = new DbContextOptionsBuilder <OidcDbContext>()
                               .UseInMemoryDatabase(databaseName)
                               .Options;
            var role = new Role
            {
                Id         = Guid.NewGuid(),
                RoleClaims = new List <RoleClaim>
                {
                    new RoleClaim(),
                    new RoleClaim(),
                    new RoleClaim()
                }
            };

            using (var context = new OidcDbContext(options))
            {
                context.Add(role);
                await context.SaveChangesAsync().ConfigureAwait(false);
            }

            ClaimsModel   model;
            IActionResult get;

            // Act
            using (var context = new OidcDbContext(options))
            {
                _roleManager.Setup(x => x.Roles).Returns(context.Roles);
                model = new ClaimsModel(_roleManager.Object);
                get   = await model.OnGetAsync(Guid.Empty).ConfigureAwait(false);
            }

            // Assert
            Assert.Null(model.Role);
            Assert.Null(model.Claims);
            Assert.IsType <NotFoundResult>(get);
        }
Example #7
0
        public async Task OnGetAsync_InvalidModel()
        {
            // Arrange
            var databaseName = $"{DatabaseNamePrefix}.{nameof(OnGetAsync_InvalidModel)}";
            var options      = new DbContextOptionsBuilder <OidcDbContext>()
                               .UseInMemoryDatabase(databaseName)
                               .Options;
            ClaimsModel   model;
            IActionResult get;

            // Act
            using (var context = new OidcDbContext(options))
            {
                model = new ClaimsModel(context);
                get   = await model.OnGetAsync(Random.Next()).ConfigureAwait(false);
            }

            // Assert
            Assert.Null(model.Client);
            Assert.Null(model.Claims);
            Assert.IsType <NotFoundResult>(get);
        }