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); } }
private QueryHandler CreateSut(IClientSecretIdentity clientSecretIdentity = null) { _securityRepositoryMock.Setup(m => m.GetClientSecretIdentityAsync(It.IsAny <int>())) .Returns(Task.Run(() => clientSecretIdentity ?? _fixture.Create <IClientSecretIdentity>())); return(new QueryHandler(_validatorMock.Object, _securityRepositoryMock.Object)); }
public void Build_WhereWithIdentifierHasNotBeenCalled_AssertDefaultIdentifier() { IClientSecretIdentityBuilder sut = CreateSut(); IClientSecretIdentity result = sut.Build(); Assert.That(result.Identifier, Is.EqualTo(default(int))); }
public void ToDomain_WhenCalledWithoutClientIdAndClientSecret_ReturnsClientSecretIdentity() { IClientSecretIdentityCommand sut = CreateSut(); IClientSecretIdentity result = sut.ToDomain(); Assert.That(result, Is.TypeOf <ClientSecretIdentity>()); }
public void ToClaimsIdentity_WhenCalled_ReturnsClaimsIdentity() { IClientSecretIdentity sut = CreateSut(); ClaimsIdentity result = sut.ToClaimsIdentity(); Assert.That(result, Is.EqualTo(sut)); }
protected override async Task ManageRepositoryAsync(ICreateClientSecretIdentityCommand command) { NullGuard.NotNull(command, nameof(command)); IClientSecretIdentity clientSecretIdentity = command.ToDomain(); await SecurityRepository.CreateClientSecretIdentityAsync(clientSecretIdentity); }
private Mock <ICreateClientSecretIdentityCommand> CreateCommandMock(IClientSecretIdentity clientSecretIdentity = null) { Mock <ICreateClientSecretIdentityCommand> commandMock = new Mock <ICreateClientSecretIdentityCommand>(); commandMock.Setup(m => m.ToDomain()) .Returns(clientSecretIdentity ?? _fixture.BuildClientSecretIdentityMock().Object); return(commandMock); }
public void Build_WhereWithClientSecretHasNotBeenCalled_AssertDefaultClientSecret() { IClientSecretIdentityBuilder sut = CreateSut(); IClientSecretIdentity result = sut.Build(); Assert.That(result.ClientSecret.Length, Is.EqualTo(32)); }
public void ClearSensitiveData_WhenCalled_AssertClientSecretIsNull() { IClientSecretIdentity sut = CreateSut(); sut.ClearSensitiveData(); Assert.That(sut.ClientSecret, Is.Null); }
public void Build_WhereAddClaimsHasNotBeenCalled_AssertDefaultClaims() { IClientSecretIdentityBuilder sut = CreateSut(); IClientSecretIdentity result = sut.Build(); Assert.That(result.ToClaimsIdentity().Claims.Count(), Is.EqualTo(4)); }
public void AddToken_WhenTokenIsNull_ThrowsArgumentNullException() { IClientSecretIdentity sut = CreateSut(); ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.AddToken(null)); Assert.That(result.ParamName, Is.EqualTo("token")); }
public void Build_WhenCalled_AssertCorrectFriendlyName() { string friendlyName = Fixture.Create <string>(); IClientSecretIdentityBuilder sut = CreateSut(friendlyName); IClientSecretIdentity result = sut.Build(); Assert.That(result.FriendlyName, Is.EqualTo(friendlyName)); }
public async Task GetClientSecretIdentityAsync_WhenCalledWithClientId_ReturnsClientSecretIdentity() { ISecurityRepository sut = CreateSut(); IList <IClientSecretIdentity> clientSecretIdentityCollection = (await sut.GetClientSecretIdentitiesAsync()).ToList(); IClientSecretIdentity result = await sut.GetClientSecretIdentityAsync(clientSecretIdentityCollection[_random.Next(0, clientSecretIdentityCollection.Count - 1)].ClientId); Assert.That(result, Is.Not.Null); }
public async Task ExecuteAsync_WhenClientIdIsUnknown_ReturnsNull() { CommandHandler sut = CreateSut(false); IAuthenticateClientSecretCommand command = CreateCommand(); IClientSecretIdentity result = await sut.ExecuteAsync(command); Assert.That(result, Is.Null); }
public void Build_WhereWithClientSecretHasBeenCalled_AssertCorrectClientSecret() { IClientSecretIdentityBuilder sut = CreateSut(); string clientSecret = Fixture.Create <string>(); IClientSecretIdentity result = sut.WithClientSecret(clientSecret).Build(); Assert.That(result.ClientSecret, Is.EqualTo(clientSecret)); }
public void Build_WhereWithIdentifierHasBeenCalled_AssertCorrectIdentifier() { IClientSecretIdentityBuilder sut = CreateSut(); int identifier = Fixture.Create <int>(); IClientSecretIdentity result = sut.WithIdentifier(identifier).Build(); Assert.That(result.Identifier, Is.EqualTo(identifier)); }
public void ToDomain_WhenCalledWithoutClientIdAndClientSecret_ReturnsClientSecretIdentityWithIdentifierFromCommand() { int identifier = _fixture.Create <int>(); IClientSecretIdentityCommand sut = CreateSut(identifier); IClientSecretIdentity result = sut.ToDomain(); Assert.That(result.Identifier, Is.EqualTo(identifier)); }
public void ToDomain_WhenCalledWithoutClientIdAndClientSecret_ReturnsClientSecretIdentityWhereClientSecretIsNotNullEmptyOrWhiteSpace() { string friendlyName = _fixture.Create <string>(); IClientSecretIdentityCommand sut = CreateSut(friendlyName: friendlyName); IClientSecretIdentity result = sut.ToDomain(); Assert.That(string.IsNullOrWhiteSpace(result.ClientSecret), Is.False); }
public void ToDomain_WhenCalledWithoutClientIdAndClientSecret_ReturnsClientSecretIdentityWithFriendlyNameFromCommand() { string friendlyName = _fixture.Create <string>(); IClientSecretIdentityCommand sut = CreateSut(friendlyName: friendlyName); IClientSecretIdentity result = sut.ToDomain(); Assert.That(result.FriendlyName, Is.EqualTo(friendlyName)); }
public async Task ExecuteAsync_WhenCalledAndExistingClientIdentifierExists_AssertUpdateClientSecretIdentityAsyncWasCalledOnSecurityRepository() { CommandHandler sut = CreateSut(); IClientSecretIdentity clientSecretIdentity = _fixture.BuildClientSecretIdentityMock().Object; IUpdateClientSecretIdentityCommand command = CreateCommandMock(clientSecretIdentity: clientSecretIdentity).Object; await sut.ExecuteAsync(command); _securityRepositoryMock.Verify(m => m.UpdateClientSecretIdentityAsync(It.Is <IClientSecretIdentity>(value => value == clientSecretIdentity)), Times.Once); }
public void ToDomain_WhenCalledWithClientIdAndClientSecret_ReturnsClientSecretIdentity() { IClientSecretIdentityCommand sut = CreateSut(); string clientId = _fixture.Create <string>(); string clientSecret = _fixture.Create <string>(); IClientSecretIdentity result = sut.ToDomain(clientId, clientSecret); Assert.That(result, Is.TypeOf <ClientSecretIdentity>()); }
public void AddToken_WhenCalled_AddsToken() { IClientSecretIdentity sut = CreateSut(); IToken token = Fixture.BuildTokenMock().Object; sut.AddToken(token); Assert.That(sut.Token, Is.EqualTo(token)); }
public async Task QueryAsync_WhenCalled_ReturnsClientSecretIdentityFromSecurityRepository() { IClientSecretIdentity clientSecretIdentity = _fixture.Create <IClientSecretIdentity>(); QueryHandler sut = CreateSut(clientSecretIdentity); IGetClientSecretIdentityQuery query = CreateQueryMock().Object; IClientSecretIdentity result = await sut.QueryAsync(query); Assert.That(result, Is.EqualTo(clientSecretIdentity)); }
public void ToDomain_WhenCalledWithClientIdAndClientSecret_ReturnsClientSecretIdentityWithClientSecret() { string friendlyName = _fixture.Create <string>(); IClientSecretIdentityCommand sut = CreateSut(friendlyName: friendlyName); string clientId = _fixture.Create <string>(); string clientSecret = _fixture.Create <string>(); IClientSecretIdentity result = sut.ToDomain(clientId, clientSecret); Assert.That(result.ClientSecret, Is.EqualTo(clientSecret)); }
public Task <IClientSecretIdentity> UpdateClientSecretIdentityAsync(IClientSecretIdentity clientSecretIdentity) { NullGuard.NotNull(clientSecretIdentity, nameof(clientSecretIdentity)); return(ExecuteAsync(async() => { using ClientSecretIdentityModelHandler clientSecretIdentityModelHandler = new ClientSecretIdentityModelHandler(DbContext, SecurityModelConverter.Create()); return await clientSecretIdentityModelHandler.UpdateAsync(clientSecretIdentity); }, MethodBase.GetCurrentMethod())); }
public void ToDomain_WhenCalledWithoutClientIdAndClientSecret_ReturnsClientSecretIdentityWithClaimsFromCommand() { IEnumerable <Claim> claims = _fixture.CreateMany <Claim>(_random.Next(5, 10)).ToList();; IClientSecretIdentityCommand sut = CreateSut(claims: claims); IClientSecretIdentity result = sut.ToDomain(); foreach (Claim claim in claims) { Assert.That(result.ToClaimsIdentity().Claims.SingleOrDefault(m => string.CompareOrdinal(claim.ValueType, m.ValueType) == 0 && string.CompareOrdinal(claim.Value, m.Value) == 0), Is.Not.Null); } }
public async Task ExecuteAsync_WhenClientIdIsKnownAndClientSecretDoesMatch_ReturnsClientSecretIdentity() { string clientSecret = _fixture.Create <string>(); IClientSecretIdentity clientSecretIdentity = _fixture.BuildClientSecretIdentityMock(clientSecret: clientSecret).Object; CommandHandler sut = CreateSut(clientSecretIdentity: clientSecretIdentity); string submittedClientSecret = clientSecret; IAuthenticateClientSecretCommand command = CreateCommand(clientSecret: submittedClientSecret); IClientSecretIdentity result = await sut.ExecuteAsync(command); Assert.That(result, Is.EqualTo(clientSecretIdentity)); }
public async Task ExecuteAsync_WhenClientIdIsKnownAndClientSecretDoesMatch_AssertGenerateWasCalledOnTokenHelper() { string clientSecret = _fixture.Create <string>(); IClientSecretIdentity clientSecretIdentity = _fixture.BuildClientSecretIdentityMock(clientSecret: clientSecret).Object; CommandHandler sut = CreateSut(clientSecretIdentity: clientSecretIdentity); string submittedClientSecret = clientSecret; IAuthenticateClientSecretCommand command = CreateCommand(clientSecret: submittedClientSecret); await sut.ExecuteAsync(command); _tokenHelperMock.Verify(m => m.Generate(It.Is <IClientSecretIdentity>(value => value == clientSecretIdentity)), Times.Once); }
public async Task ExecuteAsync_WhenClientIdIsKnownAndClientSecretDoesNotMatch_ReturnNull() { string clientSecret = _fixture.Create <string>(); Mock <IClientSecretIdentity> clientSecretIdentityMock = _fixture.BuildClientSecretIdentityMock(clientSecret: clientSecret); CommandHandler sut = CreateSut(clientSecretIdentity: clientSecretIdentityMock.Object); string submittedClientSecret = _fixture.Create <string>(); IAuthenticateClientSecretCommand command = CreateCommand(clientSecret: submittedClientSecret); IClientSecretIdentity result = await sut.ExecuteAsync(command); Assert.That(result, Is.Null); }
public void Build_WhereAddClaimsHasBeenCalled_AssertCorrectClaims() { IClientSecretIdentityBuilder sut = CreateSut(); IEnumerable <Claim> claimCollection = Fixture.CreateMany <Claim>(_random.Next(5, 10)).ToList(); IClientSecretIdentity result = sut.AddClaims(claimCollection).Build(); Assert.That(result.ToClaimsIdentity().Claims.Count(), Is.EqualTo(4 + claimCollection.Count())); foreach (Claim claim in claimCollection) { Assert.That(result.ToClaimsIdentity().Claims.SingleOrDefault(m => string.Compare(m.Type, claim.Type, StringComparison.Ordinal) == 0), Is.Not.Null); } }