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

Side by Side Diff: chrome/browser/extensions/extension_proxy_apitest.cc

Issue 6992022: Move Proxy Settings API out of experimental (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removed remainder of merge conflict. Fixes unit test Created 9 years, 7 months 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "chrome/browser/extensions/extension_apitest.h" 5 #include "chrome/browser/extensions/extension_apitest.h"
6 #include "chrome/browser/prefs/pref_service.h" 6 #include "chrome/browser/prefs/pref_service.h"
7 #include "chrome/browser/prefs/proxy_config_dictionary.h" 7 #include "chrome/browser/prefs/proxy_config_dictionary.h"
8 #include "chrome/browser/profiles/profile.h" 8 #include "chrome/browser/profiles/profile.h"
9 #include "chrome/browser/ui/browser.h" 9 #include "chrome/browser/ui/browser.h"
10 #include "chrome/common/chrome_switches.h" 10 #include "chrome/common/chrome_switches.h"
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 void ExpectNoSettings(PrefService* pref_service) { 63 void ExpectNoSettings(PrefService* pref_service) {
64 const PrefService::Preference* pref = 64 const PrefService::Preference* pref =
65 pref_service->FindPreference(prefs::kProxy); 65 pref_service->FindPreference(prefs::kProxy);
66 ASSERT_TRUE(pref != NULL); 66 ASSERT_TRUE(pref != NULL);
67 EXPECT_FALSE(pref->IsExtensionControlled()); 67 EXPECT_FALSE(pref->IsExtensionControlled());
68 } 68 }
69 }; 69 };
70 70
71 // Tests direct connection settings. 71 // Tests direct connection settings.
72 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyDirectSettings) { 72 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyDirectSettings) {
73 CommandLine::ForCurrentProcess()->AppendSwitch(
74 switches::kEnableExperimentalExtensionApis);
75
76 ASSERT_TRUE(RunExtensionTestIncognito("proxy/direct")) << message_; 73 ASSERT_TRUE(RunExtensionTestIncognito("proxy/direct")) << message_;
77 const Extension* extension = GetSingleLoadedExtension(); 74 const Extension* extension = GetSingleLoadedExtension();
78 ASSERT_TRUE(extension); 75 ASSERT_TRUE(extension);
79 76
80 PrefService* pref_service = browser()->profile()->GetPrefs(); 77 PrefService* pref_service = browser()->profile()->GetPrefs();
81 ValidateSettings(ProxyPrefs::MODE_DIRECT, kNoServer, kNoBypass, kNoPac, 78 ValidateSettings(ProxyPrefs::MODE_DIRECT, kNoServer, kNoBypass, kNoPac,
82 pref_service); 79 pref_service);
83 } 80 }
84 81
85 // Tests auto-detect settings. 82 // Tests auto-detect settings.
86 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyAutoSettings) { 83 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyAutoSettings) {
87 CommandLine::ForCurrentProcess()->AppendSwitch(
88 switches::kEnableExperimentalExtensionApis);
89
90 ASSERT_TRUE(RunExtensionTestIncognito("proxy/auto")) << message_; 84 ASSERT_TRUE(RunExtensionTestIncognito("proxy/auto")) << message_;
91 const Extension* extension = GetSingleLoadedExtension(); 85 const Extension* extension = GetSingleLoadedExtension();
92 ASSERT_TRUE(extension); 86 ASSERT_TRUE(extension);
93 87
94 PrefService* pref_service = browser()->profile()->GetPrefs(); 88 PrefService* pref_service = browser()->profile()->GetPrefs();
95 ValidateSettings(ProxyPrefs::MODE_AUTO_DETECT, kNoServer, kNoBypass, kNoPac, 89 ValidateSettings(ProxyPrefs::MODE_AUTO_DETECT, kNoServer, kNoBypass, kNoPac,
96 pref_service); 90 pref_service);
97 } 91 }
98 92
99 // Tests PAC proxy settings. 93 // Tests PAC proxy settings.
100 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyPacScript) { 94 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyPacScript) {
101 CommandLine::ForCurrentProcess()->AppendSwitch(
102 switches::kEnableExperimentalExtensionApis);
103
104 ASSERT_TRUE(RunExtensionTest("proxy/pac")) << message_; 95 ASSERT_TRUE(RunExtensionTest("proxy/pac")) << message_;
105 const Extension* extension = GetSingleLoadedExtension(); 96 const Extension* extension = GetSingleLoadedExtension();
106 ASSERT_TRUE(extension); 97 ASSERT_TRUE(extension);
107 98
108 PrefService* pref_service = browser()->profile()->GetPrefs(); 99 PrefService* pref_service = browser()->profile()->GetPrefs();
109 ValidateSettings(ProxyPrefs::MODE_PAC_SCRIPT, kNoServer, kNoBypass, 100 ValidateSettings(ProxyPrefs::MODE_PAC_SCRIPT, kNoServer, kNoBypass,
110 "http://wpad/windows.pac", pref_service); 101 "http://wpad/windows.pac", pref_service);
111 } 102 }
112 103
113 // Tests PAC proxy settings. 104 // Tests PAC proxy settings.
114 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyPacData) { 105 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyPacData) {
115 CommandLine::ForCurrentProcess()->AppendSwitch(
116 switches::kEnableExperimentalExtensionApis);
117
118 ASSERT_TRUE(RunExtensionTest("proxy/pacdata")) << message_; 106 ASSERT_TRUE(RunExtensionTest("proxy/pacdata")) << message_;
119 const Extension* extension = GetSingleLoadedExtension(); 107 const Extension* extension = GetSingleLoadedExtension();
120 ASSERT_TRUE(extension); 108 ASSERT_TRUE(extension);
121 const char url[] = 109 const char url[] =
122 "data:application/x-ns-proxy-autoconfig;base64,ZnVuY3Rpb24gRmluZFByb3h5R" 110 "data:application/x-ns-proxy-autoconfig;base64,ZnVuY3Rpb24gRmluZFByb3h5R"
123 "m9yVVJMKHVybCwgaG9zdCkgewogIGlmIChob3N0ID09ICdmb29iYXIuY29tJykKICAgIHJl" 111 "m9yVVJMKHVybCwgaG9zdCkgewogIGlmIChob3N0ID09ICdmb29iYXIuY29tJykKICAgIHJl"
124 "dHVybiAnUFJPWFkgYmxhY2tob2xlOjgwJzsKICByZXR1cm4gJ0RJUkVDVCc7Cn0="; 112 "dHVybiAnUFJPWFkgYmxhY2tob2xlOjgwJzsKICByZXR1cm4gJ0RJUkVDVCc7Cn0=";
125 PrefService* pref_service = browser()->profile()->GetPrefs(); 113 PrefService* pref_service = browser()->profile()->GetPrefs();
126 ValidateSettings(ProxyPrefs::MODE_PAC_SCRIPT, kNoServer, kNoBypass, 114 ValidateSettings(ProxyPrefs::MODE_PAC_SCRIPT, kNoServer, kNoBypass,
127 url, pref_service); 115 url, pref_service);
128 } 116 }
129 117
130 // Tests setting a single proxy to cover all schemes. 118 // Tests setting a single proxy to cover all schemes.
131 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyFixedSingle) { 119 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyFixedSingle) {
132 CommandLine::ForCurrentProcess()->AppendSwitch(
133 switches::kEnableExperimentalExtensionApis);
134
135 ASSERT_TRUE(RunExtensionTest("proxy/single")) << message_; 120 ASSERT_TRUE(RunExtensionTest("proxy/single")) << message_;
136 const Extension* extension = GetSingleLoadedExtension(); 121 const Extension* extension = GetSingleLoadedExtension();
137 ASSERT_TRUE(extension); 122 ASSERT_TRUE(extension);
138 123
139 PrefService* pref_service = browser()->profile()->GetPrefs(); 124 PrefService* pref_service = browser()->profile()->GetPrefs();
140 ValidateSettings(ProxyPrefs::MODE_FIXED_SERVERS, 125 ValidateSettings(ProxyPrefs::MODE_FIXED_SERVERS,
141 "127.0.0.1:100", 126 "127.0.0.1:100",
142 kNoBypass, 127 kNoBypass,
143 kNoPac, 128 kNoPac,
144 pref_service); 129 pref_service);
145 } 130 }
146 131
147 // Tests setting to use the system's proxy settings. 132 // Tests setting to use the system's proxy settings.
148 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxySystem) { 133 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxySystem) {
149 CommandLine::ForCurrentProcess()->AppendSwitch(
150 switches::kEnableExperimentalExtensionApis);
151
152 ASSERT_TRUE(RunExtensionTest("proxy/system")) << message_; 134 ASSERT_TRUE(RunExtensionTest("proxy/system")) << message_;
153 const Extension* extension = GetSingleLoadedExtension(); 135 const Extension* extension = GetSingleLoadedExtension();
154 ASSERT_TRUE(extension); 136 ASSERT_TRUE(extension);
155 137
156 PrefService* pref_service = browser()->profile()->GetPrefs(); 138 PrefService* pref_service = browser()->profile()->GetPrefs();
157 ValidateSettings(ProxyPrefs::MODE_SYSTEM, kNoServer, kNoBypass, kNoPac, 139 ValidateSettings(ProxyPrefs::MODE_SYSTEM, kNoServer, kNoBypass, kNoPac,
158 pref_service); 140 pref_service);
159 } 141 }
160 142
161 // Tests setting separate proxies for each scheme. 143 // Tests setting separate proxies for each scheme.
162 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyFixedIndividual) { 144 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyFixedIndividual) {
163 CommandLine::ForCurrentProcess()->AppendSwitch(
164 switches::kEnableExperimentalExtensionApis);
165
166 ASSERT_TRUE(RunExtensionTestIncognito("proxy/individual")) << message_; 145 ASSERT_TRUE(RunExtensionTestIncognito("proxy/individual")) << message_;
167 const Extension* extension = GetSingleLoadedExtension(); 146 const Extension* extension = GetSingleLoadedExtension();
168 ASSERT_TRUE(extension); 147 ASSERT_TRUE(extension);
169 148
170 PrefService* pref_service = browser()->profile()->GetPrefs(); 149 PrefService* pref_service = browser()->profile()->GetPrefs();
171 ValidateSettings(ProxyPrefs::MODE_FIXED_SERVERS, 150 ValidateSettings(ProxyPrefs::MODE_FIXED_SERVERS,
172 "http=1.1.1.1:80;" // http:// is pruned. 151 "http=1.1.1.1:80;" // http:// is pruned.
173 "https=2.2.2.2:80;" // http:// is pruned. 152 "https=2.2.2.2:80;" // http:// is pruned.
174 "ftp=3.3.3.3:9000;" // http:// is pruned. 153 "ftp=3.3.3.3:9000;" // http:// is pruned.
175 "socks=socks4://4.4.4.4:9090", 154 "socks=socks4://4.4.4.4:9090",
(...skipping 10 matching lines...) Expand all
186 "socks=socks4://4.4.4.4:9090", 165 "socks=socks4://4.4.4.4:9090",
187 kNoBypass, 166 kNoBypass,
188 kNoPac, 167 kNoPac,
189 pref_service); 168 pref_service);
190 } 169 }
191 170
192 // Tests setting values only for incognito mode 171 // Tests setting values only for incognito mode
193 // TODO(battre): re-enable when incognito is supported again 172 // TODO(battre): re-enable when incognito is supported again
194 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, 173 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest,
195 DISABLED_ProxyFixedIndividualIncognitoOnly) { 174 DISABLED_ProxyFixedIndividualIncognitoOnly) {
196 CommandLine::ForCurrentProcess()->AppendSwitch(
197 switches::kEnableExperimentalExtensionApis);
198
199 ASSERT_TRUE(RunExtensionTestIncognito("proxy/individual_incognito_only")) << 175 ASSERT_TRUE(RunExtensionTestIncognito("proxy/individual_incognito_only")) <<
200 message_; 176 message_;
201 const Extension* extension = GetSingleLoadedExtension(); 177 const Extension* extension = GetSingleLoadedExtension();
202 ASSERT_TRUE(extension); 178 ASSERT_TRUE(extension);
203 179
204 PrefService* pref_service = browser()->profile()->GetPrefs(); 180 PrefService* pref_service = browser()->profile()->GetPrefs();
205 ExpectNoSettings(pref_service); 181 ExpectNoSettings(pref_service);
206 182
207 // Now check the incognito preferences. 183 // Now check the incognito preferences.
208 pref_service = browser()->profile()->GetOffTheRecordProfile()->GetPrefs(); 184 pref_service = browser()->profile()->GetOffTheRecordProfile()->GetPrefs();
209 ValidateSettings(ProxyPrefs::MODE_FIXED_SERVERS, 185 ValidateSettings(ProxyPrefs::MODE_FIXED_SERVERS,
210 "http=1.1.1.1:80;" 186 "http=1.1.1.1:80;"
211 "https=socks5://2.2.2.2:1080;" 187 "https=socks5://2.2.2.2:1080;"
212 "ftp=3.3.3.3:9000;" 188 "ftp=3.3.3.3:9000;"
213 "socks=socks4://4.4.4.4:9090", 189 "socks=socks4://4.4.4.4:9090",
214 kNoBypass, 190 kNoBypass,
215 kNoPac, 191 kNoPac,
216 pref_service); 192 pref_service);
217 } 193 }
218 194
219 // Tests setting values also for incognito mode 195 // Tests setting values also for incognito mode
220 // TODO(battre): re-enable when incognito is supported again 196 // TODO(battre): re-enable when incognito is supported again
221 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, 197 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest,
222 DISABLED_ProxyFixedIndividualIncognitoAlso) { 198 DISABLED_ProxyFixedIndividualIncognitoAlso) {
223 CommandLine::ForCurrentProcess()->AppendSwitch(
224 switches::kEnableExperimentalExtensionApis);
225
226 ASSERT_TRUE(RunExtensionTestIncognito("proxy/individual_incognito_also")) << 199 ASSERT_TRUE(RunExtensionTestIncognito("proxy/individual_incognito_also")) <<
227 message_; 200 message_;
228 const Extension* extension = GetSingleLoadedExtension(); 201 const Extension* extension = GetSingleLoadedExtension();
229 ASSERT_TRUE(extension); 202 ASSERT_TRUE(extension);
230 203
231 PrefService* pref_service = browser()->profile()->GetPrefs(); 204 PrefService* pref_service = browser()->profile()->GetPrefs();
232 ValidateSettings(ProxyPrefs::MODE_FIXED_SERVERS, 205 ValidateSettings(ProxyPrefs::MODE_FIXED_SERVERS,
233 "http=1.1.1.1:80;" 206 "http=1.1.1.1:80;"
234 "https=socks5://2.2.2.2:1080;" 207 "https=socks5://2.2.2.2:1080;"
235 "ftp=3.3.3.3:9000;" 208 "ftp=3.3.3.3:9000;"
236 "socks=socks4://4.4.4.4:9090", 209 "socks=socks4://4.4.4.4:9090",
237 kNoBypass, 210 kNoBypass,
238 kNoPac, 211 kNoPac,
239 pref_service); 212 pref_service);
240 213
241 // Now check the incognito preferences. 214 // Now check the incognito preferences.
242 pref_service = browser()->profile()->GetOffTheRecordProfile()->GetPrefs(); 215 pref_service = browser()->profile()->GetOffTheRecordProfile()->GetPrefs();
243 ValidateSettings(ProxyPrefs::MODE_FIXED_SERVERS, 216 ValidateSettings(ProxyPrefs::MODE_FIXED_SERVERS,
244 "http=5.5.5.5:80;" 217 "http=5.5.5.5:80;"
245 "https=socks5://6.6.6.6:1080;" 218 "https=socks5://6.6.6.6:1080;"
246 "ftp=7.7.7.7:9000;" 219 "ftp=7.7.7.7:9000;"
247 "socks=socks4://8.8.8.8:9090", 220 "socks=socks4://8.8.8.8:9090",
248 kNoBypass, 221 kNoBypass,
249 kNoPac, 222 kNoPac,
250 pref_service); 223 pref_service);
251 } 224 }
252 225
253 // Tests setting and unsetting values 226 // Tests setting and unsetting values
254 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyFixedIndividualRemove) { 227 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyFixedIndividualRemove) {
255 CommandLine::ForCurrentProcess()->AppendSwitch(
256 switches::kEnableExperimentalExtensionApis);
257
258 ASSERT_TRUE(RunExtensionTest("proxy/individual_remove")) << message_; 228 ASSERT_TRUE(RunExtensionTest("proxy/individual_remove")) << message_;
259 const Extension* extension = GetSingleLoadedExtension(); 229 const Extension* extension = GetSingleLoadedExtension();
260 ASSERT_TRUE(extension); 230 ASSERT_TRUE(extension);
261 231
262 PrefService* pref_service = browser()->profile()->GetPrefs(); 232 PrefService* pref_service = browser()->profile()->GetPrefs();
263 ExpectNoSettings(pref_service); 233 ExpectNoSettings(pref_service);
264 } 234 }
265 235
266 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, 236 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest,
267 ProxyBypass) { 237 ProxyBypass) {
268 CommandLine::ForCurrentProcess()->AppendSwitch(
269 switches::kEnableExperimentalExtensionApis);
270
271 ASSERT_TRUE(RunExtensionTestIncognito("proxy/bypass")) << message_; 238 ASSERT_TRUE(RunExtensionTestIncognito("proxy/bypass")) << message_;
272 const Extension* extension = GetSingleLoadedExtension(); 239 const Extension* extension = GetSingleLoadedExtension();
273 ASSERT_TRUE(extension); 240 ASSERT_TRUE(extension);
274 241
275 PrefService* pref_service = browser()->profile()->GetPrefs(); 242 PrefService* pref_service = browser()->profile()->GetPrefs();
276 ValidateSettings(ProxyPrefs::MODE_FIXED_SERVERS, 243 ValidateSettings(ProxyPrefs::MODE_FIXED_SERVERS,
277 "http=1.1.1.1:80", 244 "http=1.1.1.1:80",
278 "localhost,::1,foo.bar,<local>", 245 "localhost,::1,foo.bar,<local>",
279 kNoPac, 246 kNoPac,
280 pref_service); 247 pref_service);
281 248
282 // Now check the incognito preferences. 249 // Now check the incognito preferences.
283 pref_service = browser()->profile()->GetOffTheRecordProfile()->GetPrefs(); 250 pref_service = browser()->profile()->GetOffTheRecordProfile()->GetPrefs();
284 ValidateSettings(ProxyPrefs::MODE_FIXED_SERVERS, 251 ValidateSettings(ProxyPrefs::MODE_FIXED_SERVERS,
285 "http=1.1.1.1:80", 252 "http=1.1.1.1:80",
286 "localhost,::1,foo.bar,<local>", 253 "localhost,::1,foo.bar,<local>",
287 kNoPac, 254 kNoPac,
288 pref_service); 255 pref_service);
289 } 256 }
290 257
291 // Tests error events. 258 // Tests error events.
292 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyEvents) { 259 IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyEvents) {
293 CommandLine::ForCurrentProcess()->AppendSwitch(
294 switches::kEnableExperimentalExtensionApis);
295
296 ASSERT_TRUE(RunExtensionTest("proxy/events")) << message_; 260 ASSERT_TRUE(RunExtensionTest("proxy/events")) << message_;
297 } 261 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_proxy_api_constants.cc ('k') | chrome/common/extensions/api/extension_api.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698