| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef CHROME_BROWSER_SIGNIN_SIGNIN_BROWSERTEST_H_ | 5 #ifndef CHROME_BROWSER_SIGNIN_SIGNIN_BROWSERTEST_H_ |
| 6 #define CHROME_BROWSER_SIGNIN_SIGNIN_BROWSERTEST_H_ | 6 #define CHROME_BROWSER_SIGNIN_SIGNIN_BROWSERTEST_H_ |
| 7 | 7 |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "chrome/browser/signin/chrome_signin_client.h" | 9 #include "chrome/browser/signin/chrome_signin_client.h" |
| 10 #include "chrome/browser/signin/chrome_signin_client_factory.h" | 10 #include "chrome/browser/signin/chrome_signin_client_factory.h" |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 #include "net/http/http_status_code.h" | 29 #include "net/http/http_status_code.h" |
| 30 #include "net/url_request/test_url_fetcher_factory.h" | 30 #include "net/url_request/test_url_fetcher_factory.h" |
| 31 #include "net/url_request/url_request_status.h" | 31 #include "net/url_request/url_request_status.h" |
| 32 | 32 |
| 33 namespace { | 33 namespace { |
| 34 const char kNonSigninURL[] = "http://www.google.com"; | 34 const char kNonSigninURL[] = "http://www.google.com"; |
| 35 } | 35 } |
| 36 | 36 |
| 37 class SigninBrowserTest : public InProcessBrowserTest { | 37 class SigninBrowserTest : public InProcessBrowserTest { |
| 38 public: | 38 public: |
| 39 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 39 virtual void SetUpCommandLine(CommandLine* command_line) override { |
| 40 https_server_.reset(new net::SpawnedTestServer( | 40 https_server_.reset(new net::SpawnedTestServer( |
| 41 net::SpawnedTestServer::TYPE_HTTPS, | 41 net::SpawnedTestServer::TYPE_HTTPS, |
| 42 net::SpawnedTestServer::kLocalhost, | 42 net::SpawnedTestServer::kLocalhost, |
| 43 base::FilePath(FILE_PATH_LITERAL("chrome/test/data")))); | 43 base::FilePath(FILE_PATH_LITERAL("chrome/test/data")))); |
| 44 ASSERT_TRUE(https_server_->Start()); | 44 ASSERT_TRUE(https_server_->Start()); |
| 45 | 45 |
| 46 // Add a host resolver rule to map all outgoing requests to the test server. | 46 // Add a host resolver rule to map all outgoing requests to the test server. |
| 47 // This allows us to use "real" hostnames in URLs, which we can use to | 47 // This allows us to use "real" hostnames in URLs, which we can use to |
| 48 // create arbitrary SiteInstances. | 48 // create arbitrary SiteInstances. |
| 49 command_line->AppendSwitchASCII( | 49 command_line->AppendSwitchASCII( |
| 50 switches::kHostResolverRules, | 50 switches::kHostResolverRules, |
| 51 "MAP * " + https_server_->host_port_pair().ToString() + | 51 "MAP * " + https_server_->host_port_pair().ToString() + |
| 52 ",EXCLUDE localhost"); | 52 ",EXCLUDE localhost"); |
| 53 command_line->AppendSwitch(switches::kIgnoreCertificateErrors); | 53 command_line->AppendSwitch(switches::kIgnoreCertificateErrors); |
| 54 // All tests in this file are for the web based sign in flows. | 54 // All tests in this file are for the web based sign in flows. |
| 55 // TODO(guohui): fix tests for inline sign in flows. | 55 // TODO(guohui): fix tests for inline sign in flows. |
| 56 command_line->AppendSwitch(switches::kEnableWebBasedSignin); | 56 command_line->AppendSwitch(switches::kEnableWebBasedSignin); |
| 57 } | 57 } |
| 58 | 58 |
| 59 virtual void SetUp() OVERRIDE { | 59 virtual void SetUp() override { |
| 60 factory_.reset(new net::URLFetcherImplFactory()); | 60 factory_.reset(new net::URLFetcherImplFactory()); |
| 61 fake_factory_.reset(new net::FakeURLFetcherFactory(factory_.get())); | 61 fake_factory_.reset(new net::FakeURLFetcherFactory(factory_.get())); |
| 62 fake_factory_->SetFakeResponse( | 62 fake_factory_->SetFakeResponse( |
| 63 GaiaUrls::GetInstance()->service_login_url(), std::string(), | 63 GaiaUrls::GetInstance()->service_login_url(), std::string(), |
| 64 net::HTTP_OK, net::URLRequestStatus::SUCCESS); | 64 net::HTTP_OK, net::URLRequestStatus::SUCCESS); |
| 65 fake_factory_->SetFakeResponse( | 65 fake_factory_->SetFakeResponse( |
| 66 GURL(kNonSigninURL), std::string(), net::HTTP_OK, | 66 GURL(kNonSigninURL), std::string(), net::HTTP_OK, |
| 67 net::URLRequestStatus::SUCCESS); | 67 net::URLRequestStatus::SUCCESS); |
| 68 // Yield control back to the InProcessBrowserTest framework. | 68 // Yield control back to the InProcessBrowserTest framework. |
| 69 InProcessBrowserTest::SetUp(); | 69 InProcessBrowserTest::SetUp(); |
| 70 } | 70 } |
| 71 | 71 |
| 72 virtual void TearDown() OVERRIDE { | 72 virtual void TearDown() override { |
| 73 if (fake_factory_.get()) { | 73 if (fake_factory_.get()) { |
| 74 fake_factory_->ClearFakeResponses(); | 74 fake_factory_->ClearFakeResponses(); |
| 75 fake_factory_.reset(); | 75 fake_factory_.reset(); |
| 76 } | 76 } |
| 77 | 77 |
| 78 // Cancel any outstanding URL fetches and destroy the URLFetcherImplFactory | 78 // Cancel any outstanding URL fetches and destroy the URLFetcherImplFactory |
| 79 // we created. | 79 // we created. |
| 80 net::URLFetcher::CancelAll(); | 80 net::URLFetcher::CancelAll(); |
| 81 factory_.reset(); | 81 factory_.reset(); |
| 82 InProcessBrowserTest::TearDown(); | 82 InProcessBrowserTest::TearDown(); |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 | 179 |
| 180 class BackOnNTPCommitObserver : public content::WebContentsObserver { | 180 class BackOnNTPCommitObserver : public content::WebContentsObserver { |
| 181 public: | 181 public: |
| 182 explicit BackOnNTPCommitObserver(content::WebContents* web_contents) | 182 explicit BackOnNTPCommitObserver(content::WebContents* web_contents) |
| 183 : content::WebContentsObserver(web_contents) { | 183 : content::WebContentsObserver(web_contents) { |
| 184 } | 184 } |
| 185 | 185 |
| 186 virtual void DidCommitProvisionalLoadForFrame( | 186 virtual void DidCommitProvisionalLoadForFrame( |
| 187 content::RenderFrameHost* render_frame_host, | 187 content::RenderFrameHost* render_frame_host, |
| 188 const GURL& url, | 188 const GURL& url, |
| 189 ui::PageTransition transition_type) OVERRIDE { | 189 ui::PageTransition transition_type) override { |
| 190 if (url == GURL(chrome::kChromeUINewTabURL) || | 190 if (url == GURL(chrome::kChromeUINewTabURL) || |
| 191 url == GURL(chrome::kChromeSearchLocalNtpUrl)) { | 191 url == GURL(chrome::kChromeSearchLocalNtpUrl)) { |
| 192 content::WindowedNotificationObserver observer( | 192 content::WindowedNotificationObserver observer( |
| 193 content::NOTIFICATION_NAV_ENTRY_COMMITTED, | 193 content::NOTIFICATION_NAV_ENTRY_COMMITTED, |
| 194 content::NotificationService::AllSources()); | 194 content::NotificationService::AllSources()); |
| 195 web_contents()->GetController().GoBack(); | 195 web_contents()->GetController().GoBack(); |
| 196 observer.Wait(); | 196 observer.Wait(); |
| 197 } | 197 } |
| 198 } | 198 } |
| 199 | 199 |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 EXPECT_EQ(skip_url, web_contents->GetLastCommittedURL()); | 241 EXPECT_EQ(skip_url, web_contents->GetLastCommittedURL()); |
| 242 EXPECT_EQ(start_url, web_contents->GetVisibleURL()); | 242 EXPECT_EQ(start_url, web_contents->GetVisibleURL()); |
| 243 | 243 |
| 244 content::WindowedNotificationObserver observer( | 244 content::WindowedNotificationObserver observer( |
| 245 content::NOTIFICATION_LOAD_STOP, | 245 content::NOTIFICATION_LOAD_STOP, |
| 246 content::NotificationService::AllSources()); | 246 content::NotificationService::AllSources()); |
| 247 observer.Wait(); | 247 observer.Wait(); |
| 248 EXPECT_EQ(start_url, web_contents->GetLastCommittedURL()); | 248 EXPECT_EQ(start_url, web_contents->GetLastCommittedURL()); |
| 249 } | 249 } |
| 250 #endif // CHROME_BROWSER_SIGNIN_SIGNIN_BROWSERTEST_H_ | 250 #endif // CHROME_BROWSER_SIGNIN_SIGNIN_BROWSERTEST_H_ |
| OLD | NEW |