| 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 "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 | 114 |
| 115 private: | 115 private: |
| 116 DISALLOW_COPY_AND_ASSIGN(DeviceCloudPolicyManagerChromeOSTest); | 116 DISALLOW_COPY_AND_ASSIGN(DeviceCloudPolicyManagerChromeOSTest); |
| 117 }; | 117 }; |
| 118 | 118 |
| 119 TEST_F(DeviceCloudPolicyManagerChromeOSTest, FreshDevice) { | 119 TEST_F(DeviceCloudPolicyManagerChromeOSTest, FreshDevice) { |
| 120 owner_key_util_->Clear(); | 120 owner_key_util_->Clear(); |
| 121 FlushDeviceSettings(); | 121 FlushDeviceSettings(); |
| 122 EXPECT_TRUE(manager_.IsInitializationComplete(POLICY_DOMAIN_CHROME)); | 122 EXPECT_TRUE(manager_.IsInitializationComplete(POLICY_DOMAIN_CHROME)); |
| 123 | 123 |
| 124 manager_.Connect(&local_state_, &device_management_service_, | 124 manager_.Connect(&local_state_, |
| 125 scoped_ptr<CloudPolicyClient::StatusProvider>(NULL)); | 125 &device_management_service_, |
| 126 scoped_ptr<CloudPolicyClient::StatusProvider>()); |
| 126 | 127 |
| 127 PolicyBundle bundle; | 128 PolicyBundle bundle; |
| 128 EXPECT_TRUE(manager_.policies().Equals(bundle)); | 129 EXPECT_TRUE(manager_.policies().Equals(bundle)); |
| 129 } | 130 } |
| 130 | 131 |
| 131 TEST_F(DeviceCloudPolicyManagerChromeOSTest, EnrolledDevice) { | 132 TEST_F(DeviceCloudPolicyManagerChromeOSTest, EnrolledDevice) { |
| 132 base::RunLoop loop; | 133 base::RunLoop loop; |
| 133 EnterpriseInstallAttributes::LockResult result; | 134 EnterpriseInstallAttributes::LockResult result; |
| 134 install_attributes_.LockDevice(PolicyBuilder::kFakeUsername, | 135 install_attributes_.LockDevice(PolicyBuilder::kFakeUsername, |
| 135 DEVICE_MODE_ENTERPRISE, | 136 DEVICE_MODE_ENTERPRISE, |
| 136 PolicyBuilder::kFakeDeviceId, | 137 PolicyBuilder::kFakeDeviceId, |
| 137 base::Bind(&CopyLockResult, &loop, &result)); | 138 base::Bind(&CopyLockResult, &loop, &result)); |
| 138 loop.Run(); | 139 loop.Run(); |
| 139 ASSERT_EQ(EnterpriseInstallAttributes::LOCK_SUCCESS, result); | 140 ASSERT_EQ(EnterpriseInstallAttributes::LOCK_SUCCESS, result); |
| 140 | 141 |
| 141 FlushDeviceSettings(); | 142 FlushDeviceSettings(); |
| 142 EXPECT_EQ(CloudPolicyStore::STATUS_OK, store_->status()); | 143 EXPECT_EQ(CloudPolicyStore::STATUS_OK, store_->status()); |
| 143 EXPECT_TRUE(manager_.IsInitializationComplete(POLICY_DOMAIN_CHROME)); | 144 EXPECT_TRUE(manager_.IsInitializationComplete(POLICY_DOMAIN_CHROME)); |
| 144 | 145 |
| 145 PolicyBundle bundle; | 146 PolicyBundle bundle; |
| 146 bundle.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) | 147 bundle.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) |
| 147 .Set(key::kDeviceMetricsReportingEnabled, | 148 .Set(key::kDeviceMetricsReportingEnabled, |
| 148 POLICY_LEVEL_MANDATORY, | 149 POLICY_LEVEL_MANDATORY, |
| 149 POLICY_SCOPE_MACHINE, | 150 POLICY_SCOPE_MACHINE, |
| 150 Value::CreateBooleanValue(false)); | 151 Value::CreateBooleanValue(false)); |
| 151 EXPECT_TRUE(manager_.policies().Equals(bundle)); | 152 EXPECT_TRUE(manager_.policies().Equals(bundle)); |
| 152 | 153 |
| 153 manager_.Connect(&local_state_, &device_management_service_, | 154 manager_.Connect(&local_state_, |
| 154 scoped_ptr<CloudPolicyClient::StatusProvider>(NULL)); | 155 &device_management_service_, |
| 156 scoped_ptr<CloudPolicyClient::StatusProvider>()); |
| 155 EXPECT_TRUE(manager_.policies().Equals(bundle)); | 157 EXPECT_TRUE(manager_.policies().Equals(bundle)); |
| 156 | 158 |
| 157 manager_.Shutdown(); | 159 manager_.Shutdown(); |
| 158 EXPECT_TRUE(manager_.policies().Equals(bundle)); | 160 EXPECT_TRUE(manager_.policies().Equals(bundle)); |
| 159 } | 161 } |
| 160 | 162 |
| 161 TEST_F(DeviceCloudPolicyManagerChromeOSTest, ConsumerDevice) { | 163 TEST_F(DeviceCloudPolicyManagerChromeOSTest, ConsumerDevice) { |
| 162 FlushDeviceSettings(); | 164 FlushDeviceSettings(); |
| 163 EXPECT_EQ(CloudPolicyStore::STATUS_BAD_STATE, store_->status()); | 165 EXPECT_EQ(CloudPolicyStore::STATUS_BAD_STATE, store_->status()); |
| 164 EXPECT_TRUE(manager_.IsInitializationComplete(POLICY_DOMAIN_CHROME)); | 166 EXPECT_TRUE(manager_.IsInitializationComplete(POLICY_DOMAIN_CHROME)); |
| 165 | 167 |
| 166 PolicyBundle bundle; | 168 PolicyBundle bundle; |
| 167 EXPECT_TRUE(manager_.policies().Equals(bundle)); | 169 EXPECT_TRUE(manager_.policies().Equals(bundle)); |
| 168 | 170 |
| 169 manager_.Connect(&local_state_, &device_management_service_, | 171 manager_.Connect(&local_state_, |
| 170 scoped_ptr<CloudPolicyClient::StatusProvider>(NULL)); | 172 &device_management_service_, |
| 173 scoped_ptr<CloudPolicyClient::StatusProvider>()); |
| 171 EXPECT_TRUE(manager_.policies().Equals(bundle)); | 174 EXPECT_TRUE(manager_.policies().Equals(bundle)); |
| 172 | 175 |
| 173 manager_.Shutdown(); | 176 manager_.Shutdown(); |
| 174 EXPECT_TRUE(manager_.policies().Equals(bundle)); | 177 EXPECT_TRUE(manager_.policies().Equals(bundle)); |
| 175 } | 178 } |
| 176 | 179 |
| 177 class DeviceCloudPolicyManagerChromeOSEnrollmentTest | 180 class DeviceCloudPolicyManagerChromeOSEnrollmentTest |
| 178 : public DeviceCloudPolicyManagerChromeOSTest { | 181 : public DeviceCloudPolicyManagerChromeOSTest { |
| 179 public: | 182 public: |
| 180 void Done(EnrollmentStatus status) { | 183 void Done(EnrollmentStatus status) { |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 212 loaded_blob_ = device_policy_.GetBlob(); | 215 loaded_blob_ = device_policy_.GetBlob(); |
| 213 | 216 |
| 214 // Initialize the manager. | 217 // Initialize the manager. |
| 215 FlushDeviceSettings(); | 218 FlushDeviceSettings(); |
| 216 EXPECT_EQ(CloudPolicyStore::STATUS_BAD_STATE, store_->status()); | 219 EXPECT_EQ(CloudPolicyStore::STATUS_BAD_STATE, store_->status()); |
| 217 EXPECT_TRUE(manager_.IsInitializationComplete(POLICY_DOMAIN_CHROME)); | 220 EXPECT_TRUE(manager_.IsInitializationComplete(POLICY_DOMAIN_CHROME)); |
| 218 | 221 |
| 219 PolicyBundle bundle; | 222 PolicyBundle bundle; |
| 220 EXPECT_TRUE(manager_.policies().Equals(bundle)); | 223 EXPECT_TRUE(manager_.policies().Equals(bundle)); |
| 221 | 224 |
| 222 manager_.Connect(&local_state_, &device_management_service_, | 225 manager_.Connect(&local_state_, |
| 223 scoped_ptr<CloudPolicyClient::StatusProvider>(NULL)); | 226 &device_management_service_, |
| 227 scoped_ptr<CloudPolicyClient::StatusProvider>()); |
| 224 } | 228 } |
| 225 | 229 |
| 226 void ExpectFailedEnrollment(EnrollmentStatus::Status status) { | 230 void ExpectFailedEnrollment(EnrollmentStatus::Status status) { |
| 227 EXPECT_EQ(status, status_.status()); | 231 EXPECT_EQ(status, status_.status()); |
| 228 EXPECT_FALSE(store_->is_managed()); | 232 EXPECT_FALSE(store_->is_managed()); |
| 229 PolicyBundle empty_bundle; | 233 PolicyBundle empty_bundle; |
| 230 EXPECT_TRUE(manager_.policies().Equals(empty_bundle)); | 234 EXPECT_TRUE(manager_.policies().Equals(empty_bundle)); |
| 231 } | 235 } |
| 232 | 236 |
| 233 void ExpectSuccessfulEnrollment() { | 237 void ExpectSuccessfulEnrollment() { |
| (...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 475 TEST_F(DeviceCloudPolicyManagerChromeOSEnrollmentTest, LoadError) { | 479 TEST_F(DeviceCloudPolicyManagerChromeOSEnrollmentTest, LoadError) { |
| 476 loaded_blob_.clear(); | 480 loaded_blob_.clear(); |
| 477 RunTest(); | 481 RunTest(); |
| 478 ExpectFailedEnrollment(EnrollmentStatus::STATUS_STORE_ERROR); | 482 ExpectFailedEnrollment(EnrollmentStatus::STATUS_STORE_ERROR); |
| 479 EXPECT_EQ(CloudPolicyStore::STATUS_LOAD_ERROR, | 483 EXPECT_EQ(CloudPolicyStore::STATUS_LOAD_ERROR, |
| 480 status_.store_status()); | 484 status_.store_status()); |
| 481 } | 485 } |
| 482 | 486 |
| 483 } // namespace test | 487 } // namespace test |
| 484 } // namespace policy | 488 } // namespace policy |
| OLD | NEW |