| OLD | NEW |
| 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/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/path_service.h" | 6 #include "base/path_service.h" |
| 7 #include "base/strings/string_util.h" | 7 #include "base/strings/string_util.h" |
| 8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
| 9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
| 10 #include "chrome/browser/chrome_notification_types.h" | 10 #include "chrome/browser/chrome_notification_types.h" |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 | 47 |
| 48 // This class observes chrome::NOTIFICATION_AUTH_NEEDED and supplies | 48 // This class observes chrome::NOTIFICATION_AUTH_NEEDED and supplies |
| 49 // the credential which is required by the test proxy server. | 49 // the credential which is required by the test proxy server. |
| 50 // "foo:bar" is the required username and password for our test proxy server. | 50 // "foo:bar" is the required username and password for our test proxy server. |
| 51 class LoginPromptObserver : public content::NotificationObserver { | 51 class LoginPromptObserver : public content::NotificationObserver { |
| 52 public: | 52 public: |
| 53 LoginPromptObserver() : auth_handled_(false) {} | 53 LoginPromptObserver() : auth_handled_(false) {} |
| 54 | 54 |
| 55 virtual void Observe(int type, | 55 virtual void Observe(int type, |
| 56 const content::NotificationSource& source, | 56 const content::NotificationSource& source, |
| 57 const content::NotificationDetails& details) OVERRIDE { | 57 const content::NotificationDetails& details) override { |
| 58 if (type == chrome::NOTIFICATION_AUTH_NEEDED) { | 58 if (type == chrome::NOTIFICATION_AUTH_NEEDED) { |
| 59 LoginNotificationDetails* login_details = | 59 LoginNotificationDetails* login_details = |
| 60 content::Details<LoginNotificationDetails>(details).ptr(); | 60 content::Details<LoginNotificationDetails>(details).ptr(); |
| 61 // |login_details->handler()| is the associated LoginHandler object. | 61 // |login_details->handler()| is the associated LoginHandler object. |
| 62 // SetAuth() will close the login dialog. | 62 // SetAuth() will close the login dialog. |
| 63 login_details->handler()->SetAuth(base::ASCIIToUTF16("foo"), | 63 login_details->handler()->SetAuth(base::ASCIIToUTF16("foo"), |
| 64 base::ASCIIToUTF16("bar")); | 64 base::ASCIIToUTF16("bar")); |
| 65 auth_handled_ = true; | 65 auth_handled_ = true; |
| 66 } | 66 } |
| 67 } | 67 } |
| 68 | 68 |
| 69 bool auth_handled() const { return auth_handled_; } | 69 bool auth_handled() const { return auth_handled_; } |
| 70 | 70 |
| 71 private: | 71 private: |
| 72 bool auth_handled_; | 72 bool auth_handled_; |
| 73 | 73 |
| 74 DISALLOW_COPY_AND_ASSIGN(LoginPromptObserver); | 74 DISALLOW_COPY_AND_ASSIGN(LoginPromptObserver); |
| 75 }; | 75 }; |
| 76 | 76 |
| 77 class ProxyBrowserTest : public InProcessBrowserTest { | 77 class ProxyBrowserTest : public InProcessBrowserTest { |
| 78 public: | 78 public: |
| 79 ProxyBrowserTest() | 79 ProxyBrowserTest() |
| 80 : proxy_server_(net::SpawnedTestServer::TYPE_BASIC_AUTH_PROXY, | 80 : proxy_server_(net::SpawnedTestServer::TYPE_BASIC_AUTH_PROXY, |
| 81 net::SpawnedTestServer::kLocalhost, | 81 net::SpawnedTestServer::kLocalhost, |
| 82 base::FilePath()) { | 82 base::FilePath()) { |
| 83 } | 83 } |
| 84 | 84 |
| 85 virtual void SetUp() OVERRIDE { | 85 virtual void SetUp() override { |
| 86 ASSERT_TRUE(proxy_server_.Start()); | 86 ASSERT_TRUE(proxy_server_.Start()); |
| 87 InProcessBrowserTest::SetUp(); | 87 InProcessBrowserTest::SetUp(); |
| 88 } | 88 } |
| 89 | 89 |
| 90 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 90 virtual void SetUpCommandLine(CommandLine* command_line) override { |
| 91 command_line->AppendSwitchASCII(switches::kProxyServer, | 91 command_line->AppendSwitchASCII(switches::kProxyServer, |
| 92 proxy_server_.host_port_pair().ToString()); | 92 proxy_server_.host_port_pair().ToString()); |
| 93 } | 93 } |
| 94 | 94 |
| 95 protected: | 95 protected: |
| 96 net::SpawnedTestServer proxy_server_; | 96 net::SpawnedTestServer proxy_server_; |
| 97 | 97 |
| 98 private: | 98 private: |
| 99 | 99 |
| 100 DISALLOW_COPY_AND_ASSIGN(ProxyBrowserTest); | 100 DISALLOW_COPY_AND_ASSIGN(ProxyBrowserTest); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 // Fetch PAC script via an http:// URL. | 145 // Fetch PAC script via an http:// URL. |
| 146 class HttpProxyScriptBrowserTest : public InProcessBrowserTest { | 146 class HttpProxyScriptBrowserTest : public InProcessBrowserTest { |
| 147 public: | 147 public: |
| 148 HttpProxyScriptBrowserTest() | 148 HttpProxyScriptBrowserTest() |
| 149 : http_server_(net::SpawnedTestServer::TYPE_HTTP, | 149 : http_server_(net::SpawnedTestServer::TYPE_HTTP, |
| 150 net::SpawnedTestServer::kLocalhost, | 150 net::SpawnedTestServer::kLocalhost, |
| 151 base::FilePath(FILE_PATH_LITERAL("chrome/test/data"))) { | 151 base::FilePath(FILE_PATH_LITERAL("chrome/test/data"))) { |
| 152 } | 152 } |
| 153 virtual ~HttpProxyScriptBrowserTest() {} | 153 virtual ~HttpProxyScriptBrowserTest() {} |
| 154 | 154 |
| 155 virtual void SetUp() OVERRIDE { | 155 virtual void SetUp() override { |
| 156 ASSERT_TRUE(http_server_.Start()); | 156 ASSERT_TRUE(http_server_.Start()); |
| 157 InProcessBrowserTest::SetUp(); | 157 InProcessBrowserTest::SetUp(); |
| 158 } | 158 } |
| 159 | 159 |
| 160 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 160 virtual void SetUpCommandLine(CommandLine* command_line) override { |
| 161 base::FilePath pac_script_path(FILE_PATH_LITERAL("files")); | 161 base::FilePath pac_script_path(FILE_PATH_LITERAL("files")); |
| 162 command_line->AppendSwitchASCII(switches::kProxyPacUrl, http_server_.GetURL( | 162 command_line->AppendSwitchASCII(switches::kProxyPacUrl, http_server_.GetURL( |
| 163 pac_script_path.Append(kPACScript).MaybeAsASCII()).spec()); | 163 pac_script_path.Append(kPACScript).MaybeAsASCII()).spec()); |
| 164 } | 164 } |
| 165 | 165 |
| 166 private: | 166 private: |
| 167 net::SpawnedTestServer http_server_; | 167 net::SpawnedTestServer http_server_; |
| 168 | 168 |
| 169 DISALLOW_COPY_AND_ASSIGN(HttpProxyScriptBrowserTest); | 169 DISALLOW_COPY_AND_ASSIGN(HttpProxyScriptBrowserTest); |
| 170 }; | 170 }; |
| 171 | 171 |
| 172 IN_PROC_BROWSER_TEST_F(HttpProxyScriptBrowserTest, Verify) { | 172 IN_PROC_BROWSER_TEST_F(HttpProxyScriptBrowserTest, Verify) { |
| 173 VerifyProxyScript(browser()); | 173 VerifyProxyScript(browser()); |
| 174 } | 174 } |
| 175 | 175 |
| 176 // Fetch PAC script via a file:// URL. | 176 // Fetch PAC script via a file:// URL. |
| 177 class FileProxyScriptBrowserTest : public InProcessBrowserTest { | 177 class FileProxyScriptBrowserTest : public InProcessBrowserTest { |
| 178 public: | 178 public: |
| 179 FileProxyScriptBrowserTest() {} | 179 FileProxyScriptBrowserTest() {} |
| 180 virtual ~FileProxyScriptBrowserTest() {} | 180 virtual ~FileProxyScriptBrowserTest() {} |
| 181 | 181 |
| 182 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 182 virtual void SetUpCommandLine(CommandLine* command_line) override { |
| 183 command_line->AppendSwitchASCII(switches::kProxyPacUrl, | 183 command_line->AppendSwitchASCII(switches::kProxyPacUrl, |
| 184 ui_test_utils::GetTestUrl( | 184 ui_test_utils::GetTestUrl( |
| 185 base::FilePath(base::FilePath::kCurrentDirectory), | 185 base::FilePath(base::FilePath::kCurrentDirectory), |
| 186 base::FilePath(kPACScript)).spec()); | 186 base::FilePath(kPACScript)).spec()); |
| 187 } | 187 } |
| 188 | 188 |
| 189 private: | 189 private: |
| 190 DISALLOW_COPY_AND_ASSIGN(FileProxyScriptBrowserTest); | 190 DISALLOW_COPY_AND_ASSIGN(FileProxyScriptBrowserTest); |
| 191 }; | 191 }; |
| 192 | 192 |
| 193 IN_PROC_BROWSER_TEST_F(FileProxyScriptBrowserTest, Verify) { | 193 IN_PROC_BROWSER_TEST_F(FileProxyScriptBrowserTest, Verify) { |
| 194 VerifyProxyScript(browser()); | 194 VerifyProxyScript(browser()); |
| 195 } | 195 } |
| 196 | 196 |
| 197 // Fetch PAC script via an ftp:// URL. | 197 // Fetch PAC script via an ftp:// URL. |
| 198 class FtpProxyScriptBrowserTest : public InProcessBrowserTest { | 198 class FtpProxyScriptBrowserTest : public InProcessBrowserTest { |
| 199 public: | 199 public: |
| 200 FtpProxyScriptBrowserTest() | 200 FtpProxyScriptBrowserTest() |
| 201 : ftp_server_(net::SpawnedTestServer::TYPE_FTP, | 201 : ftp_server_(net::SpawnedTestServer::TYPE_FTP, |
| 202 net::SpawnedTestServer::kLocalhost, | 202 net::SpawnedTestServer::kLocalhost, |
| 203 base::FilePath(FILE_PATH_LITERAL("chrome/test/data"))) { | 203 base::FilePath(FILE_PATH_LITERAL("chrome/test/data"))) { |
| 204 } | 204 } |
| 205 virtual ~FtpProxyScriptBrowserTest() {} | 205 virtual ~FtpProxyScriptBrowserTest() {} |
| 206 | 206 |
| 207 virtual void SetUp() OVERRIDE { | 207 virtual void SetUp() override { |
| 208 ASSERT_TRUE(ftp_server_.Start()); | 208 ASSERT_TRUE(ftp_server_.Start()); |
| 209 InProcessBrowserTest::SetUp(); | 209 InProcessBrowserTest::SetUp(); |
| 210 } | 210 } |
| 211 | 211 |
| 212 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 212 virtual void SetUpCommandLine(CommandLine* command_line) override { |
| 213 base::FilePath pac_script_path(kPACScript); | 213 base::FilePath pac_script_path(kPACScript); |
| 214 command_line->AppendSwitchASCII( | 214 command_line->AppendSwitchASCII( |
| 215 switches::kProxyPacUrl, | 215 switches::kProxyPacUrl, |
| 216 ftp_server_.GetURL(pac_script_path.MaybeAsASCII()).spec()); | 216 ftp_server_.GetURL(pac_script_path.MaybeAsASCII()).spec()); |
| 217 } | 217 } |
| 218 | 218 |
| 219 private: | 219 private: |
| 220 net::SpawnedTestServer ftp_server_; | 220 net::SpawnedTestServer ftp_server_; |
| 221 | 221 |
| 222 DISALLOW_COPY_AND_ASSIGN(FtpProxyScriptBrowserTest); | 222 DISALLOW_COPY_AND_ASSIGN(FtpProxyScriptBrowserTest); |
| 223 }; | 223 }; |
| 224 | 224 |
| 225 IN_PROC_BROWSER_TEST_F(FtpProxyScriptBrowserTest, Verify) { | 225 IN_PROC_BROWSER_TEST_F(FtpProxyScriptBrowserTest, Verify) { |
| 226 VerifyProxyScript(browser()); | 226 VerifyProxyScript(browser()); |
| 227 } | 227 } |
| 228 | 228 |
| 229 // Fetch PAC script via a data: URL. | 229 // Fetch PAC script via a data: URL. |
| 230 class DataProxyScriptBrowserTest : public InProcessBrowserTest { | 230 class DataProxyScriptBrowserTest : public InProcessBrowserTest { |
| 231 public: | 231 public: |
| 232 DataProxyScriptBrowserTest() {} | 232 DataProxyScriptBrowserTest() {} |
| 233 virtual ~DataProxyScriptBrowserTest() {} | 233 virtual ~DataProxyScriptBrowserTest() {} |
| 234 | 234 |
| 235 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 235 virtual void SetUpCommandLine(CommandLine* command_line) override { |
| 236 std::string contents; | 236 std::string contents; |
| 237 // Read in kPACScript contents. | 237 // Read in kPACScript contents. |
| 238 ASSERT_TRUE(base::ReadFileToString(ui_test_utils::GetTestFilePath( | 238 ASSERT_TRUE(base::ReadFileToString(ui_test_utils::GetTestFilePath( |
| 239 base::FilePath(base::FilePath::kCurrentDirectory), | 239 base::FilePath(base::FilePath::kCurrentDirectory), |
| 240 base::FilePath(kPACScript)), | 240 base::FilePath(kPACScript)), |
| 241 &contents)); | 241 &contents)); |
| 242 command_line->AppendSwitchASCII(switches::kProxyPacUrl, | 242 command_line->AppendSwitchASCII(switches::kProxyPacUrl, |
| 243 std::string("data:,") + contents); | 243 std::string("data:,") + contents); |
| 244 } | 244 } |
| 245 | 245 |
| 246 private: | 246 private: |
| 247 DISALLOW_COPY_AND_ASSIGN(DataProxyScriptBrowserTest); | 247 DISALLOW_COPY_AND_ASSIGN(DataProxyScriptBrowserTest); |
| 248 }; | 248 }; |
| 249 | 249 |
| 250 IN_PROC_BROWSER_TEST_F(DataProxyScriptBrowserTest, Verify) { | 250 IN_PROC_BROWSER_TEST_F(DataProxyScriptBrowserTest, Verify) { |
| 251 VerifyProxyScript(browser()); | 251 VerifyProxyScript(browser()); |
| 252 } | 252 } |
| 253 | 253 |
| 254 } // namespace | 254 } // namespace |
| OLD | NEW |