| 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_local_account_policy_service.h" | 5 #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "chrome/browser/chromeos/policy/device_local_account_policy_provider.h" | 10 #include "chrome/browser/chromeos/policy/device_local_account_policy_provider.h" |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 Value::CreateBooleanValue(true)); | 75 Value::CreateBooleanValue(true)); |
| 76 | 76 |
| 77 device_local_account_policy_.payload().mutable_disablespdy()->set_value( | 77 device_local_account_policy_.payload().mutable_disablespdy()->set_value( |
| 78 true); | 78 true); |
| 79 device_local_account_policy_.policy_data().set_policy_type( | 79 device_local_account_policy_.policy_data().set_policy_type( |
| 80 dm_protocol::kChromePublicAccountPolicyType); | 80 dm_protocol::kChromePublicAccountPolicyType); |
| 81 device_local_account_policy_.policy_data().set_settings_entity_id( | 81 device_local_account_policy_.policy_data().set_settings_entity_id( |
| 82 PolicyBuilder::kFakeUsername); | 82 PolicyBuilder::kFakeUsername); |
| 83 device_local_account_policy_.Build(); | 83 device_local_account_policy_.Build(); |
| 84 | 84 |
| 85 device_policy_.payload().mutable_device_local_accounts()->add_account()-> | 85 em::DeviceLocalAccountInfoProto* account = |
| 86 set_id(PolicyBuilder::kFakeUsername); | 86 device_policy_.payload().mutable_device_local_accounts()->add_account(); |
| 87 account->set_account_id(PolicyBuilder::kFakeUsername); |
| 88 account->set_type( |
| 89 em::DeviceLocalAccountInfoProto::ACCOUNT_TYPE_PUBLIC_SESSION); |
| 87 device_policy_.Build(); | 90 device_policy_.Build(); |
| 88 | 91 |
| 89 service_.AddObserver(&service_observer_); | 92 service_.AddObserver(&service_observer_); |
| 90 } | 93 } |
| 91 | 94 |
| 92 virtual void TearDown() OVERRIDE { | 95 virtual void TearDown() OVERRIDE { |
| 93 service_.RemoveObserver(&service_observer_); | 96 service_.RemoveObserver(&service_observer_); |
| 94 | 97 |
| 95 DeviceSettingsTestBase::TearDown(); | 98 DeviceSettingsTestBase::TearDown(); |
| 96 } | 99 } |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 Mock::VerifyAndClearExpectations(&service_observer_); | 257 Mock::VerifyAndClearExpectations(&service_observer_); |
| 255 } | 258 } |
| 256 | 259 |
| 257 TEST_F(DeviceLocalAccountPolicyServiceTest, DuplicateAccounts) { | 260 TEST_F(DeviceLocalAccountPolicyServiceTest, DuplicateAccounts) { |
| 258 InstallDevicePolicy(); | 261 InstallDevicePolicy(); |
| 259 DeviceLocalAccountPolicyBroker* broker = | 262 DeviceLocalAccountPolicyBroker* broker = |
| 260 service_.GetBrokerForAccount(PolicyBuilder::kFakeUsername); | 263 service_.GetBrokerForAccount(PolicyBuilder::kFakeUsername); |
| 261 ASSERT_TRUE(broker); | 264 ASSERT_TRUE(broker); |
| 262 | 265 |
| 263 // Add a second entry with a duplicate account name to device policy. | 266 // Add a second entry with a duplicate account name to device policy. |
| 264 device_policy_.payload().mutable_device_local_accounts()->add_account()-> | 267 em::DeviceLocalAccountInfoProto* account = |
| 265 set_id(PolicyBuilder::kFakeUsername); | 268 device_policy_.payload().mutable_device_local_accounts()->add_account(); |
| 269 account->set_account_id(PolicyBuilder::kFakeUsername); |
| 270 account->set_type( |
| 271 em::DeviceLocalAccountInfoProto::ACCOUNT_TYPE_PUBLIC_SESSION); |
| 266 device_policy_.Build(); | 272 device_policy_.Build(); |
| 267 device_settings_test_helper_.set_device_local_account_policy_blob( | 273 device_settings_test_helper_.set_device_local_account_policy_blob( |
| 268 PolicyBuilder::kFakeUsername, device_local_account_policy_.GetBlob()); | 274 PolicyBuilder::kFakeUsername, device_local_account_policy_.GetBlob()); |
| 269 device_settings_test_helper_.set_policy_blob(device_policy_.GetBlob()); | 275 device_settings_test_helper_.set_policy_blob(device_policy_.GetBlob()); |
| 270 | 276 |
| 271 EXPECT_CALL(service_observer_, OnDeviceLocalAccountsChanged()); | 277 EXPECT_CALL(service_observer_, OnDeviceLocalAccountsChanged()); |
| 272 EXPECT_CALL(service_observer_, OnPolicyUpdated(PolicyBuilder::kFakeUsername)); | 278 EXPECT_CALL(service_observer_, OnPolicyUpdated(PolicyBuilder::kFakeUsername)); |
| 273 device_settings_service_.PropertyChangeComplete(true); | 279 device_settings_service_.PropertyChangeComplete(true); |
| 274 FlushDeviceSettings(); | 280 FlushDeviceSettings(); |
| 275 Mock::VerifyAndClearExpectations(&service_observer_); | 281 Mock::VerifyAndClearExpectations(&service_observer_); |
| (...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 548 ASSERT_TRUE(request_job); | 554 ASSERT_TRUE(request_job); |
| 549 em::DeviceManagementResponse response; | 555 em::DeviceManagementResponse response; |
| 550 response.mutable_policy_response()->add_response()->CopyFrom( | 556 response.mutable_policy_response()->add_response()->CopyFrom( |
| 551 device_local_account_policy_.policy()); | 557 device_local_account_policy_.policy()); |
| 552 request_job->SendResponse(DM_STATUS_SUCCESS, response); | 558 request_job->SendResponse(DM_STATUS_SUCCESS, response); |
| 553 FlushDeviceSettings(); | 559 FlushDeviceSettings(); |
| 554 Mock::VerifyAndClearExpectations(&provider_observer_); | 560 Mock::VerifyAndClearExpectations(&provider_observer_); |
| 555 } | 561 } |
| 556 | 562 |
| 557 } // namespace policy | 563 } // namespace policy |
| OLD | NEW |