From 681327f396f2cf0f1ce5c9e8c832bbecd0123331 Mon Sep 17 00:00:00 2001 From: Suhas Joshi Date: Mon, 1 Dec 2014 16:04:50 -0800 Subject: [PATCH] Fixed tests to run on Mono --- test/E2ETests/DeploymentUtility.cs | 4 ++-- test/E2ETests/FacebookLoginScenarios.cs | 5 ++++- test/E2ETests/GoogleLoginScenarios.cs | 5 ++++- ...MicrosoftAccountAuthenticationScenarios.cs | 5 ++++- test/E2ETests/Scenarios.cs | 20 +++---------------- test/E2ETests/TwitterLoginScenarios.cs | 5 ++++- test/E2ETests/project.json | 2 +- 7 files changed, 22 insertions(+), 24 deletions(-) diff --git a/test/E2ETests/DeploymentUtility.cs b/test/E2ETests/DeploymentUtility.cs index 245c660be1..12a42abf80 100644 --- a/test/E2ETests/DeploymentUtility.cs +++ b/test/E2ETests/DeploymentUtility.cs @@ -152,11 +152,11 @@ namespace E2ETests throw new Exception("KRE not detected on the machine."); } - var monoPath = Path.Combine(kreBin, "mono"); + var monoPath = "mono"; var klrMonoManaged = Path.Combine(kreBin, "klr.mono.managed.dll"); var applicationHost = Path.Combine(kreBin, "Microsoft.Framework.ApplicationHost"); - Console.WriteLine(string.Format("Executing command: {0} {1} {3} {4}", monoPath, klrMonoManaged, startParameters.ApplicationPath, applicationHost, startParameters.ServerType.ToString())); + Console.WriteLine(string.Format("Executing command: {0} {1} {2} {3} {4}", monoPath, klrMonoManaged, startParameters.ApplicationPath, applicationHost, startParameters.ServerType.ToString())); var startInfo = new ProcessStartInfo { diff --git a/test/E2ETests/FacebookLoginScenarios.cs b/test/E2ETests/FacebookLoginScenarios.cs index b9519fac12..ce79fc5188 100644 --- a/test/E2ETests/FacebookLoginScenarios.cs +++ b/test/E2ETests/FacebookLoginScenarios.cs @@ -60,7 +60,10 @@ namespace E2ETests responseContent = response.Content.ReadAsStringAsync().Result; //Correlation cookie not getting cleared after successful signin? - Assert.Null(httpClientHandler.CookieContainer.GetCookies(new Uri(ApplicationBaseUrl)).GetCookieWithName(".AspNet.Correlation.Facebook")); + if (!Helpers.RunningOnMono) + { + Assert.Null(httpClientHandler.CookieContainer.GetCookies(new Uri(ApplicationBaseUrl)).GetCookieWithName(".AspNet.Correlation.Facebook")); + } Assert.Equal(ApplicationBaseUrl + "Account/ExternalLoginCallback?ReturnUrl=%2F", response.RequestMessage.RequestUri.AbsoluteUri); Assert.Contains("AspnetvnextTest@test.com", responseContent, StringComparison.OrdinalIgnoreCase); diff --git a/test/E2ETests/GoogleLoginScenarios.cs b/test/E2ETests/GoogleLoginScenarios.cs index 3e1c073523..658cdbd3fa 100644 --- a/test/E2ETests/GoogleLoginScenarios.cs +++ b/test/E2ETests/GoogleLoginScenarios.cs @@ -61,7 +61,10 @@ namespace E2ETests responseContent = response.Content.ReadAsStringAsync().Result; //Correlation cookie not getting cleared after successful signin? - Assert.Null(httpClientHandler.CookieContainer.GetCookies(new Uri(ApplicationBaseUrl)).GetCookieWithName(".AspNet.Correlation.Google")); + if (!Helpers.RunningOnMono) + { + Assert.Null(httpClientHandler.CookieContainer.GetCookies(new Uri(ApplicationBaseUrl)).GetCookieWithName(".AspNet.Correlation.Google")); + } Assert.Equal(ApplicationBaseUrl + "Account/ExternalLoginCallback?ReturnUrl=%2F", response.RequestMessage.RequestUri.AbsoluteUri); Assert.Contains("AspnetvnextTest@gmail.com", responseContent, StringComparison.OrdinalIgnoreCase); diff --git a/test/E2ETests/MicrosoftAccountAuthenticationScenarios.cs b/test/E2ETests/MicrosoftAccountAuthenticationScenarios.cs index 90338c770a..d2907b8c4f 100644 --- a/test/E2ETests/MicrosoftAccountAuthenticationScenarios.cs +++ b/test/E2ETests/MicrosoftAccountAuthenticationScenarios.cs @@ -61,7 +61,10 @@ namespace E2ETests responseContent = response.Content.ReadAsStringAsync().Result; //Correlation cookie not getting cleared after successful signin? - Assert.Null(httpClientHandler.CookieContainer.GetCookies(new Uri(ApplicationBaseUrl)).GetCookieWithName(".AspNet.Correlation.Microsoft")); + if (!Helpers.RunningOnMono) + { + Assert.Null(httpClientHandler.CookieContainer.GetCookies(new Uri(ApplicationBaseUrl)).GetCookieWithName(".AspNet.Correlation.Microsoft")); + } Assert.Equal(ApplicationBaseUrl + "Account/ExternalLoginCallback?ReturnUrl=%2F", response.RequestMessage.RequestUri.AbsoluteUri); formParameters = new List> diff --git a/test/E2ETests/Scenarios.cs b/test/E2ETests/Scenarios.cs index ffe40f461c..d8abbc2fda 100644 --- a/test/E2ETests/Scenarios.cs +++ b/test/E2ETests/Scenarios.cs @@ -70,12 +70,7 @@ namespace E2ETests ValidateLayoutPage(responseContent); Assert.Contains("Log in – MVC Music Store", responseContent, StringComparison.OrdinalIgnoreCase); Assert.Contains("

Use a local account to log in.

", responseContent, StringComparison.OrdinalIgnoreCase); - - if (!Helpers.RunningOnMono) - { - //Bug in Mono HttpClient that it does not automatically change the RequestMessage uri in case of a 302. - Assert.Equal(ApplicationBaseUrl + "Account/Login?ReturnUrl=%2FAdmin%2FStoreManager%2F", response.RequestMessage.RequestUri.AbsoluteUri); - } + Assert.Equal(ApplicationBaseUrl + "Account/Login?ReturnUrl=%2FAdmin%2FStoreManager%2F", response.RequestMessage.RequestUri.AbsoluteUri); Console.WriteLine("Redirected to login page as expected."); } @@ -307,12 +302,7 @@ namespace E2ETests var content = new FormUrlEncodedContent(formParameters.ToArray()); response = httpClient.PostAsync("Admin/StoreManager/create", content).Result; responseContent = response.Content.ReadAsStringAsync().Result; - - if (!Helpers.RunningOnMono) - { - //Bug in mono Httpclient - RequestMessage not automatically changed on 302 - Assert.Equal(ApplicationBaseUrl + "Admin/StoreManager", response.RequestMessage.RequestUri.AbsoluteUri); - } + Assert.Equal(ApplicationBaseUrl + "Admin/StoreManager", response.RequestMessage.RequestUri.AbsoluteUri); Assert.Contains(albumName, responseContent); Console.WriteLine("Waiting for the SignalR client to receive album created announcement"); @@ -382,11 +372,7 @@ namespace E2ETests response = httpClient.PostAsync("Checkout/AddressAndPayment", content).Result; responseContent = response.Content.ReadAsStringAsync().Result; Assert.Contains("

Checkout Complete

", responseContent, StringComparison.OrdinalIgnoreCase); - if (!Helpers.RunningOnMono) - { - //Bug in Mono HttpClient that it does not automatically change the RequestMessage uri in case of a 302. - Assert.StartsWith(ApplicationBaseUrl + "Checkout/Complete/", response.RequestMessage.RequestUri.AbsoluteUri, StringComparison.OrdinalIgnoreCase); - } + Assert.StartsWith(ApplicationBaseUrl + "Checkout/Complete/", response.RequestMessage.RequestUri.AbsoluteUri, StringComparison.OrdinalIgnoreCase); } private void DeleteAlbum(string albumId, string albumName) diff --git a/test/E2ETests/TwitterLoginScenarios.cs b/test/E2ETests/TwitterLoginScenarios.cs index cc369ddb98..d51560b1e3 100644 --- a/test/E2ETests/TwitterLoginScenarios.cs +++ b/test/E2ETests/TwitterLoginScenarios.cs @@ -59,7 +59,10 @@ namespace E2ETests responseContent = response.Content.ReadAsStringAsync().Result; //Check correlation cookie not getting cleared after successful signin - Assert.Null(httpClientHandler.CookieContainer.GetCookies(new Uri(ApplicationBaseUrl))["__TwitterState"]); + if (!Helpers.RunningOnMono) + { + Assert.Null(httpClientHandler.CookieContainer.GetCookies(new Uri(ApplicationBaseUrl))["__TwitterState"]); + } Assert.Equal(ApplicationBaseUrl + "Account/ExternalLoginCallback?ReturnUrl=%2F", response.RequestMessage.RequestUri.AbsoluteUri); //Twitter does not give back the email claim for some reason. //Assert.Contains("AspnetvnextTest@gmail.com", responseContent, StringComparison.OrdinalIgnoreCase); diff --git a/test/E2ETests/project.json b/test/E2ETests/project.json index 36fe7dde60..602b7e5398 100644 --- a/test/E2ETests/project.json +++ b/test/E2ETests/project.json @@ -1,5 +1,5 @@ { - "compilationOptions": { "warningsAsErrors": true }, + "compilationOptions": { "warningsAsErrors": "true" }, "commands": { "test": "Xunit.KRunner" },