Exemplo n.º 1
0
        public async Task CreateClientSecretIdentity_WhenCalledWithoutModel_ReturnsViewResultWhereModelIsClientSecretIdentityViewModel()
        {
            IList <Claim> claimCollection = _fixture.CreateMany <Claim>(_random.Next(5, 10)).ToList();
            Controller    sut             = CreateSut(claimCollection);

            ViewResult result = (ViewResult)await sut.CreateClientSecretIdentity();

            Assert.That(result.Model, Is.TypeOf <ClientSecretIdentityViewModel>());

            ClientSecretIdentityViewModel clientSecretIdentityViewModel = (ClientSecretIdentityViewModel)result.Model;

            Assert.That(clientSecretIdentityViewModel, Is.Not.Null);
            Assert.That(clientSecretIdentityViewModel.Identifier, Is.EqualTo(default(int)));
            Assert.That(clientSecretIdentityViewModel.FriendlyName, Is.Null);
            Assert.That(clientSecretIdentityViewModel.ClientId, Is.Null);
            Assert.That(clientSecretIdentityViewModel.ClientSecret, Is.Null);
            Assert.That(clientSecretIdentityViewModel.EditMode, Is.EqualTo(EditMode.Create));

            Assert.That(clientSecretIdentityViewModel.Claims, Is.Not.Null);
            Assert.That(clientSecretIdentityViewModel.Claims, Is.Not.Empty);
            Assert.That(clientSecretIdentityViewModel.Claims.Count(), Is.EqualTo(claimCollection.Count));
            foreach (Claim claim in claimCollection)
            {
                Assert.That(clientSecretIdentityViewModel.Claims.SingleOrDefault(m => string.CompareOrdinal(m.ClaimType, claim.Type) == 0), Is.Not.Null);
            }
        }
        public async Task UpdateClientSecretIdentity_WhenCalledWithoutModelAndIdentifierIsKnown_ReturnsViewResultWhereModelIsClientSecretIdentityViewModel()
        {
            IList <Claim>         claimCollection = _fixture.CreateMany <Claim>(_random.Next(5, 10)).ToList();
            IList <Claim>         clientSecretIdentityClaimCollection = claimCollection.Take(2).ToList();
            IClientSecretIdentity clientSecretIdentity = _fixture.BuildClientSecretIdentityMock(claims: clientSecretIdentityClaimCollection).Object;
            Controller            sut = CreateSut(claimCollection, clientSecretIdentity: clientSecretIdentity);

            ViewResult result = (ViewResult)await sut.UpdateClientSecretIdentity(_fixture.Create <int>());

            Assert.That(result.Model, Is.TypeOf <ClientSecretIdentityViewModel>());

            ClientSecretIdentityViewModel clientSecretIdentityViewModel = (ClientSecretIdentityViewModel)result.Model;

            Assert.That(clientSecretIdentityViewModel, Is.Not.Null);
            Assert.That(clientSecretIdentityViewModel.Identifier, Is.EqualTo(clientSecretIdentity.Identifier));
            Assert.That(clientSecretIdentityViewModel.FriendlyName, Is.EqualTo(clientSecretIdentity.FriendlyName));
            Assert.That(clientSecretIdentityViewModel.ClientId, Is.EqualTo(clientSecretIdentity.ClientId));
            Assert.That(clientSecretIdentityViewModel.ClientSecret, Is.EqualTo(clientSecretIdentity.ClientSecret.Substring(0, Math.Min(4, clientSecretIdentity.ClientSecret.Length)) + new string('*', clientSecretIdentity.ClientSecret.Length - Math.Min(4, clientSecretIdentity.ClientSecret.Length))));
            Assert.That(clientSecretIdentityViewModel.EditMode, Is.EqualTo(EditMode.Edit));

            Assert.That(clientSecretIdentityViewModel.Claims, Is.Not.Null);
            Assert.That(clientSecretIdentityViewModel.Claims, Is.Not.Empty);
            Assert.That(clientSecretIdentityViewModel.Claims.Count(), Is.EqualTo(claimCollection.Count));
            foreach (Claim claim in claimCollection)
            {
                Assert.That(clientSecretIdentityViewModel.Claims.SingleOrDefault(m => string.CompareOrdinal(m.ClaimType, claim.Type) == 0), Is.Not.Null);
            }
            Assert.That(clientSecretIdentityViewModel.Claims.Count(m => m.IsSelected), Is.EqualTo(clientSecretIdentityClaimCollection.Count));
            foreach (Claim claim in clientSecretIdentityClaimCollection)
            {
                Assert.That(clientSecretIdentityViewModel.Claims.SingleOrDefault(m => m.IsSelected && string.CompareOrdinal(m.ClaimType, claim.Type) == 0 && string.Compare(m.ActualValue, claim.Value) == 0), Is.Not.Null);
            }
        }
Exemplo n.º 3
0
        public async Task CreateClientSecretIdentity_WhenCalledWithValidModel_ReturnsRedirectToActionResultWhereActionNameIsEqualToClientSecretIdentities()
        {
            Controller sut = CreateSut();

            ClientSecretIdentityViewModel model  = CreateModel();
            RedirectToActionResult        result = (RedirectToActionResult)await sut.CreateClientSecretIdentity(model);

            Assert.That(result.ActionName, Is.EqualTo("ClientSecretIdentities"));
        }
Exemplo n.º 4
0
        public async Task CreateClientSecretIdentity_WhenCalledWithValidModel_ReturnsRedirectToActionResult()
        {
            Controller sut = CreateSut();

            ClientSecretIdentityViewModel model = CreateModel();
            IActionResult result = await sut.CreateClientSecretIdentity(model);

            Assert.That(result, Is.TypeOf <RedirectToActionResult>());
        }
Exemplo n.º 5
0
        public async Task CreateClientSecretIdentity_WhenCalledWithValidModel_AssertPublishAsyncWasCalledOnCommandBus()
        {
            Controller sut = CreateSut();

            ClientSecretIdentityViewModel model = CreateModel();
            await sut.CreateClientSecretIdentity(model);

            _commandBusMock.Verify(m => m.PublishAsync(It.Is <ICreateClientSecretIdentityCommand>(command => command.Identifier == int.MaxValue && string.CompareOrdinal(command.FriendlyName, model.FriendlyName) == 0 && command.Claims.Count() == model.Claims.Count(claimViewModel => claimViewModel.IsSelected))), Times.Once);
        }
Exemplo n.º 6
0
        public async Task CreateClientSecretIdentity_WhenCalledWithInvalidModel_ReturnsViewResultWhereViewNameIsEqualToCreateClientSecretIdentity()
        {
            Controller sut = CreateSut(modelIsValid: false);

            ClientSecretIdentityViewModel model = CreateModel();
            ViewResult result = (ViewResult)await sut.CreateClientSecretIdentity(model);

            Assert.That(result.ViewName, Is.EqualTo("CreateClientSecretIdentity"));
        }
Exemplo n.º 7
0
        public async Task CreateClientSecretIdentity_WhenCalledWithInvalidModel_AssertPublishAsyncWasNotCalledOnCommandBus()
        {
            Controller sut = CreateSut(modelIsValid: false);

            ClientSecretIdentityViewModel model = CreateModel();
            await sut.CreateClientSecretIdentity(model);

            _commandBusMock.Verify(m => m.PublishAsync(It.IsAny <ICreateClientSecretIdentityCommand>()), Times.Never);
        }
        public async Task UpdateClientSecretIdentity_WhenCalledWithInvalidModel_ReturnsViewResult()
        {
            Controller sut = CreateSut(modelIsValid: false);

            ClientSecretIdentityViewModel model = CreateModel();
            IActionResult result = await sut.UpdateClientSecretIdentity(model);

            Assert.That(result, Is.TypeOf <ViewResult>());
        }
Exemplo n.º 9
0
        public async Task <IActionResult> CreateClientSecretIdentity()
        {
            IEnumerable <Claim> systemClaims = await _queryBus.QueryAsync <EmptyQuery, IEnumerable <Claim> >(new EmptyQuery());

            ClientSecretIdentityViewModel clientSecretIdentityViewModel = new ClientSecretIdentityViewModel
            {
                Claims   = BuildClaimViewModelCollection(systemClaims, new List <Claim>(0)),
                EditMode = EditMode.Create
            };

            return(View("CreateClientSecretIdentity", clientSecretIdentityViewModel));
        }
Exemplo n.º 10
0
        public async Task CreateClientSecretIdentity_WhenCalledWithInvalidModel_ReturnsViewResultWhereModelIsEqualToInvalidModel()
        {
            Controller sut = CreateSut(modelIsValid: false);

            ClientSecretIdentityViewModel model = CreateModel();
            ViewResult result = (ViewResult)await sut.CreateClientSecretIdentity(model);

            Assert.That(result.Model, Is.TypeOf <ClientSecretIdentityViewModel>());

            ClientSecretIdentityViewModel clientSecretIdentityViewModel = (ClientSecretIdentityViewModel)result.Model;

            Assert.That(clientSecretIdentityViewModel, Is.EqualTo(model));
        }
Exemplo n.º 11
0
        public async Task <IActionResult> UpdateClientSecretIdentity(ClientSecretIdentityViewModel clientSecretIdentityViewModel)
        {
            NullGuard.NotNull(clientSecretIdentityViewModel, nameof(clientSecretIdentityViewModel));

            if (ModelState.IsValid == false)
            {
                return(View("UpdateClientSecretIdentity", clientSecretIdentityViewModel));
            }

            IUpdateClientSecretIdentityCommand command = _securityViewModelConverter.Convert <ClientSecretIdentityViewModel, UpdateClientSecretIdentityCommand>(clientSecretIdentityViewModel);
            await _commandBus.PublishAsync(command);

            return(RedirectToAction("ClientSecretIdentities", "Security"));
        }
Exemplo n.º 12
0
        public async Task <IActionResult> UpdateClientSecretIdentity(int identifier)
        {
            IEnumerable <Claim> systemClaims = await _queryBus.QueryAsync <EmptyQuery, IEnumerable <Claim> >(new EmptyQuery());

            IClientSecretIdentity clientSecretIdentity = await _queryBus.QueryAsync <IGetClientSecretIdentityQuery, IClientSecretIdentity>(new GetClientSecretIdentityQuery { Identifier = identifier });

            if (clientSecretIdentity == null)
            {
                return(RedirectToAction("ClientSecretIdentities", "Security"));
            }

            ClientSecretIdentityViewModel clientSecretIdentityViewModel = _securityViewModelConverter.Convert <IClientSecretIdentity, ClientSecretIdentityViewModel>(clientSecretIdentity);

            clientSecretIdentityViewModel.Claims   = BuildClaimViewModelCollection(systemClaims, clientSecretIdentity.ToClaimsIdentity().Claims);
            clientSecretIdentityViewModel.EditMode = EditMode.Edit;

            return(View("UpdateClientSecretIdentity", clientSecretIdentityViewModel));
        }