public void HandleLogoutAsync_WhenHttpContextIsNull_ThrowsArgumentNullException() { ITokenHelperFactory sut = CreateSut(); ArgumentNullException result = Assert.ThrowsAsync <ArgumentNullException>(async() => await sut.HandleLogoutAsync(null)); Assert.That(result.ParamName, Is.EqualTo("httpContext")); }
public void AcquireTokenAsync_WhenHttpContextIsNull_ThrowsArgumentNullException() { ITokenHelperFactory sut = CreateSut(); ArgumentNullException result = Assert.ThrowsAsync <ArgumentNullException>(async() => await sut.AcquireTokenAsync(_fixture.Create <TokenType>(), null)); Assert.That(result.ParamName, Is.EqualTo("httpContext")); }
public void RefreshTokenAsync_WhenReturnUrlIsEmpty_ThrowsArgumentNullException() { ITokenHelperFactory sut = CreateSut(); ArgumentNullException result = Assert.ThrowsAsync <ArgumentNullException>(async() => await sut.RefreshTokenAsync(_fixture.Create <TokenType>(), CreateHttpContext(), string.Empty)); Assert.That(result.ParamName, Is.EqualTo("returnUrl")); }
public void StoreTokenAsync_WhenBase64TokenIsWhiteSpace_ThrowsArgumentNullException() { ITokenHelperFactory sut = CreateSut(); ArgumentNullException result = Assert.ThrowsAsync <ArgumentNullException>(async() => await sut.StoreTokenAsync(_fixture.Create <TokenType>(), CreateHttpContext(), " ")); Assert.That(result.ParamName, Is.EqualTo("base64Token")); }
public void AuthorizeAsync_WhenReturnUrlIsWhiteSpace_ThrowsArgumentNullException() { ITokenHelperFactory sut = CreateSut(); ArgumentNullException result = Assert.ThrowsAsync <ArgumentNullException>(async() => await sut.AuthorizeAsync(_fixture.Create <TokenType>(), CreateHttpContext(), " ")); Assert.That(result.ParamName, Is.EqualTo("returnUrl")); }
public void AcquireTokenAsync_WhenCalledWithUnsupportedTokenType_ThrowsNotSupportedException() { ITokenHelperFactory sut = CreateSut(); TokenType tokenType = _fixture.Create <TokenType>(); NotSupportedException result = Assert.ThrowsAsync <NotSupportedException>(async() => await sut.AcquireTokenAsync(tokenType, CreateHttpContext())); Assert.That(result.Message, Is.EqualTo($"The token type '{tokenType}' is not supported within the method 'AcquireTokenAsync'.")); }
public void GetTokenAsync_WhenCalledWithSupportedTokenTypeButUnsupportedGenericToken_ThrowsNotSupportedException() { TokenType tokenType = _fixture.Create <TokenType>(); ITokenHelper <IToken> tokenHelper = BuildTokenHelperMock <IToken>(tokenType).Object; ITokenHelperFactory sut = CreateSut(new[] { tokenHelper }); NotSupportedException result = Assert.ThrowsAsync <NotSupportedException>(async() => await sut.GetTokenAsync <IRefreshableToken>(tokenType, CreateHttpContext())); Assert.That(result.Message, Is.EqualTo($"The helper logic for the token type '{tokenType}' does not support the generic type 'IRefreshableToken' within the method 'GetTokenAsync'.")); }
public AccountController(ICommandBus commandBus, ITrustedDomainHelper trustedDomainHelper, ITokenHelperFactory tokenHelperFactory) { NullGuard.NotNull(commandBus, nameof(commandBus)) .NotNull(trustedDomainHelper, nameof(trustedDomainHelper)) .NotNull(tokenHelperFactory, nameof(tokenHelperFactory)); _commandBus = commandBus; _trustedDomainHelper = trustedDomainHelper; _tokenHelperFactory = tokenHelperFactory; }
public async Task GetTokenAsync_WhenCalledWithSupportedTokenType_AssertGetTokenAsyncWasCalledOnTokenHelperForTokenType() { TokenType tokenType = _fixture.Create <TokenType>(); Mock <ITokenHelper <IRefreshableToken> > tokenHelperMock = BuildTokenHelperMock <IRefreshableToken>(tokenType); ITokenHelperFactory sut = CreateSut(new[] { tokenHelperMock.Object }); HttpContext httpContext = CreateHttpContext(); await sut.GetTokenAsync <IRefreshableToken>(tokenType, httpContext); tokenHelperMock.Verify(m => m.GetTokenAsync(It.Is <HttpContext>(value => value == httpContext)), Times.Once); }
public HomeController(IQueryBus queryBus, IClaimResolver claimResolver, ITokenHelperFactory tokenHelperFactory, IAcmeChallengeResolver acmeChallengeResolver) { NullGuard.NotNull(queryBus, nameof(queryBus)) .NotNull(claimResolver, nameof(claimResolver)) .NotNull(tokenHelperFactory, nameof(tokenHelperFactory)) .NotNull(acmeChallengeResolver, nameof(acmeChallengeResolver)); _queryBus = queryBus; _claimResolver = claimResolver; _tokenHelperFactory = tokenHelperFactory; _acmeChallengeResolver = acmeChallengeResolver; }
public async Task AcquireTokenAsync_WhenCalledWithSupportedTokenTypeWithoutArguments_ReturnsActionResultFromAcquireTokenAsyncOnTokenHelperForTokenType() { TokenType tokenType = _fixture.Create <TokenType>(); IActionResult actionResult = new Mock <IActionResult>().Object; ITokenHelper tokenHelper = BuildTokenHelperMock(tokenType, actionResult).Object; ITokenHelperFactory sut = CreateSut(new[] { tokenHelper }); HttpContext httpContext = CreateHttpContext(); IActionResult result = await sut.AcquireTokenAsync(tokenType, httpContext); Assert.That(result, Is.EqualTo(actionResult)); }
public ContactController(ICommandBus commandBus, IQueryBus queryBus, IClaimResolver claimResolver, ITokenHelperFactory tokenHelperFactory) { NullGuard.NotNull(commandBus, nameof(commandBus)) .NotNull(queryBus, nameof(queryBus)) .NotNull(claimResolver, nameof(claimResolver)) .NotNull(tokenHelperFactory, nameof(tokenHelperFactory)); _commandBus = commandBus; _queryBus = queryBus; _claimResolver = claimResolver; _tokenHelperFactory = tokenHelperFactory; }
public async Task GetTokenAsync_WhenCalledWithSupportedTokenType_ReturnTokenFromGetTokenAsyncOnTokenHelperForTokenType() { TokenType tokenType = _fixture.Create <TokenType>(); IRefreshableToken refreshableToken = _fixture.BuildRefreshableTokenMock().Object; ITokenHelper <IRefreshableToken> tokenHelper = BuildTokenHelperMock(tokenType, refreshableToken).Object; ITokenHelperFactory sut = CreateSut(new[] { tokenHelper }); HttpContext httpContext = CreateHttpContext(); IRefreshableToken result = await sut.GetTokenAsync <IRefreshableToken>(tokenType, httpContext); Assert.That(result, Is.EqualTo(refreshableToken)); }
public async Task RefreshTokenAsync_WhenCalledWithSupportedTokenType_ReturnsActionResultFromRefreshTokenAsyncOnTokenHelperForTokenType() { TokenType tokenType = _fixture.Create <TokenType>(); IActionResult actionResult = new Mock <IActionResult>().Object; ITokenHelper tokenHelper = BuildTokenHelperMock(tokenType, actionResult).Object; ITokenHelperFactory sut = CreateSut(new[] { tokenHelper }); HttpContext httpContext = CreateHttpContext(); string resultUrl = _fixture.Create <string>(); IActionResult result = await sut.RefreshTokenAsync(tokenType, httpContext, resultUrl); Assert.That(result, Is.EqualTo(actionResult)); }
public async Task AcquireTokenAsync_WhenCalledWithSupportedTokenTypeWithoutArguments_AssertAcquireTokenAsyncWasCalledOnTokenHelperForTokenType() { TokenType tokenType = _fixture.Create <TokenType>(); Mock <ITokenHelper> tokenHelperMock = BuildTokenHelperMock(tokenType); ITokenHelperFactory sut = CreateSut(new[] { tokenHelperMock.Object }); HttpContext httpContext = CreateHttpContext(); await sut.AcquireTokenAsync(tokenType, httpContext); tokenHelperMock.Verify(m => m.AcquireTokenAsync( It.Is <HttpContext>(value => value == httpContext), It.Is <object[]>(value => value != null && value.Length == 0)), Times.Once); }
public async Task StoreTokenAsync_WhenCalledWithSupportedTokenType_AssertStoreTokenAsyncWasCalledOnTokenHelperForTokenType() { TokenType tokenType = _fixture.Create <TokenType>(); Mock <ITokenHelper> tokenHelperMock = BuildTokenHelperMock(tokenType); ITokenHelperFactory sut = CreateSut(new[] { tokenHelperMock.Object }); HttpContext httpContext = CreateHttpContext(); string base64Token = _fixture.Create <string>(); await sut.StoreTokenAsync(tokenType, httpContext, base64Token); tokenHelperMock.Verify(m => m.StoreTokenAsync( It.Is <HttpContext>(value => value == httpContext), It.Is <string>(value => string.CompareOrdinal(value, base64Token) == 0)), Times.Once); }
public async Task HandleLogoutAsync_WhenCalled_AssertHandleLogoutAsyncWasCalledOnEachTokenHelper() { IEnumerable <Mock <ITokenHelper> > tokenHelperMockCollection = new List <Mock <ITokenHelper> > { BuildTokenHelperMock() }; ITokenHelperFactory sut = CreateSut(tokenHelperMockCollection.Select(m => m.Object).ToArray()); HttpContext httpContext = CreateHttpContext(); await sut.HandleLogoutAsync(httpContext); foreach (Mock <ITokenHelper> tokenHelperMock in tokenHelperMockCollection) { tokenHelperMock.Verify(m => m.HandleLogoutAsync(It.Is <HttpContext>(value => value == httpContext)), Times.Once); } }
public async Task AcquireTokenAsync_WhenCalledWithSupportedTokenTypeWithArguments_AssertAcquireTokenAsyncWasCalledOnTokenHelperForTokenType() { TokenType tokenType = _fixture.Create <TokenType>(); Mock <ITokenHelper> tokenHelperMock = BuildTokenHelperMock(tokenType); ITokenHelperFactory sut = CreateSut(new[] { tokenHelperMock.Object }); HttpContext httpContext = CreateHttpContext(); object[] arguments = _fixture.CreateMany <object>(_random.Next(5, 10)).ToArray(); await sut.AcquireTokenAsync(tokenType, httpContext, arguments); tokenHelperMock.Verify(m => m.AcquireTokenAsync( It.Is <HttpContext>(value => value == httpContext), It.Is <object[]>(value => value == arguments)), Times.Once); }
public AcquireTokenActionFilter(ITokenHelperFactory tokenHelperFactory) { NullGuard.NotNull(tokenHelperFactory, nameof(tokenHelperFactory)); _tokenHelperFactory = tokenHelperFactory; }