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" |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 .Times(AtMost(1)) | 255 .Times(AtMost(1)) |
256 .WillOnce(device_management_service_.CreateAsyncJob(&policy_fetch_job)); | 256 .WillOnce(device_management_service_.CreateAsyncJob(&policy_fetch_job)); |
257 EXPECT_CALL(device_management_service_, | 257 EXPECT_CALL(device_management_service_, |
258 StartJob(dm_protocol::kValueRequestPolicy, _, _, _, _, _, _)) | 258 StartJob(dm_protocol::kValueRequestPolicy, _, _, _, _, _, _)) |
259 .Times(AtMost(1)); | 259 .Times(AtMost(1)); |
260 ConnectManager(); | 260 ConnectManager(); |
261 base::RunLoop().RunUntilIdle(); | 261 base::RunLoop().RunUntilIdle(); |
262 Mock::VerifyAndClearExpectations(&device_management_service_); | 262 Mock::VerifyAndClearExpectations(&device_management_service_); |
263 ASSERT_TRUE(policy_fetch_job); | 263 ASSERT_TRUE(policy_fetch_job); |
264 // Should create a status uploader for reporting on enrolled devices. | 264 // Should create a status uploader for reporting on enrolled devices. |
265 EXPECT_TRUE(manager_->HasStatusUploaderForTest()); | 265 EXPECT_TRUE(manager_->GetStatusUploader()); |
266 VerifyPolicyPopulated(); | 266 VerifyPolicyPopulated(); |
267 | 267 |
268 manager_->Shutdown(); | 268 manager_->Shutdown(); |
269 VerifyPolicyPopulated(); | 269 VerifyPolicyPopulated(); |
270 | 270 |
271 EXPECT_EQ(store_->policy()->service_account_identity(), | 271 EXPECT_EQ(store_->policy()->service_account_identity(), |
272 PolicyBuilder::kFakeServiceAccountIdentity); | 272 PolicyBuilder::kFakeServiceAccountIdentity); |
273 } | 273 } |
274 | 274 |
275 TEST_F(DeviceCloudPolicyManagerChromeOSTest, UnmanagedDevice) { | 275 TEST_F(DeviceCloudPolicyManagerChromeOSTest, UnmanagedDevice) { |
(...skipping 18 matching lines...) Expand all Loading... |
294 .WillOnce(device_management_service_.CreateAsyncJob(&policy_fetch_job)); | 294 .WillOnce(device_management_service_.CreateAsyncJob(&policy_fetch_job)); |
295 EXPECT_CALL(device_management_service_, | 295 EXPECT_CALL(device_management_service_, |
296 StartJob(dm_protocol::kValueRequestPolicy, _, _, _, _, _, _)) | 296 StartJob(dm_protocol::kValueRequestPolicy, _, _, _, _, _, _)) |
297 .Times(AtMost(1)); | 297 .Times(AtMost(1)); |
298 ConnectManager(); | 298 ConnectManager(); |
299 base::RunLoop().RunUntilIdle(); | 299 base::RunLoop().RunUntilIdle(); |
300 Mock::VerifyAndClearExpectations(&device_management_service_); | 300 Mock::VerifyAndClearExpectations(&device_management_service_); |
301 ASSERT_TRUE(policy_fetch_job); | 301 ASSERT_TRUE(policy_fetch_job); |
302 // Should create a status provider for reporting on enrolled devices, even | 302 // Should create a status provider for reporting on enrolled devices, even |
303 // those that aren't managed. | 303 // those that aren't managed. |
304 EXPECT_TRUE(manager_->HasStatusUploaderForTest()); | 304 EXPECT_TRUE(manager_->GetStatusUploader()); |
305 | 305 |
306 // Switch back to ACTIVE, service the policy fetch and let it propagate. | 306 // Switch back to ACTIVE, service the policy fetch and let it propagate. |
307 device_policy_.policy_data().set_state(em::PolicyData::ACTIVE); | 307 device_policy_.policy_data().set_state(em::PolicyData::ACTIVE); |
308 device_policy_.Build(); | 308 device_policy_.Build(); |
309 device_settings_test_helper_.set_policy_blob(device_policy_.GetBlob()); | 309 device_settings_test_helper_.set_policy_blob(device_policy_.GetBlob()); |
310 em::DeviceManagementResponse policy_fetch_response; | 310 em::DeviceManagementResponse policy_fetch_response; |
311 policy_fetch_response.mutable_policy_response()->add_response()->CopyFrom( | 311 policy_fetch_response.mutable_policy_response()->add_response()->CopyFrom( |
312 device_policy_.policy()); | 312 device_policy_.policy()); |
313 policy_fetch_job->SendResponse(DM_STATUS_SUCCESS, policy_fetch_response); | 313 policy_fetch_job->SendResponse(DM_STATUS_SUCCESS, policy_fetch_response); |
314 FlushDeviceSettings(); | 314 FlushDeviceSettings(); |
315 | 315 |
316 // Policy state should now be active and the policy map should be populated. | 316 // Policy state should now be active and the policy map should be populated. |
317 EXPECT_TRUE(store_->is_managed()); | 317 EXPECT_TRUE(store_->is_managed()); |
318 VerifyPolicyPopulated(); | 318 VerifyPolicyPopulated(); |
319 } | 319 } |
320 | 320 |
321 TEST_F(DeviceCloudPolicyManagerChromeOSTest, ConsumerDevice) { | 321 TEST_F(DeviceCloudPolicyManagerChromeOSTest, ConsumerDevice) { |
322 FlushDeviceSettings(); | 322 FlushDeviceSettings(); |
323 EXPECT_EQ(CloudPolicyStore::STATUS_BAD_STATE, store_->status()); | 323 EXPECT_EQ(CloudPolicyStore::STATUS_BAD_STATE, store_->status()); |
324 EXPECT_TRUE(manager_->IsInitializationComplete(POLICY_DOMAIN_CHROME)); | 324 EXPECT_TRUE(manager_->IsInitializationComplete(POLICY_DOMAIN_CHROME)); |
325 | 325 |
326 PolicyBundle bundle; | 326 PolicyBundle bundle; |
327 EXPECT_TRUE(manager_->policies().Equals(bundle)); | 327 EXPECT_TRUE(manager_->policies().Equals(bundle)); |
328 | 328 |
329 ConnectManager(); | 329 ConnectManager(); |
330 EXPECT_TRUE(manager_->policies().Equals(bundle)); | 330 EXPECT_TRUE(manager_->policies().Equals(bundle)); |
331 // Should not create a status provider for reporting on consumer devices. | 331 // Should not create a status provider for reporting on consumer devices. |
332 EXPECT_FALSE(manager_->HasStatusUploaderForTest()); | 332 EXPECT_FALSE(manager_->GetStatusUploader()); |
333 | 333 |
334 manager_->Shutdown(); | 334 manager_->Shutdown(); |
335 EXPECT_TRUE(manager_->policies().Equals(bundle)); | 335 EXPECT_TRUE(manager_->policies().Equals(bundle)); |
336 } | 336 } |
337 | 337 |
338 TEST_F(DeviceCloudPolicyManagerChromeOSTest, ConnectAndDisconnect) { | 338 TEST_F(DeviceCloudPolicyManagerChromeOSTest, ConnectAndDisconnect) { |
339 LockDevice(); | 339 LockDevice(); |
340 FlushDeviceSettings(); | 340 FlushDeviceSettings(); |
341 EXPECT_FALSE(manager_->core()->service()); // Not connected. | 341 EXPECT_FALSE(manager_->core()->service()); // Not connected. |
342 | 342 |
(...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
740 | 740 |
741 TEST_F(DeviceCloudPolicyManagerChromeOSEnrollmentBlankSystemSaltTest, | 741 TEST_F(DeviceCloudPolicyManagerChromeOSEnrollmentBlankSystemSaltTest, |
742 RobotRefreshSaveFailed) { | 742 RobotRefreshSaveFailed) { |
743 // Without the system salt, the robot token can't be stored. | 743 // Without the system salt, the robot token can't be stored. |
744 RunTest(); | 744 RunTest(); |
745 ExpectFailedEnrollment(EnrollmentStatus::STATUS_ROBOT_REFRESH_STORE_FAILED); | 745 ExpectFailedEnrollment(EnrollmentStatus::STATUS_ROBOT_REFRESH_STORE_FAILED); |
746 } | 746 } |
747 | 747 |
748 } // namespace | 748 } // namespace |
749 } // namespace policy | 749 } // namespace policy |
OLD | NEW |