Exemple #1
0
        public async Task RevokeConsentFireEventWithRedirect()
        {
            _interactionService.Setup(i => i.RevokeUserConsentAsync("client1"))
            .Returns(Task.CompletedTask).Verifiable();
            _eventService.Setup(e => e.RaiseAsync(It.IsAny <GrantsRevokedEvent>()))
            .Returns(Task.CompletedTask).Verifiable();
            var controller = new GrantsController(_interactionService.Object, _clientStore.Object, _resourceStore.Object, _eventService.Object);

            controller.ControllerContext = new ControllerContext
            {
                HttpContext = new DefaultHttpContext
                {
                    User = new ClaimsPrincipal(new ClaimsIdentity(new[]
                    {
                        new Claim("sub", "user1")
                    })
                                               )
                }
            };

            var result = await controller.Revoke("client1");

            result.As <RedirectToActionResult>().ActionName.Should().Be("Index");
            _interactionService.Verify();
            _eventService.Verify();
        }
Exemple #2
0
        public async Task IndexShouldReturnEmptyModel()
        {
            _interactionService.Setup(i => i.GetAllUserConsentsAsync())
            .ReturnsAsync(new Consent[] { });

            var controller = new GrantsController(_interactionService.Object, _clientStore.Object, _resourceStore.Object, _eventService.Object);

            var viewResult = await controller.Index();

            var grantsModel = viewResult.As <ViewResult>().ViewData.Model.As <GrantsViewModel>();

            grantsModel.Grants.Should().NotBeNull();
            grantsModel.Grants.Should().BeEmpty();
        }
Exemple #3
0
        public async Task IndexShouldReturn2Models()
        {
            _interactionService.Setup(i => i.GetAllUserConsentsAsync())
            .ReturnsAsync(new[] {
                new Consent {
                    ClientId = "client1",
                    Scopes   = new [] { "api1" }
                },
                new Consent {
                    ClientId = "client2",
                    Scopes   = new [] { "api2" }
                }
            });

            _resourceStore.Setup(r => r.FindIdentityResourcesByScopeAsync(new[] { "api1" }))
            .ReturnsAsync(new[] {
                new IdentityResource {
                    DisplayName = "Identity 1",
                    Name        = "identity1"
                }
            });

            _resourceStore.Setup(r => r.FindApiResourcesByScopeAsync(new[] { "api1" }))
            .ReturnsAsync(new[] {
                new ApiResource {
                    Scopes = new [] {
                        new Scope {
                            Name = "api1"
                        }
                    }
                }
            });

            var controller = new GrantsController(_interactionService.Object, _clientStore.Object, _resourceStore.Object, _eventService.Object);

            var viewResult = await controller.Index();

            var grantsModel = viewResult.As <ViewResult>().ViewData.Model.As <GrantsViewModel>();

            grantsModel.Grants.Should().NotBeNull();
            grantsModel.Grants.Should().NotBeEmpty().And.HaveCount(1);
        }