예제 #1
0
        public async Task OnGetAsync_InvalidId()
        {
            // Arrange
            var model = new ScopesModel(new Mock <IConfigurationDbContext>().Object);

            // Act

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

            // Assert
            Assert.Null(model.Client);
            Assert.Null(model.Scopes);
            Assert.IsType <NotFoundResult>(get);
        }
예제 #2
0
        public async Task OnGetAsync()
        {
            // Arrange
            var databaseName = $"{DatabaseNamePrefix}.{nameof(OnGetAsync)}";
            var options      = new DbContextOptionsBuilder <IdentityServerDbContext>()
                               .UseInMemoryDatabase(databaseName)
                               .Options;
            var client = new Client
            {
                Id            = Random.Next(),
                AllowedScopes = new List <ClientScope>
                {
                    new ClientScope(),
                    new ClientScope(),
                    new ClientScope()
                }
            };
            ScopesModel   model;
            IActionResult get;

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

            // Act
            using (var context = new IdentityServerDbContext(options, _configurationStoreOptions.Object, _operationalStoreOptions.Object))
            {
                model = new ScopesModel(context);
                get   = await model.OnGetAsync(client.Id).ConfigureAwait(false);
            }

            // Assert
            Assert.NotNull(model.Client);
            Assert.Equal(client.Id, model.Client.Id);
            var scopes = Assert.IsAssignableFrom <IEnumerable <ClientScope> >(model.Scopes);

            Assert.Equal(client.AllowedScopes.Count, scopes.Count());
            Assert.IsType <PageResult>(get);
        }
예제 #3
0
        public async Task OnGetAsync()
        {
            // Arrange
            var databaseName = $"{DatabaseNamePrefix}.{nameof(OnGetAsync)}";
            var options      = new DbContextOptionsBuilder <OidcDbContext>()
                               .UseInMemoryDatabase(databaseName)
                               .Options;
            var client = new ApiResource
            {
                Id     = Random.Next(),
                Scopes = new List <ApiScope>
                {
                    new ApiScope(),
                    new ApiScope(),
                    new ApiScope()
                }
            };
            ScopesModel   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 ScopesModel(context);
                get   = await model.OnGetAsync(client.Id).ConfigureAwait(false);
            }

            // Assert
            Assert.NotNull(model.ApiResource);
            Assert.Equal(client.Id, model.ApiResource.Id);
            var scopes = Assert.IsAssignableFrom <IEnumerable <ApiScope> >(model.Scopes);

            Assert.Equal(client.Scopes.Count, scopes.Count());
            Assert.IsType <PageResult>(get);
        }
예제 #4
0
        public async Task OnGetAsync_InvalidModel()
        {
            // Arrange
            var databaseName = $"{DatabaseNamePrefix}.{nameof(OnGetAsync_InvalidModel)}";
            var options      = new DbContextOptionsBuilder <IdentityServerDbContext>()
                               .UseInMemoryDatabase(databaseName)
                               .Options;
            ScopesModel   model;
            IActionResult get;

            // Act
            using (var context = new IdentityServerDbContext(options, _configurationStoreOptions.Object, _operationalStoreOptions.Object))
            {
                model = new ScopesModel(context);
                get   = await model.OnGetAsync(Random.Next()).ConfigureAwait(false);
            }

            // Assert
            Assert.Null(model.Client);
            Assert.Null(model.Scopes);
            Assert.IsType <NotFoundResult>(get);
        }
예제 #5
0
        public async Task OnGetAsync_InvalidModel()
        {
            // Arrange
            var databaseName = $"{DatabaseNamePrefix}.{nameof(OnGetAsync_InvalidModel)}";
            var options      = new DbContextOptionsBuilder <OidcDbContext>()
                               .UseInMemoryDatabase(databaseName)
                               .Options;
            ScopesModel   model;
            IActionResult get;

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

            // Assert
            Assert.Null(model.ApiResource);
            Assert.Null(model.Scopes);
            Assert.IsType <NotFoundResult>(get);
        }