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 |