| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 <memory> | 5 #include <memory> |
| 6 #include <string> | 6 #include <string> |
| 7 | 7 |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 provider_.UpdateChromePolicy(policy); | 249 provider_.UpdateChromePolicy(policy); |
| 250 RunUntilIdle(); | 250 RunUntilIdle(); |
| 251 } | 251 } |
| 252 | 252 |
| 253 protected: | 253 protected: |
| 254 void DisconnectNetworkService(const std::string& service_path) { | 254 void DisconnectNetworkService(const std::string& service_path) { |
| 255 chromeos::ShillServiceClient::TestInterface* service_test = | 255 chromeos::ShillServiceClient::TestInterface* service_test = |
| 256 chromeos::DBusThreadManager::Get() | 256 chromeos::DBusThreadManager::Get() |
| 257 ->GetShillServiceClient() | 257 ->GetShillServiceClient() |
| 258 ->GetTestInterface(); | 258 ->GetTestInterface(); |
| 259 base::StringValue value(shill::kStateIdle); | 259 base::Value value(shill::kStateIdle); |
| 260 service_test->SetServiceProperty(service_path, shill::kStateProperty, | 260 service_test->SetServiceProperty(service_path, shill::kStateProperty, |
| 261 value); | 261 value); |
| 262 RunUntilIdle(); | 262 RunUntilIdle(); |
| 263 } | 263 } |
| 264 | 264 |
| 265 void ConnectWifiNetworkService(const std::string& service_path, | 265 void ConnectWifiNetworkService(const std::string& service_path, |
| 266 const std::string& guid, | 266 const std::string& guid, |
| 267 const std::string& ssid) { | 267 const std::string& ssid) { |
| 268 chromeos::ShillServiceClient::TestInterface* service_test = | 268 chromeos::ShillServiceClient::TestInterface* service_test = |
| 269 chromeos::DBusThreadManager::Get() | 269 chromeos::DBusThreadManager::Get() |
| 270 ->GetShillServiceClient() | 270 ->GetShillServiceClient() |
| 271 ->GetTestInterface(); | 271 ->GetTestInterface(); |
| 272 | 272 |
| 273 service_test->AddService(service_path, guid, ssid, shill::kTypeWifi, | 273 service_test->AddService(service_path, guid, ssid, shill::kTypeWifi, |
| 274 shill::kStateOnline, true /* add_to_visible */); | 274 shill::kStateOnline, true /* add_to_visible */); |
| 275 | 275 |
| 276 service_test->SetServiceProperty(service_path, shill::kProfileProperty, | 276 service_test->SetServiceProperty(service_path, shill::kProfileProperty, |
| 277 base::StringValue(kUserProfilePath)); | 277 base::Value(kUserProfilePath)); |
| 278 RunUntilIdle(); | 278 RunUntilIdle(); |
| 279 } | 279 } |
| 280 | 280 |
| 281 void SetProxyConfigForNetworkService( | 281 void SetProxyConfigForNetworkService( |
| 282 const std::string& service_path, | 282 const std::string& service_path, |
| 283 const base::DictionaryValue* proxy_config) { | 283 const base::DictionaryValue* proxy_config) { |
| 284 ProxyConfigDictionary proxy_config_dict(proxy_config); | 284 ProxyConfigDictionary proxy_config_dict(proxy_config); |
| 285 const chromeos::NetworkState* network = chromeos::NetworkHandler::Get() | 285 const chromeos::NetworkState* network = chromeos::NetworkHandler::Get() |
| 286 ->network_state_handler() | 286 ->network_state_handler() |
| 287 ->GetNetworkState(service_path); | 287 ->GetNetworkState(service_path); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 305 | 305 |
| 306 profile_test->AddProfile(kUserProfilePath, "user"); | 306 profile_test->AddProfile(kUserProfilePath, "user"); |
| 307 | 307 |
| 308 service_test->ClearServices(); | 308 service_test->ClearServices(); |
| 309 | 309 |
| 310 service_test->AddService(kDefaultServicePath, "stub_ethernet_guid", "eth0", | 310 service_test->AddService(kDefaultServicePath, "stub_ethernet_guid", "eth0", |
| 311 shill::kTypeEthernet, shill::kStateOnline, | 311 shill::kTypeEthernet, shill::kStateOnline, |
| 312 true /* add_to_visible */); | 312 true /* add_to_visible */); |
| 313 service_test->SetServiceProperty(kDefaultServicePath, | 313 service_test->SetServiceProperty(kDefaultServicePath, |
| 314 shill::kProfileProperty, | 314 shill::kProfileProperty, |
| 315 base::StringValue(kUserProfilePath)); | 315 base::Value(kUserProfilePath)); |
| 316 } | 316 } |
| 317 | 317 |
| 318 policy::MockConfigurationPolicyProvider provider_; | 318 policy::MockConfigurationPolicyProvider provider_; |
| 319 | 319 |
| 320 DISALLOW_COPY_AND_ASSIGN(ArcSettingsServiceTest); | 320 DISALLOW_COPY_AND_ASSIGN(ArcSettingsServiceTest); |
| 321 }; | 321 }; |
| 322 | 322 |
| 323 IN_PROC_BROWSER_TEST_F(ArcSettingsServiceTest, BackupRestorePolicyTest) { | 323 IN_PROC_BROWSER_TEST_F(ArcSettingsServiceTest, BackupRestorePolicyTest) { |
| 324 PrefService* const prefs = browser()->profile()->GetPrefs(); | 324 PrefService* const prefs = browser()->profile()->GetPrefs(); |
| 325 | 325 |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 449 1); | 449 1); |
| 450 } | 450 } |
| 451 | 451 |
| 452 IN_PROC_BROWSER_TEST_F(ArcSettingsServiceTest, ProxyModePolicyTest) { | 452 IN_PROC_BROWSER_TEST_F(ArcSettingsServiceTest, ProxyModePolicyTest) { |
| 453 fake_intent_helper_instance_->clear_broadcasts(); | 453 fake_intent_helper_instance_->clear_broadcasts(); |
| 454 | 454 |
| 455 policy::PolicyMap policy; | 455 policy::PolicyMap policy; |
| 456 policy.Set( | 456 policy.Set( |
| 457 policy::key::kProxyMode, policy::POLICY_LEVEL_MANDATORY, | 457 policy::key::kProxyMode, policy::POLICY_LEVEL_MANDATORY, |
| 458 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, | 458 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
| 459 base::MakeUnique<base::StringValue>(ProxyPrefs::kAutoDetectProxyModeName), | 459 base::MakeUnique<base::Value>(ProxyPrefs::kAutoDetectProxyModeName), |
| 460 nullptr); | 460 nullptr); |
| 461 UpdatePolicy(policy); | 461 UpdatePolicy(policy); |
| 462 | 462 |
| 463 std::unique_ptr<base::DictionaryValue> expected_proxy_config( | 463 std::unique_ptr<base::DictionaryValue> expected_proxy_config( |
| 464 base::MakeUnique<base::DictionaryValue>()); | 464 base::MakeUnique<base::DictionaryValue>()); |
| 465 expected_proxy_config->SetString("mode", | 465 expected_proxy_config->SetString("mode", |
| 466 ProxyPrefs::kAutoDetectProxyModeName); | 466 ProxyPrefs::kAutoDetectProxyModeName); |
| 467 expected_proxy_config->SetString("pacUrl", "http://wpad/wpad.dat"); | 467 expected_proxy_config->SetString("pacUrl", "http://wpad/wpad.dat"); |
| 468 EXPECT_EQ(CountProxyBroadcasts(fake_intent_helper_instance_->broadcasts(), | 468 EXPECT_EQ(CountProxyBroadcasts(fake_intent_helper_instance_->broadcasts(), |
| 469 expected_proxy_config.get()), | 469 expected_proxy_config.get()), |
| 470 1); | 470 1); |
| 471 } | 471 } |
| 472 | 472 |
| 473 IN_PROC_BROWSER_TEST_F(ArcSettingsServiceTest, ONCProxyPolicyTest) { | 473 IN_PROC_BROWSER_TEST_F(ArcSettingsServiceTest, ONCProxyPolicyTest) { |
| 474 fake_intent_helper_instance_->clear_broadcasts(); | 474 fake_intent_helper_instance_->clear_broadcasts(); |
| 475 | 475 |
| 476 policy::PolicyMap policy; | 476 policy::PolicyMap policy; |
| 477 policy.Set(policy::key::kOpenNetworkConfiguration, | 477 policy.Set(policy::key::kOpenNetworkConfiguration, |
| 478 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 478 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
| 479 policy::POLICY_SOURCE_CLOUD, | 479 policy::POLICY_SOURCE_CLOUD, |
| 480 base::MakeUnique<base::StringValue>(kONCPolicy), nullptr); | 480 base::MakeUnique<base::Value>(kONCPolicy), nullptr); |
| 481 UpdatePolicy(policy); | 481 UpdatePolicy(policy); |
| 482 | 482 |
| 483 std::unique_ptr<base::DictionaryValue> expected_proxy_config( | 483 std::unique_ptr<base::DictionaryValue> expected_proxy_config( |
| 484 base::MakeUnique<base::DictionaryValue>()); | 484 base::MakeUnique<base::DictionaryValue>()); |
| 485 expected_proxy_config->SetString("mode", ProxyPrefs::kPacScriptProxyModeName); | 485 expected_proxy_config->SetString("mode", ProxyPrefs::kPacScriptProxyModeName); |
| 486 expected_proxy_config->SetString("pacUrl", kONCPacUrl); | 486 expected_proxy_config->SetString("pacUrl", kONCPacUrl); |
| 487 | 487 |
| 488 EXPECT_EQ(CountProxyBroadcasts(fake_intent_helper_instance_->broadcasts(), | 488 EXPECT_EQ(CountProxyBroadcasts(fake_intent_helper_instance_->broadcasts(), |
| 489 expected_proxy_config.get()), | 489 expected_proxy_config.get()), |
| 490 1); | 490 1); |
| 491 } | 491 } |
| 492 | 492 |
| 493 // Proxy policy has a higher priority than proxy default settings. | 493 // Proxy policy has a higher priority than proxy default settings. |
| 494 IN_PROC_BROWSER_TEST_F(ArcSettingsServiceTest, TwoSourcesTest) { | 494 IN_PROC_BROWSER_TEST_F(ArcSettingsServiceTest, TwoSourcesTest) { |
| 495 fake_intent_helper_instance_->clear_broadcasts(); | 495 fake_intent_helper_instance_->clear_broadcasts(); |
| 496 | 496 |
| 497 policy::PolicyMap policy; | 497 policy::PolicyMap policy; |
| 498 // Proxy policy. | 498 // Proxy policy. |
| 499 policy.Set(policy::key::kProxyMode, policy::POLICY_LEVEL_MANDATORY, | 499 policy.Set( |
| 500 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, | 500 policy::key::kProxyMode, policy::POLICY_LEVEL_MANDATORY, |
| 501 base::MakeUnique<base::StringValue>( | 501 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
| 502 ProxyPrefs::kFixedServersProxyModeName), | 502 base::MakeUnique<base::Value>(ProxyPrefs::kFixedServersProxyModeName), |
| 503 nullptr); | 503 nullptr); |
| 504 policy.Set(policy::key::kProxyServer, policy::POLICY_LEVEL_MANDATORY, | 504 policy.Set(policy::key::kProxyServer, policy::POLICY_LEVEL_MANDATORY, |
| 505 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, | 505 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, |
| 506 base::MakeUnique<base::StringValue>("proxy:8888"), nullptr); | 506 base::MakeUnique<base::Value>("proxy:8888"), nullptr); |
| 507 UpdatePolicy(policy); | 507 UpdatePolicy(policy); |
| 508 | 508 |
| 509 std::unique_ptr<base::DictionaryValue> proxy_config( | 509 std::unique_ptr<base::DictionaryValue> proxy_config( |
| 510 base::MakeUnique<base::DictionaryValue>()); | 510 base::MakeUnique<base::DictionaryValue>()); |
| 511 proxy_config->SetString("mode", ProxyPrefs::kAutoDetectProxyModeName); | 511 proxy_config->SetString("mode", ProxyPrefs::kAutoDetectProxyModeName); |
| 512 ProxyConfigDictionary proxy_config_dict(proxy_config.get()); | 512 ProxyConfigDictionary proxy_config_dict(proxy_config.get()); |
| 513 const chromeos::NetworkState* network = chromeos::NetworkHandler::Get() | 513 const chromeos::NetworkState* network = chromeos::NetworkHandler::Get() |
| 514 ->network_state_handler() | 514 ->network_state_handler() |
| 515 ->DefaultNetwork(); | 515 ->DefaultNetwork(); |
| 516 ASSERT_TRUE(network); | 516 ASSERT_TRUE(network); |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 634 | 634 |
| 635 // Disconnect default network. | 635 // Disconnect default network. |
| 636 DisconnectNetworkService(kDefaultServicePath); | 636 DisconnectNetworkService(kDefaultServicePath); |
| 637 | 637 |
| 638 fake_intent_helper_instance_->clear_broadcasts(); | 638 fake_intent_helper_instance_->clear_broadcasts(); |
| 639 | 639 |
| 640 policy::PolicyMap policy; | 640 policy::PolicyMap policy; |
| 641 policy.Set(policy::key::kOpenNetworkConfiguration, | 641 policy.Set(policy::key::kOpenNetworkConfiguration, |
| 642 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 642 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
| 643 policy::POLICY_SOURCE_CLOUD, | 643 policy::POLICY_SOURCE_CLOUD, |
| 644 base::MakeUnique<base::StringValue>(kUserONCPolicy), nullptr); | 644 base::MakeUnique<base::Value>(kUserONCPolicy), nullptr); |
| 645 policy.Set(policy::key::kDeviceOpenNetworkConfiguration, | 645 policy.Set(policy::key::kDeviceOpenNetworkConfiguration, |
| 646 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_MACHINE, | 646 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_MACHINE, |
| 647 policy::POLICY_SOURCE_CLOUD, | 647 policy::POLICY_SOURCE_CLOUD, |
| 648 base::MakeUnique<base::StringValue>(kDeviceONCPolicy), nullptr); | 648 base::MakeUnique<base::Value>(kDeviceONCPolicy), nullptr); |
| 649 UpdatePolicy(policy); | 649 UpdatePolicy(policy); |
| 650 | 650 |
| 651 std::unique_ptr<base::DictionaryValue> expected_proxy_config( | 651 std::unique_ptr<base::DictionaryValue> expected_proxy_config( |
| 652 base::MakeUnique<base::DictionaryValue>()); | 652 base::MakeUnique<base::DictionaryValue>()); |
| 653 expected_proxy_config->SetString("mode", | 653 expected_proxy_config->SetString("mode", |
| 654 ProxyPrefs::kFixedServersProxyModeName); | 654 ProxyPrefs::kFixedServersProxyModeName); |
| 655 expected_proxy_config->SetString("host", "proxy"); | 655 expected_proxy_config->SetString("host", "proxy"); |
| 656 expected_proxy_config->SetInteger("port", 5000); | 656 expected_proxy_config->SetInteger("port", 5000); |
| 657 | 657 |
| 658 EXPECT_EQ(CountProxyBroadcasts(fake_intent_helper_instance_->broadcasts(), | 658 EXPECT_EQ(CountProxyBroadcasts(fake_intent_helper_instance_->broadcasts(), |
| (...skipping 10 matching lines...) Expand all Loading... |
| 669 ProxyPrefs::kFixedServersProxyModeName); | 669 ProxyPrefs::kFixedServersProxyModeName); |
| 670 expected_proxy_config->SetString("host", "proxy-n300"); | 670 expected_proxy_config->SetString("host", "proxy-n300"); |
| 671 expected_proxy_config->SetInteger("port", 3000); | 671 expected_proxy_config->SetInteger("port", 3000); |
| 672 | 672 |
| 673 EXPECT_EQ(CountProxyBroadcasts(fake_intent_helper_instance_->broadcasts(), | 673 EXPECT_EQ(CountProxyBroadcasts(fake_intent_helper_instance_->broadcasts(), |
| 674 expected_proxy_config.get()), | 674 expected_proxy_config.get()), |
| 675 1); | 675 1); |
| 676 } | 676 } |
| 677 | 677 |
| 678 } // namespace arc | 678 } // namespace arc |
| OLD | NEW |