public async Task ProcessContext_ValidAuthStatus_InvalidAuthResponseProvided() { // Arrange string accessToken = "accessToken"; string refreshToken = "refreshToken"; Mock <IAuthService> authServiceMock = GetValidAuthService(accessToken, refreshToken); RequestPipelineManager service = new RequestPipelineManager(authServiceMock.Object); HttpContext context = GetRequestWithTokens(); // Act HttpContext processedContext = service.ProcessRequest(context); // Assert Assert.IsNotEmpty(processedContext.Response.Headers); bool hasRespons = processedContext.Response.Headers.TryGetValue(Strings.AuthenticationResponseKey, out StringValues values); Assert.IsTrue(hasRespons); Assert.IsNotEmpty(values); Assert.AreEqual(Strings.AuthenticationSuccesful, values[0]); bool hasAccessToken = processedContext.Response.Headers.TryGetValue(Strings.AccessTokenKey, out StringValues accessTokenValues); Assert.IsTrue(hasAccessToken); Assert.IsNotEmpty(accessToken); Assert.AreEqual(accessToken, accessTokenValues[0]); bool hasRefreshToken = processedContext.Response.Headers.TryGetValue(Strings.RefreshTokenKey, out StringValues refreshTokenValues); Assert.IsTrue(hasRefreshToken); Assert.IsNotEmpty(refreshTokenValues); Assert.AreEqual(refreshToken, refreshTokenValues[0]); Assert.AreEqual((int)HttpStatusCode.Accepted, processedContext.Response.StatusCode); }
public async Task ProcessContext_InvalidAuthStatus_InvalidAuthResponseProvided() { // Arrange Mock <IAuthService> authServiceMock = GetInvalidAuthService(); RequestPipelineManager service = new RequestPipelineManager(authServiceMock.Object); HttpContext context = GetRequestWithTokens(); // Act HttpContext processedContext = service.ProcessRequest(context); // Assert Assert.IsNotEmpty(processedContext.Response.Headers); bool hasRespons = processedContext.Response.Headers.TryGetValue(Strings.AuthenticationResponseKey, out StringValues values); Assert.IsTrue(hasRespons); Assert.IsNotEmpty(values); Assert.AreEqual(Strings.InvalidAccessAndRefreshTokens, values[0]); Assert.AreEqual((int)HttpStatusCode.Unauthorized, processedContext.Response.StatusCode); }
public async Task ProcessContext_NoAccessTokenHeader_ResponseWithMissingTokensHeader() { // Arrange Mock <RequestDelegate> delegateMock = new Mock <RequestDelegate>(); Mock <IAuthService> authServiceMock = new Mock <IAuthService>(); RequestPipelineManager service = new RequestPipelineManager(authServiceMock.Object); HttpContext context = new DefaultHttpContext(); // Act HttpContext processedContext = service.ProcessRequest(context); // Assert Assert.IsNotEmpty(processedContext.Response.Headers); bool hasRespons = processedContext.Response.Headers.TryGetValue(Strings.AuthenticationResponseKey, out StringValues values); Assert.IsTrue(hasRespons); Assert.IsNotEmpty(values); Assert.AreEqual(Strings.AccessOrRefreshTokenNotProvided, values[0]); Assert.AreEqual((int)HttpStatusCode.BadRequest, processedContext.Response.StatusCode); }