public async Task SigninFailureReturnsNullAndLogsTheIssue() { // arrange var loggerMock = LoggerFixture.SetupLogCatcher(); const string tokenName = "Test Token"; var refreshToken = Guid.NewGuid().ToString(); var fixture = new TokenManagerFixture(); await fixture.SetupServerDataAsync(tokenName, true); var token = fixture.TokenGenerator.GenerateToken(); fixture.WellKnownSetup(); fixture.SetupCertificates(); fixture.AuthSetup(token, refreshToken); var sut = fixture.Instance; // act var result = await sut.CheckSigninAsync(tokenName); // assert result.Should().BeNull(); loggerMock.Verify(t => t.Error("Error occured during user authentication. {Error}", It.IsAny <string>()), Times.Once); fixture.HttpMock.HttpMock.Dispose(); }
public async Task IfThereAreNoTokensSigninIsExecutedToAcquireTokens() { // arrange const string tokenName = "Test Token"; var refreshToken = Guid.NewGuid().ToString(); var fixture = new TokenManagerFixture(); await fixture.SetupServerDataAsync(tokenName, true); var token = fixture.TokenGenerator.GenerateToken(); fixture.WellKnownSetup(); fixture.SetupCertificates(); fixture.AuthSetup(token, refreshToken); fixture.UserInfoSetup(); var sut = fixture.Instance; // act var result = await sut.CheckSigninAsync(tokenName); // assert result.Token.Should().Be(token); fixture.TokenStorageMock.Verify(t => t.StoreAccessTokenAsync(tokenName, token), Times.Once); fixture.TokenStorageMock.Verify(t => t.StoreRefreshTokenAsync(tokenName, refreshToken), Times.Once); fixture.HttpMock.Dispose(); }
public async Task FailureDuringRefreshTokenRetrievalWillResultInFullTokenRetrieval() { // arrange var loggerMock = LoggerFixture.SetupLogCatcher(); const string tokenName = "Test Token"; var refreshToken = Guid.NewGuid().ToString(); var fixture = new TokenManagerFixture(); await fixture.SetupServerDataAsync(tokenName); var token = fixture.TokenGenerator.GenerateToken(DateTime.UtcNow.AddMinutes(-15), DateTime.UtcNow.AddMinutes(-10), DateTime.UtcNow.AddMinutes(-17)); var tokenDataDummy = new TokenData(token); var newAccessToken = fixture.TokenGenerator.GenerateToken(); fixture.TokenStorageMock .Setup(t => t.RetrieveAccessTokenAsync(tokenName)) .ReturnsAsync(tokenDataDummy); fixture.TokenStorageMock .Setup(t => t.RetrieveRefreshTokenAsync(tokenName)) .ReturnsAsync(refreshToken); fixture.WellKnownSetup(); fixture.SetupCertificates(); fixture.AuthRefreshSetup(newAccessToken, refreshToken, true); fixture.AuthSetup(newAccessToken, refreshToken); fixture.UserInfoSetup(); var sut = fixture.Instance; // act await sut.CheckSigninAsync(tokenName); // assert loggerMock.Verify(t => t.Error("Error occured while trying to refresh Access Token. {Error}", It.IsAny <string>())); //result.Should().NotBeNull(); loggerMock.Verify(t => t.Error("Error occured during user authentication. {Error}", It.IsAny <string>()), Times.Once); fixture.HttpMock.HttpMock.Dispose(); }