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); } }
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")); }
public async Task CreateClientSecretIdentity_WhenCalledWithValidModel_ReturnsRedirectToActionResult() { Controller sut = CreateSut(); ClientSecretIdentityViewModel model = CreateModel(); IActionResult result = await sut.CreateClientSecretIdentity(model); Assert.That(result, Is.TypeOf <RedirectToActionResult>()); }
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); }
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")); }
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>()); }
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)); }
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)); }
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")); }
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)); }