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 "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h" | 5 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
11 #include "base/bind_helpers.h" | 11 #include "base/bind_helpers.h" |
12 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
13 #include "base/memory/scoped_ptr.h" | 13 #include "base/memory/scoped_ptr.h" |
14 #include "base/message_loop/message_loop.h" | 14 #include "base/message_loop/message_loop.h" |
15 #include "base/prefs/pref_registry_simple.h" | 15 #include "base/prefs/pref_registry_simple.h" |
16 #include "base/prefs/testing_pref_service.h" | 16 #include "base/prefs/testing_pref_service.h" |
17 #include "base/run_loop.h" | 17 #include "base/run_loop.h" |
| 18 #include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h" |
| 19 #include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos_fact
ory.h" |
18 #include "chrome/browser/chromeos/policy/device_cloud_policy_initializer.h" | 20 #include "chrome/browser/chromeos/policy/device_cloud_policy_initializer.h" |
19 #include "chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.h" | 21 #include "chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.h" |
20 #include "chrome/browser/chromeos/policy/enterprise_install_attributes.h" | 22 #include "chrome/browser/chromeos/policy/enterprise_install_attributes.h" |
21 #include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h" | 23 #include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h" |
22 #include "chrome/browser/chromeos/settings/cros_settings.h" | 24 #include "chrome/browser/chromeos/settings/cros_settings.h" |
23 #include "chrome/browser/chromeos/settings/device_oauth2_token_service.h" | 25 #include "chrome/browser/chromeos/settings/device_oauth2_token_service.h" |
24 #include "chrome/browser/chromeos/settings/device_oauth2_token_service_factory.h
" | 26 #include "chrome/browser/chromeos/settings/device_oauth2_token_service_factory.h
" |
25 #include "chrome/browser/chromeos/settings/device_settings_service.h" | 27 #include "chrome/browser/chromeos/settings/device_settings_service.h" |
26 #include "chrome/browser/chromeos/settings/device_settings_test_helper.h" | 28 #include "chrome/browser/chromeos/settings/device_settings_test_helper.h" |
27 #include "chrome/browser/prefs/browser_prefs.h" | 29 #include "chrome/browser/prefs/browser_prefs.h" |
28 #include "chrome/test/base/testing_browser_process.h" | 30 #include "chrome/test/base/testing_browser_process.h" |
| 31 #include "chrome/test/base/testing_profile.h" |
29 #include "chromeos/cryptohome/system_salt_getter.h" | 32 #include "chromeos/cryptohome/system_salt_getter.h" |
30 #include "chromeos/dbus/dbus_client_implementation_type.h" | 33 #include "chromeos/dbus/dbus_client_implementation_type.h" |
31 #include "chromeos/dbus/dbus_thread_manager.h" | 34 #include "chromeos/dbus/dbus_thread_manager.h" |
32 #include "chromeos/dbus/fake_cryptohome_client.h" | 35 #include "chromeos/dbus/fake_cryptohome_client.h" |
33 #include "chromeos/dbus/fake_session_manager_client.h" | 36 #include "chromeos/dbus/fake_session_manager_client.h" |
34 #include "chromeos/system/fake_statistics_provider.h" | 37 #include "chromeos/system/fake_statistics_provider.h" |
35 #include "chromeos/system/statistics_provider.h" | 38 #include "chromeos/system/statistics_provider.h" |
36 #include "components/policy/core/common/cloud/cloud_policy_client.h" | 39 #include "components/policy/core/common/cloud/cloud_policy_client.h" |
37 #include "components/policy/core/common/cloud/cloud_policy_constants.h" | 40 #include "components/policy/core/common/cloud/cloud_policy_constants.h" |
38 #include "components/policy/core/common/cloud/mock_device_management_service.h" | 41 #include "components/policy/core/common/cloud/mock_device_management_service.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 state_keys.push_back("3"); | 101 state_keys.push_back("3"); |
99 fake_session_manager_client_.set_server_backed_state_keys(state_keys); | 102 fake_session_manager_client_.set_server_backed_state_keys(state_keys); |
100 } | 103 } |
101 | 104 |
102 virtual ~DeviceCloudPolicyManagerChromeOSTest() { | 105 virtual ~DeviceCloudPolicyManagerChromeOSTest() { |
103 chromeos::system::StatisticsProvider::SetTestProvider(NULL); | 106 chromeos::system::StatisticsProvider::SetTestProvider(NULL); |
104 } | 107 } |
105 | 108 |
106 virtual void SetUp() override { | 109 virtual void SetUp() override { |
107 DeviceSettingsTestBase::SetUp(); | 110 DeviceSettingsTestBase::SetUp(); |
| 111 |
| 112 device_policy_.policy_data().set_management_mode( |
| 113 em::PolicyData::LOCAL_OWNER); |
| 114 device_policy_.Build(); |
| 115 device_settings_test_helper_.set_policy_blob(device_policy_.GetBlob()); |
| 116 ReloadDeviceSettings(); |
| 117 |
108 dbus_setter_->SetCryptohomeClient( | 118 dbus_setter_->SetCryptohomeClient( |
109 scoped_ptr<chromeos::CryptohomeClient>(fake_cryptohome_client_)); | 119 scoped_ptr<chromeos::CryptohomeClient>(fake_cryptohome_client_)); |
110 | 120 |
111 install_attributes_.reset( | 121 install_attributes_.reset( |
112 new EnterpriseInstallAttributes(fake_cryptohome_client_)); | 122 new EnterpriseInstallAttributes(fake_cryptohome_client_)); |
113 store_ = | 123 store_ = |
114 new DeviceCloudPolicyStoreChromeOS(&device_settings_service_, | 124 new DeviceCloudPolicyStoreChromeOS(&device_settings_service_, |
115 install_attributes_.get(), | 125 install_attributes_.get(), |
116 base::MessageLoopProxy::current()); | 126 base::MessageLoopProxy::current()); |
117 manager_.reset(new TestingDeviceCloudPolicyManagerChromeOS( | 127 manager_.reset(new TestingDeviceCloudPolicyManagerChromeOS( |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
392 EXPECT_CALL(device_management_service_, | 402 EXPECT_CALL(device_management_service_, |
393 CreateJob(DeviceManagementRequestJob::TYPE_REGISTRATION, _)) | 403 CreateJob(DeviceManagementRequestJob::TYPE_REGISTRATION, _)) |
394 .Times(AtMost(1)) | 404 .Times(AtMost(1)) |
395 .WillOnce(device_management_service_.CreateAsyncJob(®ister_job)); | 405 .WillOnce(device_management_service_.CreateAsyncJob(®ister_job)); |
396 EXPECT_CALL(device_management_service_, StartJob(_, _, _, _, _, _, _)) | 406 EXPECT_CALL(device_management_service_, StartJob(_, _, _, _, _, _, _)) |
397 .Times(AtMost(1)) | 407 .Times(AtMost(1)) |
398 .WillOnce(DoAll(SaveArg<5>(&client_id_), | 408 .WillOnce(DoAll(SaveArg<5>(&client_id_), |
399 SaveArg<6>(®ister_request_))); | 409 SaveArg<6>(®ister_request_))); |
400 DeviceCloudPolicyInitializer::AllowedDeviceModes modes; | 410 DeviceCloudPolicyInitializer::AllowedDeviceModes modes; |
401 modes[DEVICE_MODE_ENTERPRISE] = true; | 411 modes[DEVICE_MODE_ENTERPRISE] = true; |
| 412 |
| 413 chromeos::OwnerSettingsServiceChromeOS* owner_settings_service = |
| 414 chromeos::OwnerSettingsServiceChromeOSFactory::GetForBrowserContext( |
| 415 profile_.get()); |
| 416 ASSERT_TRUE(owner_settings_service); |
| 417 |
402 initializer_->StartEnrollment( | 418 initializer_->StartEnrollment( |
403 management_mode_, | 419 management_mode_, &device_management_service_, owner_settings_service, |
404 &device_management_service_, | |
405 "auth token", is_auto_enrollment_, modes, | 420 "auth token", is_auto_enrollment_, modes, |
406 base::Bind(&DeviceCloudPolicyManagerChromeOSEnrollmentTest::Done, | 421 base::Bind(&DeviceCloudPolicyManagerChromeOSEnrollmentTest::Done, |
407 base::Unretained(this))); | 422 base::Unretained(this))); |
408 base::RunLoop().RunUntilIdle(); | 423 base::RunLoop().RunUntilIdle(); |
409 Mock::VerifyAndClearExpectations(&device_management_service_); | 424 Mock::VerifyAndClearExpectations(&device_management_service_); |
410 | 425 |
411 if (done_) | 426 if (done_) |
412 return; | 427 return; |
413 | 428 |
414 // Process registration. | 429 // Process registration. |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
648 | 663 |
649 TEST_F(DeviceCloudPolicyManagerChromeOSEnrollmentBlankSystemSaltTest, | 664 TEST_F(DeviceCloudPolicyManagerChromeOSEnrollmentBlankSystemSaltTest, |
650 RobotRefreshSaveFailed) { | 665 RobotRefreshSaveFailed) { |
651 // Without the system salt, the robot token can't be stored. | 666 // Without the system salt, the robot token can't be stored. |
652 RunTest(); | 667 RunTest(); |
653 ExpectFailedEnrollment(EnrollmentStatus::STATUS_ROBOT_REFRESH_STORE_FAILED); | 668 ExpectFailedEnrollment(EnrollmentStatus::STATUS_ROBOT_REFRESH_STORE_FAILED); |
654 } | 669 } |
655 | 670 |
656 } // namespace | 671 } // namespace |
657 } // namespace policy | 672 } // namespace policy |
OLD | NEW |