| 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 #include <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
| 8 #include "base/values.h" | 8 #include "base/values.h" |
| 9 #include "chrome/browser/net/proxy_policy_handler.h" | 9 #include "chrome/browser/net/proxy_policy_handler.h" |
| 10 #include "components/policy/core/browser/configuration_policy_pref_store.h" | 10 #include "components/policy/core/browser/configuration_policy_pref_store.h" |
| 11 #include "components/policy/core/browser/configuration_policy_pref_store_test.h" | 11 #include "components/policy/core/browser/configuration_policy_pref_store_test.h" |
| 12 #include "components/policy/core/common/policy_service_impl.h" | 12 #include "components/policy/core/common/policy_service_impl.h" |
| 13 #include "components/policy/core/common/policy_types.h" |
| 13 #include "components/proxy_config/proxy_config_dictionary.h" | 14 #include "components/proxy_config/proxy_config_dictionary.h" |
| 14 #include "components/proxy_config/proxy_config_pref_names.h" | 15 #include "components/proxy_config/proxy_config_pref_names.h" |
| 15 #include "policy/policy_constants.h" | 16 #include "policy/policy_constants.h" |
| 16 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
| 17 | 18 |
| 18 namespace policy { | 19 namespace policy { |
| 19 | 20 |
| 20 // Test cases for the proxy policy settings. | 21 // Test cases for the proxy policy settings. |
| 21 class ProxyPolicyHandlerTest | 22 class ProxyPolicyHandlerTest |
| 22 : public ConfigurationPolicyPrefStoreTest { | 23 : public ConfigurationPolicyPrefStoreTest { |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 ASSERT_TRUE(dict.GetMode(&mode)); | 70 ASSERT_TRUE(dict.GetMode(&mode)); |
| 70 EXPECT_EQ(expected_proxy_mode, mode); | 71 EXPECT_EQ(expected_proxy_mode, mode); |
| 71 } | 72 } |
| 72 }; | 73 }; |
| 73 | 74 |
| 74 TEST_F(ProxyPolicyHandlerTest, ManualOptions) { | 75 TEST_F(ProxyPolicyHandlerTest, ManualOptions) { |
| 75 PolicyMap policy; | 76 PolicyMap policy; |
| 76 policy.Set(key::kProxyBypassList, | 77 policy.Set(key::kProxyBypassList, |
| 77 POLICY_LEVEL_MANDATORY, | 78 POLICY_LEVEL_MANDATORY, |
| 78 POLICY_SCOPE_USER, | 79 POLICY_SCOPE_USER, |
| 80 POLICY_SOURCE_CLOUD, |
| 79 new base::StringValue("http://chromium.org/override"), | 81 new base::StringValue("http://chromium.org/override"), |
| 80 NULL); | 82 NULL); |
| 81 policy.Set(key::kProxyServer, | 83 policy.Set(key::kProxyServer, |
| 82 POLICY_LEVEL_MANDATORY, | 84 POLICY_LEVEL_MANDATORY, |
| 83 POLICY_SCOPE_USER, | 85 POLICY_SCOPE_USER, |
| 86 POLICY_SOURCE_CLOUD, |
| 84 new base::StringValue("chromium.org"), | 87 new base::StringValue("chromium.org"), |
| 85 NULL); | 88 NULL); |
| 86 policy.Set( | 89 policy.Set( |
| 87 key::kProxyServerMode, | 90 key::kProxyServerMode, |
| 88 POLICY_LEVEL_MANDATORY, | 91 POLICY_LEVEL_MANDATORY, |
| 89 POLICY_SCOPE_USER, | 92 POLICY_SCOPE_USER, |
| 93 POLICY_SOURCE_CLOUD, |
| 90 new base::FundamentalValue( | 94 new base::FundamentalValue( |
| 91 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE), | 95 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE), |
| 92 NULL); | 96 NULL); |
| 93 UpdateProviderPolicy(policy); | 97 UpdateProviderPolicy(policy); |
| 94 | 98 |
| 95 VerifyProxyPrefs("chromium.org", | 99 VerifyProxyPrefs("chromium.org", |
| 96 std::string(), | 100 std::string(), |
| 97 "http://chromium.org/override", | 101 "http://chromium.org/override", |
| 98 ProxyPrefs::MODE_FIXED_SERVERS); | 102 ProxyPrefs::MODE_FIXED_SERVERS); |
| 99 } | 103 } |
| 100 | 104 |
| 101 TEST_F(ProxyPolicyHandlerTest, ManualOptionsReversedApplyOrder) { | 105 TEST_F(ProxyPolicyHandlerTest, ManualOptionsReversedApplyOrder) { |
| 102 PolicyMap policy; | 106 PolicyMap policy; |
| 103 policy.Set( | 107 policy.Set( |
| 104 key::kProxyServerMode, | 108 key::kProxyServerMode, |
| 105 POLICY_LEVEL_MANDATORY, | 109 POLICY_LEVEL_MANDATORY, |
| 106 POLICY_SCOPE_USER, | 110 POLICY_SCOPE_USER, |
| 111 POLICY_SOURCE_CLOUD, |
| 107 new base::FundamentalValue( | 112 new base::FundamentalValue( |
| 108 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE), | 113 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE), |
| 109 NULL); | 114 NULL); |
| 110 policy.Set(key::kProxyBypassList, | 115 policy.Set(key::kProxyBypassList, |
| 111 POLICY_LEVEL_MANDATORY, | 116 POLICY_LEVEL_MANDATORY, |
| 112 POLICY_SCOPE_USER, | 117 POLICY_SCOPE_USER, |
| 118 POLICY_SOURCE_CLOUD, |
| 113 new base::StringValue("http://chromium.org/override"), | 119 new base::StringValue("http://chromium.org/override"), |
| 114 NULL); | 120 NULL); |
| 115 policy.Set(key::kProxyServer, | 121 policy.Set(key::kProxyServer, |
| 116 POLICY_LEVEL_MANDATORY, | 122 POLICY_LEVEL_MANDATORY, |
| 117 POLICY_SCOPE_USER, | 123 POLICY_SCOPE_USER, |
| 124 POLICY_SOURCE_CLOUD, |
| 118 new base::StringValue("chromium.org"), | 125 new base::StringValue("chromium.org"), |
| 119 NULL); | 126 NULL); |
| 120 UpdateProviderPolicy(policy); | 127 UpdateProviderPolicy(policy); |
| 121 | 128 |
| 122 VerifyProxyPrefs("chromium.org", | 129 VerifyProxyPrefs("chromium.org", |
| 123 std::string(), | 130 std::string(), |
| 124 "http://chromium.org/override", | 131 "http://chromium.org/override", |
| 125 ProxyPrefs::MODE_FIXED_SERVERS); | 132 ProxyPrefs::MODE_FIXED_SERVERS); |
| 126 } | 133 } |
| 127 | 134 |
| 128 TEST_F(ProxyPolicyHandlerTest, ManualOptionsInvalid) { | 135 TEST_F(ProxyPolicyHandlerTest, ManualOptionsInvalid) { |
| 129 PolicyMap policy; | 136 PolicyMap policy; |
| 130 policy.Set( | 137 policy.Set( |
| 131 key::kProxyServerMode, | 138 key::kProxyServerMode, |
| 132 POLICY_LEVEL_MANDATORY, | 139 POLICY_LEVEL_MANDATORY, |
| 133 POLICY_SCOPE_USER, | 140 POLICY_SCOPE_USER, |
| 141 POLICY_SOURCE_CLOUD, |
| 134 new base::FundamentalValue( | 142 new base::FundamentalValue( |
| 135 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE), | 143 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE), |
| 136 NULL); | 144 NULL); |
| 137 UpdateProviderPolicy(policy); | 145 UpdateProviderPolicy(policy); |
| 138 | 146 |
| 139 const base::Value* value = NULL; | 147 const base::Value* value = NULL; |
| 140 EXPECT_FALSE(store_->GetValue(proxy_config::prefs::kProxy, &value)); | 148 EXPECT_FALSE(store_->GetValue(proxy_config::prefs::kProxy, &value)); |
| 141 } | 149 } |
| 142 | 150 |
| 143 TEST_F(ProxyPolicyHandlerTest, NoProxyServerMode) { | 151 TEST_F(ProxyPolicyHandlerTest, NoProxyServerMode) { |
| 144 PolicyMap policy; | 152 PolicyMap policy; |
| 145 policy.Set(key::kProxyServerMode, | 153 policy.Set(key::kProxyServerMode, |
| 146 POLICY_LEVEL_MANDATORY, | 154 POLICY_LEVEL_MANDATORY, |
| 147 POLICY_SCOPE_USER, | 155 POLICY_SCOPE_USER, |
| 156 POLICY_SOURCE_CLOUD, |
| 148 new base::FundamentalValue(ProxyPolicyHandler::PROXY_SERVER_MODE), | 157 new base::FundamentalValue(ProxyPolicyHandler::PROXY_SERVER_MODE), |
| 149 NULL); | 158 NULL); |
| 150 UpdateProviderPolicy(policy); | 159 UpdateProviderPolicy(policy); |
| 151 VerifyProxyPrefs( | 160 VerifyProxyPrefs( |
| 152 std::string(), std::string(), std::string(), ProxyPrefs::MODE_DIRECT); | 161 std::string(), std::string(), std::string(), ProxyPrefs::MODE_DIRECT); |
| 153 } | 162 } |
| 154 | 163 |
| 155 TEST_F(ProxyPolicyHandlerTest, NoProxyModeName) { | 164 TEST_F(ProxyPolicyHandlerTest, NoProxyModeName) { |
| 156 PolicyMap policy; | 165 PolicyMap policy; |
| 157 policy.Set(key::kProxyMode, | 166 policy.Set(key::kProxyMode, |
| 158 POLICY_LEVEL_MANDATORY, | 167 POLICY_LEVEL_MANDATORY, |
| 159 POLICY_SCOPE_USER, | 168 POLICY_SCOPE_USER, |
| 169 POLICY_SOURCE_CLOUD, |
| 160 new base::StringValue(ProxyPrefs::kDirectProxyModeName), | 170 new base::StringValue(ProxyPrefs::kDirectProxyModeName), |
| 161 NULL); | 171 NULL); |
| 162 UpdateProviderPolicy(policy); | 172 UpdateProviderPolicy(policy); |
| 163 VerifyProxyPrefs( | 173 VerifyProxyPrefs( |
| 164 std::string(), std::string(), std::string(), ProxyPrefs::MODE_DIRECT); | 174 std::string(), std::string(), std::string(), ProxyPrefs::MODE_DIRECT); |
| 165 } | 175 } |
| 166 | 176 |
| 167 TEST_F(ProxyPolicyHandlerTest, AutoDetectProxyServerMode) { | 177 TEST_F(ProxyPolicyHandlerTest, AutoDetectProxyServerMode) { |
| 168 PolicyMap policy; | 178 PolicyMap policy; |
| 169 policy.Set(key::kProxyServerMode, | 179 policy.Set(key::kProxyServerMode, |
| 170 POLICY_LEVEL_MANDATORY, | 180 POLICY_LEVEL_MANDATORY, |
| 171 POLICY_SCOPE_USER, | 181 POLICY_SCOPE_USER, |
| 182 POLICY_SOURCE_CLOUD, |
| 172 new base::FundamentalValue( | 183 new base::FundamentalValue( |
| 173 ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE), | 184 ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE), |
| 174 NULL); | 185 NULL); |
| 175 UpdateProviderPolicy(policy); | 186 UpdateProviderPolicy(policy); |
| 176 VerifyProxyPrefs(std::string(), | 187 VerifyProxyPrefs(std::string(), |
| 177 std::string(), | 188 std::string(), |
| 178 std::string(), | 189 std::string(), |
| 179 ProxyPrefs::MODE_AUTO_DETECT); | 190 ProxyPrefs::MODE_AUTO_DETECT); |
| 180 } | 191 } |
| 181 | 192 |
| 182 TEST_F(ProxyPolicyHandlerTest, AutoDetectProxyModeName) { | 193 TEST_F(ProxyPolicyHandlerTest, AutoDetectProxyModeName) { |
| 183 PolicyMap policy; | 194 PolicyMap policy; |
| 184 policy.Set(key::kProxyMode, | 195 policy.Set(key::kProxyMode, |
| 185 POLICY_LEVEL_MANDATORY, | 196 POLICY_LEVEL_MANDATORY, |
| 186 POLICY_SCOPE_USER, | 197 POLICY_SCOPE_USER, |
| 198 POLICY_SOURCE_CLOUD, |
| 187 new base::StringValue(ProxyPrefs::kAutoDetectProxyModeName), | 199 new base::StringValue(ProxyPrefs::kAutoDetectProxyModeName), |
| 188 NULL); | 200 NULL); |
| 189 UpdateProviderPolicy(policy); | 201 UpdateProviderPolicy(policy); |
| 190 VerifyProxyPrefs(std::string(), | 202 VerifyProxyPrefs(std::string(), |
| 191 std::string(), | 203 std::string(), |
| 192 std::string(), | 204 std::string(), |
| 193 ProxyPrefs::MODE_AUTO_DETECT); | 205 ProxyPrefs::MODE_AUTO_DETECT); |
| 194 } | 206 } |
| 195 | 207 |
| 196 TEST_F(ProxyPolicyHandlerTest, PacScriptProxyMode) { | 208 TEST_F(ProxyPolicyHandlerTest, PacScriptProxyMode) { |
| 197 PolicyMap policy; | 209 PolicyMap policy; |
| 198 policy.Set(key::kProxyPacUrl, | 210 policy.Set(key::kProxyPacUrl, |
| 199 POLICY_LEVEL_MANDATORY, | 211 POLICY_LEVEL_MANDATORY, |
| 200 POLICY_SCOPE_USER, | 212 POLICY_SCOPE_USER, |
| 213 POLICY_SOURCE_CLOUD, |
| 201 new base::StringValue("http://short.org/proxy.pac"), | 214 new base::StringValue("http://short.org/proxy.pac"), |
| 202 NULL); | 215 NULL); |
| 203 policy.Set(key::kProxyMode, | 216 policy.Set(key::kProxyMode, |
| 204 POLICY_LEVEL_MANDATORY, | 217 POLICY_LEVEL_MANDATORY, |
| 205 POLICY_SCOPE_USER, | 218 POLICY_SCOPE_USER, |
| 219 POLICY_SOURCE_CLOUD, |
| 206 new base::StringValue(ProxyPrefs::kPacScriptProxyModeName), | 220 new base::StringValue(ProxyPrefs::kPacScriptProxyModeName), |
| 207 NULL); | 221 NULL); |
| 208 UpdateProviderPolicy(policy); | 222 UpdateProviderPolicy(policy); |
| 209 VerifyProxyPrefs(std::string(), | 223 VerifyProxyPrefs(std::string(), |
| 210 "http://short.org/proxy.pac", | 224 "http://short.org/proxy.pac", |
| 211 std::string(), | 225 std::string(), |
| 212 ProxyPrefs::MODE_PAC_SCRIPT); | 226 ProxyPrefs::MODE_PAC_SCRIPT); |
| 213 } | 227 } |
| 214 | 228 |
| 215 TEST_F(ProxyPolicyHandlerTest, PacScriptProxyModeInvalid) { | 229 TEST_F(ProxyPolicyHandlerTest, PacScriptProxyModeInvalid) { |
| 216 PolicyMap policy; | 230 PolicyMap policy; |
| 217 policy.Set(key::kProxyMode, | 231 policy.Set(key::kProxyMode, |
| 218 POLICY_LEVEL_MANDATORY, | 232 POLICY_LEVEL_MANDATORY, |
| 219 POLICY_SCOPE_USER, | 233 POLICY_SCOPE_USER, |
| 234 POLICY_SOURCE_CLOUD, |
| 220 new base::StringValue(ProxyPrefs::kPacScriptProxyModeName), | 235 new base::StringValue(ProxyPrefs::kPacScriptProxyModeName), |
| 221 NULL); | 236 NULL); |
| 222 UpdateProviderPolicy(policy); | 237 UpdateProviderPolicy(policy); |
| 223 const base::Value* value = NULL; | 238 const base::Value* value = NULL; |
| 224 EXPECT_FALSE(store_->GetValue(proxy_config::prefs::kProxy, &value)); | 239 EXPECT_FALSE(store_->GetValue(proxy_config::prefs::kProxy, &value)); |
| 225 } | 240 } |
| 226 | 241 |
| 227 // Regression test for http://crbug.com/78016, CPanel returns empty strings | 242 // Regression test for http://crbug.com/78016, CPanel returns empty strings |
| 228 // for unset properties. | 243 // for unset properties. |
| 229 TEST_F(ProxyPolicyHandlerTest, PacScriptProxyModeBug78016) { | 244 TEST_F(ProxyPolicyHandlerTest, PacScriptProxyModeBug78016) { |
| 230 PolicyMap policy; | 245 PolicyMap policy; |
| 231 policy.Set(key::kProxyServer, | 246 policy.Set(key::kProxyServer, |
| 232 POLICY_LEVEL_MANDATORY, | 247 POLICY_LEVEL_MANDATORY, |
| 233 POLICY_SCOPE_USER, | 248 POLICY_SCOPE_USER, |
| 249 POLICY_SOURCE_CLOUD, |
| 234 new base::StringValue(std::string()), | 250 new base::StringValue(std::string()), |
| 235 NULL); | 251 NULL); |
| 236 policy.Set(key::kProxyPacUrl, | 252 policy.Set(key::kProxyPacUrl, |
| 237 POLICY_LEVEL_MANDATORY, | 253 POLICY_LEVEL_MANDATORY, |
| 238 POLICY_SCOPE_USER, | 254 POLICY_SCOPE_USER, |
| 255 POLICY_SOURCE_CLOUD, |
| 239 new base::StringValue("http://short.org/proxy.pac"), | 256 new base::StringValue("http://short.org/proxy.pac"), |
| 240 NULL); | 257 NULL); |
| 241 policy.Set(key::kProxyMode, | 258 policy.Set(key::kProxyMode, |
| 242 POLICY_LEVEL_MANDATORY, | 259 POLICY_LEVEL_MANDATORY, |
| 243 POLICY_SCOPE_USER, | 260 POLICY_SCOPE_USER, |
| 261 POLICY_SOURCE_CLOUD, |
| 244 new base::StringValue(ProxyPrefs::kPacScriptProxyModeName), | 262 new base::StringValue(ProxyPrefs::kPacScriptProxyModeName), |
| 245 NULL); | 263 NULL); |
| 246 UpdateProviderPolicy(policy); | 264 UpdateProviderPolicy(policy); |
| 247 VerifyProxyPrefs(std::string(), | 265 VerifyProxyPrefs(std::string(), |
| 248 "http://short.org/proxy.pac", | 266 "http://short.org/proxy.pac", |
| 249 std::string(), | 267 std::string(), |
| 250 ProxyPrefs::MODE_PAC_SCRIPT); | 268 ProxyPrefs::MODE_PAC_SCRIPT); |
| 251 } | 269 } |
| 252 | 270 |
| 253 TEST_F(ProxyPolicyHandlerTest, UseSystemProxyServerMode) { | 271 TEST_F(ProxyPolicyHandlerTest, UseSystemProxyServerMode) { |
| 254 PolicyMap policy; | 272 PolicyMap policy; |
| 255 policy.Set(key::kProxyServerMode, | 273 policy.Set(key::kProxyServerMode, |
| 256 POLICY_LEVEL_MANDATORY, | 274 POLICY_LEVEL_MANDATORY, |
| 257 POLICY_SCOPE_USER, | 275 POLICY_SCOPE_USER, |
| 276 POLICY_SOURCE_CLOUD, |
| 258 new base::FundamentalValue( | 277 new base::FundamentalValue( |
| 259 ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE), | 278 ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE), |
| 260 NULL); | 279 NULL); |
| 261 UpdateProviderPolicy(policy); | 280 UpdateProviderPolicy(policy); |
| 262 VerifyProxyPrefs( | 281 VerifyProxyPrefs( |
| 263 std::string(), std::string(), std::string(), ProxyPrefs::MODE_SYSTEM); | 282 std::string(), std::string(), std::string(), ProxyPrefs::MODE_SYSTEM); |
| 264 } | 283 } |
| 265 | 284 |
| 266 TEST_F(ProxyPolicyHandlerTest, UseSystemProxyMode) { | 285 TEST_F(ProxyPolicyHandlerTest, UseSystemProxyMode) { |
| 267 PolicyMap policy; | 286 PolicyMap policy; |
| 268 policy.Set(key::kProxyMode, | 287 policy.Set(key::kProxyMode, |
| 269 POLICY_LEVEL_MANDATORY, | 288 POLICY_LEVEL_MANDATORY, |
| 270 POLICY_SCOPE_USER, | 289 POLICY_SCOPE_USER, |
| 290 POLICY_SOURCE_CLOUD, |
| 271 new base::StringValue(ProxyPrefs::kSystemProxyModeName), | 291 new base::StringValue(ProxyPrefs::kSystemProxyModeName), |
| 272 NULL); | 292 NULL); |
| 273 UpdateProviderPolicy(policy); | 293 UpdateProviderPolicy(policy); |
| 274 VerifyProxyPrefs( | 294 VerifyProxyPrefs( |
| 275 std::string(), std::string(), std::string(), ProxyPrefs::MODE_SYSTEM); | 295 std::string(), std::string(), std::string(), ProxyPrefs::MODE_SYSTEM); |
| 276 } | 296 } |
| 277 | 297 |
| 278 TEST_F(ProxyPolicyHandlerTest, | 298 TEST_F(ProxyPolicyHandlerTest, |
| 279 ProxyModeOverridesProxyServerMode) { | 299 ProxyModeOverridesProxyServerMode) { |
| 280 PolicyMap policy; | 300 PolicyMap policy; |
| 281 policy.Set(key::kProxyServerMode, | 301 policy.Set(key::kProxyServerMode, |
| 282 POLICY_LEVEL_MANDATORY, | 302 POLICY_LEVEL_MANDATORY, |
| 283 POLICY_SCOPE_USER, | 303 POLICY_SCOPE_USER, |
| 304 POLICY_SOURCE_CLOUD, |
| 284 new base::FundamentalValue(ProxyPolicyHandler::PROXY_SERVER_MODE), | 305 new base::FundamentalValue(ProxyPolicyHandler::PROXY_SERVER_MODE), |
| 285 NULL); | 306 NULL); |
| 286 policy.Set(key::kProxyMode, | 307 policy.Set(key::kProxyMode, |
| 287 POLICY_LEVEL_MANDATORY, | 308 POLICY_LEVEL_MANDATORY, |
| 288 POLICY_SCOPE_USER, | 309 POLICY_SCOPE_USER, |
| 310 POLICY_SOURCE_CLOUD, |
| 289 new base::StringValue(ProxyPrefs::kAutoDetectProxyModeName), | 311 new base::StringValue(ProxyPrefs::kAutoDetectProxyModeName), |
| 290 NULL); | 312 NULL); |
| 291 UpdateProviderPolicy(policy); | 313 UpdateProviderPolicy(policy); |
| 292 VerifyProxyPrefs(std::string(), | 314 VerifyProxyPrefs(std::string(), |
| 293 std::string(), | 315 std::string(), |
| 294 std::string(), | 316 std::string(), |
| 295 ProxyPrefs::MODE_AUTO_DETECT); | 317 ProxyPrefs::MODE_AUTO_DETECT); |
| 296 } | 318 } |
| 297 | 319 |
| 298 TEST_F(ProxyPolicyHandlerTest, ProxyInvalid) { | 320 TEST_F(ProxyPolicyHandlerTest, ProxyInvalid) { |
| 299 // No mode expects all three parameters being set. | 321 // No mode expects all three parameters being set. |
| 300 PolicyMap policy; | 322 PolicyMap policy; |
| 301 policy.Set(key::kProxyPacUrl, | 323 policy.Set(key::kProxyPacUrl, |
| 302 POLICY_LEVEL_MANDATORY, | 324 POLICY_LEVEL_MANDATORY, |
| 303 POLICY_SCOPE_USER, | 325 POLICY_SCOPE_USER, |
| 326 POLICY_SOURCE_CLOUD, |
| 304 new base::StringValue("http://short.org/proxy.pac"), | 327 new base::StringValue("http://short.org/proxy.pac"), |
| 305 NULL); | 328 NULL); |
| 306 policy.Set(key::kProxyBypassList, | 329 policy.Set(key::kProxyBypassList, |
| 307 POLICY_LEVEL_MANDATORY, | 330 POLICY_LEVEL_MANDATORY, |
| 308 POLICY_SCOPE_USER, | 331 POLICY_SCOPE_USER, |
| 332 POLICY_SOURCE_CLOUD, |
| 309 new base::StringValue("http://chromium.org/override"), | 333 new base::StringValue("http://chromium.org/override"), |
| 310 NULL); | 334 NULL); |
| 311 policy.Set(key::kProxyServer, | 335 policy.Set(key::kProxyServer, |
| 312 POLICY_LEVEL_MANDATORY, | 336 POLICY_LEVEL_MANDATORY, |
| 313 POLICY_SCOPE_USER, | 337 POLICY_SCOPE_USER, |
| 338 POLICY_SOURCE_CLOUD, |
| 314 new base::StringValue("chromium.org"), | 339 new base::StringValue("chromium.org"), |
| 315 NULL); | 340 NULL); |
| 316 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) { | 341 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) { |
| 317 policy.Set(key::kProxyServerMode, | 342 policy.Set(key::kProxyServerMode, |
| 318 POLICY_LEVEL_MANDATORY, | 343 POLICY_LEVEL_MANDATORY, |
| 319 POLICY_SCOPE_USER, | 344 POLICY_SCOPE_USER, |
| 345 POLICY_SOURCE_CLOUD, |
| 320 new base::FundamentalValue(i), | 346 new base::FundamentalValue(i), |
| 321 NULL); | 347 NULL); |
| 322 UpdateProviderPolicy(policy); | 348 UpdateProviderPolicy(policy); |
| 323 const base::Value* value = NULL; | 349 const base::Value* value = NULL; |
| 324 EXPECT_FALSE(store_->GetValue(proxy_config::prefs::kProxy, &value)); | 350 EXPECT_FALSE(store_->GetValue(proxy_config::prefs::kProxy, &value)); |
| 325 } | 351 } |
| 326 } | 352 } |
| 327 | 353 |
| 328 } // namespace policy | 354 } // namespace policy |
| OLD | NEW |