Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(788)

Side by Side Diff: chrome/browser/ui/autofill/autofill_dialog_controller_browsertest.cc

Issue 1409163006: Migrating tests to use EmbeddedTestServer (/chrome/browser misc) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/bind.h" 5 #include "base/bind.h"
6 #include "base/command_line.h" 6 #include "base/command_line.h"
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/memory/weak_ptr.h" 9 #include "base/memory/weak_ptr.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 #include "content/public/browser/notification_types.h" 49 #include "content/public/browser/notification_types.h"
50 #include "content/public/browser/page_navigator.h" 50 #include "content/public/browser/page_navigator.h"
51 #include "content/public/browser/web_contents.h" 51 #include "content/public/browser/web_contents.h"
52 #include "content/public/browser/web_contents_delegate.h" 52 #include "content/public/browser/web_contents_delegate.h"
53 #include "content/public/common/content_switches.h" 53 #include "content/public/common/content_switches.h"
54 #include "content/public/common/referrer.h" 54 #include "content/public/common/referrer.h"
55 #include "content/public/common/url_constants.h" 55 #include "content/public/common/url_constants.h"
56 #include "content/public/test/browser_test_utils.h" 56 #include "content/public/test/browser_test_utils.h"
57 #include "content/public/test/test_utils.h" 57 #include "content/public/test/test_utils.h"
58 #include "google_apis/gaia/google_service_auth_error.h" 58 #include "google_apis/gaia/google_service_auth_error.h"
59 #include "net/test/spawned_test_server/spawned_test_server.h" 59 #include "net/test/embedded_test_server/embedded_test_server.h"
60 #include "testing/gmock/include/gmock/gmock.h" 60 #include "testing/gmock/include/gmock/gmock.h"
61 #include "testing/gtest/include/gtest/gtest.h" 61 #include "testing/gtest/include/gtest/gtest.h"
62 #include "third_party/WebKit/public/web/WebInputEvent.h" 62 #include "third_party/WebKit/public/web/WebInputEvent.h"
63 #include "ui/base/page_transition_types.h" 63 #include "ui/base/page_transition_types.h"
64 #include "ui/base/window_open_disposition.h" 64 #include "ui/base/window_open_disposition.h"
65 #include "url/gurl.h" 65 #include "url/gurl.h"
66 66
67 #if defined(OS_WIN) 67 #if defined(OS_WIN)
68 #include "base/win/windows_version.h" 68 #include "base/win/windows_version.h"
69 #elif defined(OS_MACOSX) 69 #elif defined(OS_MACOSX)
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 387
388 InitiateDialog(); 388 InitiateDialog();
389 AutofillDialogControllerImpl* controller = 389 AutofillDialogControllerImpl* controller =
390 static_cast<AutofillDialogControllerImpl*>( 390 static_cast<AutofillDialogControllerImpl*>(
391 client->GetDialogControllerForTesting()); 391 client->GetDialogControllerForTesting());
392 return controller; 392 return controller;
393 } 393 }
394 394
395 // Loads an html page on a provided server, the causes it to launch rAc. 395 // Loads an html page on a provided server, the causes it to launch rAc.
396 // Returns whether rAc succesfully launched. 396 // Returns whether rAc succesfully launched.
397 bool RunTestPage(const net::SpawnedTestServer& server) { 397 bool RunTestPage(const net::EmbeddedTestServer& server) {
398 GURL url = server.GetURL( 398 GURL url = server.GetURL("/request_autocomplete/test_page.html");
399 "files/request_autocomplete/test_page.html");
400 ui_test_utils::NavigateToURL(browser(), url); 399 ui_test_utils::NavigateToURL(browser(), url);
401 400
402 // Pass through the broken SSL interstitial, if any. 401 // Pass through the broken SSL interstitial, if any.
403 content::WebContents* contents = GetActiveWebContents(); 402 content::WebContents* contents = GetActiveWebContents();
404 content::InterstitialPage* interstitial_page = 403 content::InterstitialPage* interstitial_page =
405 contents->GetInterstitialPage(); 404 contents->GetInterstitialPage();
406 if (interstitial_page) { 405 if (interstitial_page) {
407 ui_test_utils::UrlLoadObserver observer( 406 ui_test_utils::UrlLoadObserver observer(
408 url, 407 url,
409 content::Source<content::NavigationController>( 408 content::Source<content::NavigationController>(
410 &contents->GetController())); 409 &contents->GetController()));
411 interstitial_page->Proceed(); 410 interstitial_page->Proceed();
412 observer.Wait(); 411 observer.Wait();
413 } 412 }
414 413
415 InitiateDialog(); 414 InitiateDialog();
416 415
417 ChromeAutofillClient* client = 416 ChromeAutofillClient* client =
418 ChromeAutofillClient::FromWebContents(contents); 417 ChromeAutofillClient::FromWebContents(contents);
419 AutofillDialogControllerImpl* controller = 418 AutofillDialogControllerImpl* controller =
420 static_cast<AutofillDialogControllerImpl*>( 419 static_cast<AutofillDialogControllerImpl*>(
421 client->GetDialogControllerForTesting()); 420 client->GetDialogControllerForTesting());
422 return !!controller; 421 return !!controller;
423 } 422 }
424 423
425 void RunTestPageInIframe(const net::SpawnedTestServer& server) { 424 void RunTestPageInIframe(const net::EmbeddedTestServer& server) {
426 InitializeDOMMessageQueue(); 425 InitializeDOMMessageQueue();
427 GURL iframe_url = server.GetURL( 426 GURL iframe_url = server.GetURL("/request_autocomplete/test_page.html");
428 "files/request_autocomplete/test_page.html");
429 427
430 ui_test_utils::NavigateToURL( 428 ui_test_utils::NavigateToURL(
431 browser(), GURL(std::string("data:text/html,") + 429 browser(), GURL(std::string("data:text/html,") +
432 "<!doctype html>" 430 "<!doctype html>"
433 "<html>" 431 "<html>"
434 "<body>" 432 "<body>"
435 "<iframe style='position: fixed;" 433 "<iframe style='position: fixed;"
436 "height: 100%;" 434 "height: 100%;"
437 "width: 100%;'" 435 "width: 100%;'"
438 "id='racFrame'></iframe>" 436 "id='racFrame'></iframe>"
(...skipping 636 matching lines...) Expand 10 before | Expand all | Expand 10 after
1075 // Tabs should now be: / rAc() \/ manage 2 \/ manage 1 \/ blank \. 1073 // Tabs should now be: / rAc() \/ manage 2 \/ manage 1 \/ blank \.
1076 EXPECT_EQ(4, tab_strip->count()); 1074 EXPECT_EQ(4, tab_strip->count());
1077 EXPECT_EQ(0, tab_strip->GetIndexOfWebContents(dialog_invoker)); 1075 EXPECT_EQ(0, tab_strip->GetIndexOfWebContents(dialog_invoker));
1078 EXPECT_EQ(1, tab_strip->active_index()); 1076 EXPECT_EQ(1, tab_strip->active_index());
1079 EXPECT_EQ(2, tab_strip->GetIndexOfWebContents(first_manage_tab)); 1077 EXPECT_EQ(2, tab_strip->GetIndexOfWebContents(first_manage_tab));
1080 EXPECT_EQ(3, tab_strip->GetIndexOfWebContents(blank_tab)); 1078 EXPECT_EQ(3, tab_strip->GetIndexOfWebContents(blank_tab));
1081 } 1079 }
1082 1080
1083 IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, 1081 IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest,
1084 DoesWorkOnHttpWithFlag) { 1082 DoesWorkOnHttpWithFlag) {
1085 net::SpawnedTestServer http_server( 1083 net::EmbeddedTestServer http_server;
1086 net::SpawnedTestServer::TYPE_HTTP, 1084 http_server.ServeFilesFromSourceDirectory("chrome/test/data");
1087 net::SpawnedTestServer::kLocalhost,
1088 base::FilePath(FILE_PATH_LITERAL("chrome/test/data")));
1089 ASSERT_TRUE(http_server.Start()); 1085 ASSERT_TRUE(http_server.Start());
1090 EXPECT_TRUE(RunTestPage(http_server)); 1086 EXPECT_TRUE(RunTestPage(http_server));
1091 } 1087 }
1092 1088
1093 // Like the parent test, but doesn't add the --reduce-security-for-testing flag. 1089 // Like the parent test, but doesn't add the --reduce-security-for-testing flag.
1094 class AutofillDialogControllerSecurityTest : 1090 class AutofillDialogControllerSecurityTest :
1095 public AutofillDialogControllerTest { 1091 public AutofillDialogControllerTest {
1096 public: 1092 public:
1097 AutofillDialogControllerSecurityTest() {} 1093 AutofillDialogControllerSecurityTest() {}
1098 ~AutofillDialogControllerSecurityTest() override {} 1094 ~AutofillDialogControllerSecurityTest() override {}
1099 1095
1100 void SetUpCommandLine(base::CommandLine* command_line) override { 1096 void SetUpCommandLine(base::CommandLine* command_line) override {
1101 CHECK(!command_line->HasSwitch(::switches::kReduceSecurityForTesting)); 1097 CHECK(!command_line->HasSwitch(::switches::kReduceSecurityForTesting));
1102 } 1098 }
1103 1099
1104 typedef net::BaseTestServer::SSLOptions SSLOptions; 1100 typedef net::BaseTestServer::SSLOptions SSLOptions;
1105 1101
1106 private: 1102 private:
1107 DISALLOW_COPY_AND_ASSIGN(AutofillDialogControllerSecurityTest); 1103 DISALLOW_COPY_AND_ASSIGN(AutofillDialogControllerSecurityTest);
1108 }; 1104 };
1109 1105
1110 IN_PROC_BROWSER_TEST_F(AutofillDialogControllerSecurityTest, 1106 IN_PROC_BROWSER_TEST_F(AutofillDialogControllerSecurityTest,
1111 DoesntWorkOnHttp) { 1107 DoesntWorkOnHttp) {
1112 net::SpawnedTestServer http_server( 1108 net::EmbeddedTestServer http_server;
1113 net::SpawnedTestServer::TYPE_HTTP, 1109 http_server.ServeFilesFromSourceDirectory("chrome/test/data");
1114 net::SpawnedTestServer::kLocalhost,
1115 base::FilePath(FILE_PATH_LITERAL("chrome/test/data")));
1116 ASSERT_TRUE(http_server.Start()); 1110 ASSERT_TRUE(http_server.Start());
1117 EXPECT_FALSE(RunTestPage(http_server)); 1111 EXPECT_FALSE(RunTestPage(http_server));
1118 } 1112 }
1119 1113
1120 IN_PROC_BROWSER_TEST_F(AutofillDialogControllerSecurityTest, 1114 IN_PROC_BROWSER_TEST_F(AutofillDialogControllerSecurityTest,
1121 DoesWorkOnHttpWithFlags) { 1115 DoesWorkOnHttpWithFlags) {
1122 net::SpawnedTestServer https_server( 1116 net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS);
1123 net::SpawnedTestServer::TYPE_HTTPS, 1117 https_server.ServeFilesFromSourceDirectory("chrome/test/data");
1124 SSLOptions(SSLOptions::CERT_OK),
1125 base::FilePath(FILE_PATH_LITERAL("chrome/test/data")));
1126 ASSERT_TRUE(https_server.Start()); 1118 ASSERT_TRUE(https_server.Start());
1127 EXPECT_TRUE(RunTestPage(https_server)); 1119 EXPECT_TRUE(RunTestPage(https_server));
1128 } 1120 }
1129 1121
1130 IN_PROC_BROWSER_TEST_F(AutofillDialogControllerSecurityTest, 1122 IN_PROC_BROWSER_TEST_F(AutofillDialogControllerSecurityTest,
1131 DISABLED_DoesntWorkOnBrokenHttps) { 1123 DISABLED_DoesntWorkOnBrokenHttps) {
1132 net::SpawnedTestServer https_server( 1124 net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS);
1133 net::SpawnedTestServer::TYPE_HTTPS, 1125 https_server.ServeFilesFromSourceDirectory("chrome/test/data");
1134 SSLOptions(SSLOptions::CERT_EXPIRED),
1135 base::FilePath(FILE_PATH_LITERAL("chrome/test/data")));
1136 ASSERT_TRUE(https_server.Start()); 1126 ASSERT_TRUE(https_server.Start());
1137 EXPECT_FALSE(RunTestPage(https_server)); 1127 EXPECT_FALSE(RunTestPage(https_server));
1138 } 1128 }
1139 1129
1140 IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, 1130 IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest,
1141 CountryChangeRebuildsSection) { 1131 CountryChangeRebuildsSection) {
1142 EXPECT_FALSE(SectionHasField(SECTION_BILLING, ADDRESS_BILLING_SORTING_CODE)); 1132 EXPECT_FALSE(SectionHasField(SECTION_BILLING, ADDRESS_BILLING_SORTING_CODE));
1143 EXPECT_FALSE(SectionHasField(SECTION_SHIPPING, ADDRESS_HOME_SORTING_CODE)); 1133 EXPECT_FALSE(SectionHasField(SECTION_SHIPPING, ADDRESS_HOME_SORTING_CODE));
1144 1134
1145 // Select "Add new shipping address...". 1135 // Select "Add new shipping address...".
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
1311 controller()->AsWeakPtr(); 1301 controller()->AsWeakPtr();
1312 EXPECT_TRUE(weak_ptr.get()); 1302 EXPECT_TRUE(weak_ptr.get());
1313 1303
1314 ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); 1304 ui_test_utils::NavigateToURL(browser(), GURL("about:blank"));
1315 EXPECT_FALSE(weak_ptr.get()); 1305 EXPECT_FALSE(weak_ptr.get());
1316 } 1306 }
1317 1307
1318 // Tests that the rAc dialog hides when the main frame is navigated, even if 1308 // Tests that the rAc dialog hides when the main frame is navigated, even if
1319 // it was invoked from a child frame. 1309 // it was invoked from a child frame.
1320 IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, HideOnNavigateMainFrame) { 1310 IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, HideOnNavigateMainFrame) {
1321 net::SpawnedTestServer http_server( 1311 net::EmbeddedTestServer http_server;
1322 net::SpawnedTestServer::TYPE_HTTP, 1312 http_server.ServeFilesFromSourceDirectory("chrome/test/data");
1323 net::SpawnedTestServer::kLocalhost,
1324 base::FilePath(FILE_PATH_LITERAL("chrome/test/data")));
1325 ASSERT_TRUE(http_server.Start()); 1313 ASSERT_TRUE(http_server.Start());
1326 RunTestPageInIframe(http_server); 1314 RunTestPageInIframe(http_server);
1327 1315
1328 ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); 1316 ui_test_utils::NavigateToURL(browser(), GURL("about:blank"));
1329 ChromeAutofillClient* client = 1317 ChromeAutofillClient* client =
1330 ChromeAutofillClient::FromWebContents(GetActiveWebContents()); 1318 ChromeAutofillClient::FromWebContents(GetActiveWebContents());
1331 EXPECT_FALSE(client->GetDialogControllerForTesting()); 1319 EXPECT_FALSE(client->GetDialogControllerForTesting());
1332 } 1320 }
1333 1321
1334 // Tests that the rAc dialog hides when the iframe it's in is navigated. 1322 // Tests that the rAc dialog hides when the iframe it's in is navigated.
1335 IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, HideOnNavigateIframe) { 1323 IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, HideOnNavigateIframe) {
1336 net::SpawnedTestServer http_server( 1324 net::EmbeddedTestServer http_server;
1337 net::SpawnedTestServer::TYPE_HTTP, 1325 http_server.ServeFilesFromSourceDirectory("chrome/test/data");
1338 net::SpawnedTestServer::kLocalhost,
1339 base::FilePath(FILE_PATH_LITERAL("chrome/test/data")));
1340 ASSERT_TRUE(http_server.Start()); 1326 ASSERT_TRUE(http_server.Start());
1341 RunTestPageInIframe(http_server); 1327 RunTestPageInIframe(http_server);
1342 1328
1343 std::string unused; 1329 std::string unused;
1344 ASSERT_TRUE(content::ExecuteScriptAndExtractString(GetRenderViewHost(), 1330 ASSERT_TRUE(content::ExecuteScriptAndExtractString(GetRenderViewHost(),
1345 "navigateFrame();", 1331 "navigateFrame();",
1346 &unused)); 1332 &unused));
1347 ExpectDomMessage("iframe loaded"); 1333 ExpectDomMessage("iframe loaded");
1348 ChromeAutofillClient* client = 1334 ChromeAutofillClient* client =
1349 ChromeAutofillClient::FromWebContents(GetActiveWebContents()); 1335 ChromeAutofillClient::FromWebContents(GetActiveWebContents());
1350 EXPECT_FALSE(client->GetDialogControllerForTesting()); 1336 EXPECT_FALSE(client->GetDialogControllerForTesting());
1351 } 1337 }
1352 1338
1353 } // namespace autofill 1339 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698