From 4d9b7edfd8466002d7a5ff0789c4115adb7ff48e Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Thu, 31 Mar 2016 10:05:32 -0700 Subject: [PATCH] Revert the temporary fix of HttpClient where cookies were not being sent as part of redirect request --- test/E2ETests/Implementation/FacebookLoginScenarios.cs | 5 +---- test/E2ETests/Implementation/GoogleLoginScenarios.cs | 4 +--- .../MicrosoftAccountAuthenticationScenarios.cs | 5 +---- .../Implementation/OpenIdConnectLoginScenarios.cs | 2 +- test/E2ETests/Implementation/TwitterLoginScenarios.cs | 5 +---- test/E2ETests/Implementation/Validator.cs | 9 --------- test/E2ETests/NtlmAuthentationTest.cs | 2 +- test/E2ETests/OpenIdConnectTests.cs | 2 +- test/E2ETests/PublishAndRunTests.cs | 2 +- test/E2ETests/SmokeTests.cs | 6 +----- 10 files changed, 9 insertions(+), 33 deletions(-) diff --git a/test/E2ETests/Implementation/FacebookLoginScenarios.cs b/test/E2ETests/Implementation/FacebookLoginScenarios.cs index 58fdce7429..832d92a7f4 100644 --- a/test/E2ETests/Implementation/FacebookLoginScenarios.cs +++ b/test/E2ETests/Implementation/FacebookLoginScenarios.cs @@ -42,7 +42,7 @@ namespace E2ETests //Assert.NotNull(_httpClientHandler.CookieContainer.GetCookies(new Uri(_deploymentResult.ApplicationBaseUri)).GetCookieWithName(".AspNetCore.Correlation.Facebook")); //This is just to generate a correlation cookie. Previous step would generate this cookie, but we have reset the handler now. - _httpClientHandler = new HttpClientHandler() { AllowAutoRedirect = false }; + _httpClientHandler = new HttpClientHandler(); _httpClient = new HttpClient(_httpClientHandler) { BaseAddress = new Uri(_deploymentResult.ApplicationBaseUri) }; response = await DoGetAsync("Account/Login"); @@ -56,10 +56,8 @@ namespace E2ETests content = new FormUrlEncodedContent(formParameters.ToArray()); response = await DoPostAsync("Account/ExternalLogin", content); - response = await DoGetAsync(response.Headers.Location); //Post a message to the Facebook middleware response = await DoGetAsync("signin-facebook?code=ValidCode&state=ValidStateData"); - response = await DoGetAsync(response.Headers.Location); await ThrowIfResponseStatusNotOk(response); responseContent = await response.Content.ReadAsStringAsync(); @@ -79,7 +77,6 @@ namespace E2ETests content = new FormUrlEncodedContent(formParameters.ToArray()); response = await DoPostAsync("Account/ExternalLoginConfirmation", content); - response = await DoGetAsync(response.Headers.Location); await ThrowIfResponseStatusNotOk(response); responseContent = await response.Content.ReadAsStringAsync(); diff --git a/test/E2ETests/Implementation/GoogleLoginScenarios.cs b/test/E2ETests/Implementation/GoogleLoginScenarios.cs index 1f04149467..9dcb080caa 100644 --- a/test/E2ETests/Implementation/GoogleLoginScenarios.cs +++ b/test/E2ETests/Implementation/GoogleLoginScenarios.cs @@ -43,7 +43,7 @@ namespace E2ETests //Assert.NotNull(_httpClientHandler.CookieContainer.GetCookies(new Uri(_deploymentResult.ApplicationBaseUri)).GetCookieWithName(".AspNetCore.Correlation.Google")); //This is just to generate a correlation cookie. Previous step would generate this cookie, but we have reset the handler now. - _httpClientHandler = new HttpClientHandler() { AllowAutoRedirect = false }; + _httpClientHandler = new HttpClientHandler(); _httpClient = new HttpClient(_httpClientHandler) { BaseAddress = new Uri(_deploymentResult.ApplicationBaseUri) }; response = await DoGetAsync("Account/Login"); @@ -60,7 +60,6 @@ namespace E2ETests //Post a message to the Google middleware response = await DoGetAsync("signin-google?code=ValidCode&state=ValidStateData"); - response = await DoGetAsync(response.Headers.Location); await ThrowIfResponseStatusNotOk(response); responseContent = await response.Content.ReadAsStringAsync(); @@ -80,7 +79,6 @@ namespace E2ETests content = new FormUrlEncodedContent(formParameters.ToArray()); response = await DoPostAsync("Account/ExternalLoginConfirmation", content); - response = await DoGetAsync(response.Headers.Location); await ThrowIfResponseStatusNotOk(response); responseContent = await response.Content.ReadAsStringAsync(); diff --git a/test/E2ETests/Implementation/MicrosoftAccountAuthenticationScenarios.cs b/test/E2ETests/Implementation/MicrosoftAccountAuthenticationScenarios.cs index 5f5d8ed2e2..b57dc39019 100644 --- a/test/E2ETests/Implementation/MicrosoftAccountAuthenticationScenarios.cs +++ b/test/E2ETests/Implementation/MicrosoftAccountAuthenticationScenarios.cs @@ -43,7 +43,7 @@ namespace E2ETests //Assert.NotNull(_httpClientHandler.CookieContainer.GetCookies(new Uri(_deploymentResult.ApplicationBaseUri)).GetCookieWithName(".AspNetCore.Correlation.Microsoft")); //This is just to generate a correlation cookie. Previous step would generate this cookie, but we have reset the handler now. - _httpClientHandler = new HttpClientHandler() { AllowAutoRedirect = false }; + _httpClientHandler = new HttpClientHandler(); _httpClient = new HttpClient(_httpClientHandler) { BaseAddress = new Uri(_deploymentResult.ApplicationBaseUri) }; response = await DoGetAsync("Account/Login"); @@ -57,10 +57,8 @@ namespace E2ETests content = new FormUrlEncodedContent(formParameters.ToArray()); response = await DoPostAsync("Account/ExternalLogin", content); - response = await DoGetAsync(response.Headers.Location); //Post a message to the MicrosoftAccount middleware response = await DoGetAsync("signin-microsoft?code=ValidCode&state=ValidStateData"); - response = await DoGetAsync(response.Headers.Location); await ThrowIfResponseStatusNotOk(response); responseContent = await response.Content.ReadAsStringAsync(); @@ -79,7 +77,6 @@ namespace E2ETests content = new FormUrlEncodedContent(formParameters.ToArray()); response = await DoPostAsync("Account/ExternalLoginConfirmation", content); - response = await DoGetAsync(response.Headers.Location); await ThrowIfResponseStatusNotOk(response); responseContent = await response.Content.ReadAsStringAsync(); diff --git a/test/E2ETests/Implementation/OpenIdConnectLoginScenarios.cs b/test/E2ETests/Implementation/OpenIdConnectLoginScenarios.cs index 9418ffb75f..ed2dbe75dd 100644 --- a/test/E2ETests/Implementation/OpenIdConnectLoginScenarios.cs +++ b/test/E2ETests/Implementation/OpenIdConnectLoginScenarios.cs @@ -42,7 +42,7 @@ namespace E2ETests Assert.NotNull(_httpClientHandler.CookieContainer.GetCookies(new Uri(_deploymentResult.ApplicationBaseUri)).GetCookieWithName(".AspNetCore.OpenIdConnect.Nonce.protectedString")); // This is just enable the auto-redirect. - _httpClientHandler = new HttpClientHandler() { AllowAutoRedirect = true }; + _httpClientHandler = new HttpClientHandler(); _httpClient = new HttpClient(_httpClientHandler) { BaseAddress = new Uri(_deploymentResult.ApplicationBaseUri) }; foreach (var header in Microsoft.Net.Http.Headers.SetCookieHeaderValue.ParseList(response.Headers.GetValues("Set-Cookie").ToList())) { diff --git a/test/E2ETests/Implementation/TwitterLoginScenarios.cs b/test/E2ETests/Implementation/TwitterLoginScenarios.cs index f19c60a6f3..d9902a1864 100644 --- a/test/E2ETests/Implementation/TwitterLoginScenarios.cs +++ b/test/E2ETests/Implementation/TwitterLoginScenarios.cs @@ -41,7 +41,7 @@ namespace E2ETests Assert.NotNull(_httpClientHandler.CookieContainer.GetCookies(new Uri(_deploymentResult.ApplicationBaseUri))["__TwitterState"]); //This is just to generate a correlation cookie. Previous step would generate this cookie, but we have reset the handler now. - _httpClientHandler = new HttpClientHandler() { AllowAutoRedirect = false }; + _httpClientHandler = new HttpClientHandler(); _httpClient = new HttpClient(_httpClientHandler) { BaseAddress = new Uri(_deploymentResult.ApplicationBaseUri) }; response = await DoGetAsync("Account/Login"); @@ -55,10 +55,8 @@ namespace E2ETests content = new FormUrlEncodedContent(formParameters.ToArray()); response = await DoPostAsync("Account/ExternalLogin", content); - response = await DoGetAsync(response.Headers.Location); //Post a message to the Facebook middleware response = await DoGetAsync("signin-twitter?oauth_token=valid_oauth_token&oauth_verifier=valid_oauth_verifier"); - response = await DoGetAsync(response.Headers.Location); await ThrowIfResponseStatusNotOk(response); responseContent = await response.Content.ReadAsStringAsync(); @@ -79,7 +77,6 @@ namespace E2ETests content = new FormUrlEncodedContent(formParameters.ToArray()); response = await DoPostAsync("Account/ExternalLoginConfirmation", content); - response = await DoGetAsync(response.Headers.Location); await ThrowIfResponseStatusNotOk(response); responseContent = await response.Content.ReadAsStringAsync(); diff --git a/test/E2ETests/Implementation/Validator.cs b/test/E2ETests/Implementation/Validator.cs index fe3b079a91..b0c4d6db6b 100644 --- a/test/E2ETests/Implementation/Validator.cs +++ b/test/E2ETests/Implementation/Validator.cs @@ -209,7 +209,6 @@ namespace E2ETests { _logger.LogInformation("Trying to access StoreManager that needs ManageStore claim with the current user : {email}", email ?? "Anonymous"); var response = await DoGetAsync("Admin/StoreManager/"); - response = await DoGetAsync(response.Headers.Location); var responseContent = await response.Content.ReadAsStringAsync(); ValidateLayoutPage(responseContent); @@ -327,7 +326,6 @@ namespace E2ETests var content = new FormUrlEncodedContent(formParameters.ToArray()); response = await DoPostAsync("Account/LogOff", content); - response = await DoGetAsync(response.Headers.Location); responseContent = await response.Content.ReadAsStringAsync(); if (!Helpers.RunningOnMono) @@ -386,7 +384,6 @@ namespace E2ETests var content = new FormUrlEncodedContent(formParameters.ToArray()); response = await DoPostAsync("Account/Login", content); - response = await DoGetAsync(response.Headers.Location); responseContent = await response.Content.ReadAsStringAsync(); Assert.Contains(string.Format("Hello {0}!", email), responseContent, StringComparison.OrdinalIgnoreCase); Assert.Contains("Log off", responseContent, StringComparison.OrdinalIgnoreCase); @@ -410,7 +407,6 @@ namespace E2ETests var content = new FormUrlEncodedContent(formParameters.ToArray()); response = await DoPostAsync("Manage/ChangePassword", content); - response = await DoGetAsync(response.Headers.Location); responseContent = await response.Content.ReadAsStringAsync(); Assert.Contains("Your password has been changed.", responseContent, StringComparison.OrdinalIgnoreCase); Assert.NotNull(_httpClientHandler.CookieContainer.GetCookies(new Uri(_deploymentResult.ApplicationBaseUri)).GetCookieWithName(IdentityCookieName)); @@ -436,7 +432,6 @@ namespace E2ETests var content = new FormUrlEncodedContent(formParameters.ToArray()); response = await DoPostAsync("Admin/StoreManager/create", content); - response = await DoGetAsync(response.Headers.Location); responseContent = await response.Content.ReadAsStringAsync(); Assert.Equal(_deploymentResult.ApplicationBaseUri + "Admin/StoreManager", response.RequestMessage.RequestUri.AbsoluteUri); Assert.Contains(albumName, responseContent); @@ -482,7 +477,6 @@ namespace E2ETests { _logger.LogInformation("Getting details of a non-existing album with Id '-1'"); var response = await DoGetAsync("Admin/StoreManager/Details?id=-1"); - response = await DoGetAsync(response.Headers.Location); await ThrowIfResponseStatusNotOk(response); var responseContent = await response.Content.ReadAsStringAsync(); Assert.Contains("Item not found.", responseContent, StringComparison.OrdinalIgnoreCase); @@ -504,7 +498,6 @@ namespace E2ETests { _logger.LogInformation("Adding album id '{albumId}' to the cart", albumId); var response = await DoGetAsync(string.Format("ShoppingCart/AddToCart?id={0}", albumId)); - response = await DoGetAsync(response.Headers.Location); await ThrowIfResponseStatusNotOk(response); var responseContent = await response.Content.ReadAsStringAsync(); Assert.Contains(albumName, responseContent, StringComparison.OrdinalIgnoreCase); @@ -536,7 +529,6 @@ namespace E2ETests var content = new FormUrlEncodedContent(formParameters.ToArray()); response = await DoPostAsync("Checkout/AddressAndPayment", content); - response = await DoGetAsync(response.Headers.Location); responseContent = await response.Content.ReadAsStringAsync(); Assert.Contains("

Checkout Complete

", responseContent, StringComparison.OrdinalIgnoreCase); Assert.StartsWith(_deploymentResult.ApplicationBaseUri + "Checkout/Complete/", response.RequestMessage.RequestUri.AbsoluteUri, StringComparison.OrdinalIgnoreCase); @@ -553,7 +545,6 @@ namespace E2ETests var content = new FormUrlEncodedContent(formParameters.ToArray()); var response = await DoPostAsync("Admin/StoreManager/RemoveAlbum", content); - response = await DoGetAsync(response.Headers.Location); await ThrowIfResponseStatusNotOk(response); _logger.LogInformation("Verifying if the album '{album}' is deleted from store", albumName); diff --git a/test/E2ETests/NtlmAuthentationTest.cs b/test/E2ETests/NtlmAuthentationTest.cs index be6078ba81..f5a7784595 100644 --- a/test/E2ETests/NtlmAuthentationTest.cs +++ b/test/E2ETests/NtlmAuthentationTest.cs @@ -56,7 +56,7 @@ namespace E2ETests using (var deployer = ApplicationDeployerFactory.Create(deploymentParameters, _logger)) { var deploymentResult = deployer.Deploy(); - var httpClientHandler = new HttpClientHandler() { UseDefaultCredentials = true, AllowAutoRedirect = false }; + var httpClientHandler = new HttpClientHandler() { UseDefaultCredentials = true }; var httpClient = new HttpClient(httpClientHandler) { BaseAddress = new Uri(deploymentResult.ApplicationBaseUri) }; // Request to base address and check if various parts of the body are rendered & measure the cold startup time. diff --git a/test/E2ETests/OpenIdConnectTests.cs b/test/E2ETests/OpenIdConnectTests.cs index d3988d9773..77dd1ba811 100644 --- a/test/E2ETests/OpenIdConnectTests.cs +++ b/test/E2ETests/OpenIdConnectTests.cs @@ -81,7 +81,7 @@ namespace E2ETests using (var deployer = ApplicationDeployerFactory.Create(deploymentParameters, _logger)) { var deploymentResult = deployer.Deploy(); - var httpClientHandler = new HttpClientHandler() { AllowAutoRedirect = false }; + var httpClientHandler = new HttpClientHandler(); var httpClient = new HttpClient(httpClientHandler) { BaseAddress = new Uri(deploymentResult.ApplicationBaseUri) }; // Request to base address and check if various parts of the body are rendered & measure the cold startup time. diff --git a/test/E2ETests/PublishAndRunTests.cs b/test/E2ETests/PublishAndRunTests.cs index 452db21447..efabb15484 100644 --- a/test/E2ETests/PublishAndRunTests.cs +++ b/test/E2ETests/PublishAndRunTests.cs @@ -155,7 +155,7 @@ namespace E2ETests using (var deployer = ApplicationDeployerFactory.Create(deploymentParameters, _logger)) { var deploymentResult = deployer.Deploy(); - var httpClientHandler = new HttpClientHandler() { UseDefaultCredentials = true, AllowAutoRedirect = false }; + var httpClientHandler = new HttpClientHandler() { UseDefaultCredentials = true }; var httpClient = new HttpClient(httpClientHandler); httpClient.BaseAddress = new Uri(deploymentResult.ApplicationBaseUri); diff --git a/test/E2ETests/SmokeTests.cs b/test/E2ETests/SmokeTests.cs index aee3c7388a..36c6c7c10a 100644 --- a/test/E2ETests/SmokeTests.cs +++ b/test/E2ETests/SmokeTests.cs @@ -188,11 +188,7 @@ namespace E2ETests var deploymentResult = deployer.Deploy(); Helpers.SetInMemoryStoreForIIS(deploymentParameters, _logger); - var httpClientHandler = new HttpClientHandler() - { - // Temporary workaround for issue https://github.com/dotnet/corefx/issues/4960 - AllowAutoRedirect = false - }; + var httpClientHandler = new HttpClientHandler(); var httpClient = new HttpClient(httpClientHandler) { BaseAddress = new Uri(deploymentResult.ApplicationBaseUri),