public async Task <IActionResult> MicrosoftGraphCallback(string code, string state) { NullGuard.NotNullOrWhiteSpace(code, nameof(code)) .NotNullOrWhiteSpace(state, nameof(state)); if (Guid.TryParse(state, out Guid stateIdentifier) == false) { return(BadRequest()); } return(await _tokenHelperFactory.AcquireTokenAsync(TokenType.MicrosoftGraphToken, HttpContext, stateIdentifier, code)); }
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 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 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 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 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")); }