| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/cloud_external_data_policy_observer.h" | 5 #include "chrome/browser/chromeos/policy/cloud_external_data_policy_observer.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 116 void SetDeviceLocalAccountAvatarPolicy(const std::string& account_id, | 116 void SetDeviceLocalAccountAvatarPolicy(const std::string& account_id, |
| 117 const std::string& value); | 117 const std::string& value); |
| 118 | 118 |
| 119 void AddDeviceLocalAccount(const std::string& account_id); | 119 void AddDeviceLocalAccount(const std::string& account_id); |
| 120 void RemoveDeviceLocalAccount(const std::string& account_id); | 120 void RemoveDeviceLocalAccount(const std::string& account_id); |
| 121 | 121 |
| 122 DeviceLocalAccountPolicyBroker* GetBrokerForDeviceLocalAccountUser(); | 122 DeviceLocalAccountPolicyBroker* GetBrokerForDeviceLocalAccountUser(); |
| 123 | 123 |
| 124 void RefreshDeviceLocalAccountPolicy(DeviceLocalAccountPolicyBroker* broker); | 124 void RefreshDeviceLocalAccountPolicy(DeviceLocalAccountPolicyBroker* broker); |
| 125 | 125 |
| 126 void LogInAsDeviceLocalAccount(const std::string& user_id); | 126 void LogInAsDeviceLocalAccount(const AccountId& account_id); |
| 127 | 127 |
| 128 void SetRegularUserAvatarPolicy(const std::string& value); | 128 void SetRegularUserAvatarPolicy(const std::string& value); |
| 129 | 129 |
| 130 void LogInAsRegularUser(); | 130 void LogInAsRegularUser(); |
| 131 | 131 |
| 132 const std::string device_local_account_user_id_; | 132 const std::string device_local_account_user_id_; |
| 133 | 133 |
| 134 std::string avatar_policy_1_data_; | 134 std::string avatar_policy_1_data_; |
| 135 std::string avatar_policy_2_data_; | 135 std::string avatar_policy_2_data_; |
| 136 std::string avatar_policy_1_; | 136 std::string avatar_policy_1_; |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 313 device_local_account_user_id_); | 313 device_local_account_user_id_); |
| 314 } | 314 } |
| 315 | 315 |
| 316 void CloudExternalDataPolicyObserverTest::RefreshDeviceLocalAccountPolicy( | 316 void CloudExternalDataPolicyObserverTest::RefreshDeviceLocalAccountPolicy( |
| 317 DeviceLocalAccountPolicyBroker* broker) { | 317 DeviceLocalAccountPolicyBroker* broker) { |
| 318 broker->core()->store()->Load(); | 318 broker->core()->store()->Load(); |
| 319 device_settings_test_helper_.Flush(); | 319 device_settings_test_helper_.Flush(); |
| 320 } | 320 } |
| 321 | 321 |
| 322 void CloudExternalDataPolicyObserverTest::LogInAsDeviceLocalAccount( | 322 void CloudExternalDataPolicyObserverTest::LogInAsDeviceLocalAccount( |
| 323 const std::string& user_id) { | 323 const AccountId& account_id) { |
| 324 user_manager_->AddUser(user_id); | 324 user_manager_->AddUser(account_id); |
| 325 | 325 |
| 326 device_local_account_policy_provider_.reset( | 326 device_local_account_policy_provider_.reset( |
| 327 new DeviceLocalAccountPolicyProvider( | 327 new DeviceLocalAccountPolicyProvider( |
| 328 user_id, | 328 account_id.GetUserEmail(), device_local_account_policy_service_.get(), |
| 329 device_local_account_policy_service_.get(), | |
| 330 scoped_ptr<PolicyMap>())); | 329 scoped_ptr<PolicyMap>())); |
| 331 | 330 |
| 332 PolicyServiceImpl::Providers providers; | 331 PolicyServiceImpl::Providers providers; |
| 333 providers.push_back(device_local_account_policy_provider_.get()); | 332 providers.push_back(device_local_account_policy_provider_.get()); |
| 334 TestingProfile::Builder builder; | 333 TestingProfile::Builder builder; |
| 335 builder.SetPolicyService( | 334 builder.SetPolicyService( |
| 336 scoped_ptr<PolicyService>(new PolicyServiceImpl(providers))); | 335 scoped_ptr<PolicyService>(new PolicyServiceImpl(providers))); |
| 337 builder.SetPath(chromeos::ProfileHelper::Get()->GetProfilePathByUserIdHash( | 336 builder.SetPath(chromeos::ProfileHelper::Get()->GetProfilePathByUserIdHash( |
| 338 chromeos::ProfileHelper::GetUserIdHashByUserIdForTesting(user_id))); | 337 chromeos::ProfileHelper::GetUserIdHashByUserIdForTesting( |
| 338 account_id.GetUserEmail()))); |
| 339 | 339 |
| 340 profile_ = builder.Build(); | 340 profile_ = builder.Build(); |
| 341 profile_->set_profile_name(user_id); | 341 profile_->set_profile_name(account_id.GetUserEmail()); |
| 342 | 342 |
| 343 content::NotificationService::current()->Notify( | 343 content::NotificationService::current()->Notify( |
| 344 chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED, | 344 chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED, |
| 345 content::NotificationService::AllSources(), | 345 content::NotificationService::AllSources(), |
| 346 content::Details<Profile>(profile_.get())); | 346 content::Details<Profile>(profile_.get())); |
| 347 } | 347 } |
| 348 | 348 |
| 349 void CloudExternalDataPolicyObserverTest::SetRegularUserAvatarPolicy( | 349 void CloudExternalDataPolicyObserverTest::SetRegularUserAvatarPolicy( |
| 350 const std::string& value) { | 350 const std::string& value) { |
| 351 PolicyMap policy_map; | 351 PolicyMap policy_map; |
| 352 if (!value.empty()) { | 352 if (!value.empty()) { |
| 353 policy_map.Set( | 353 policy_map.Set( |
| 354 key::kUserAvatarImage, | 354 key::kUserAvatarImage, |
| 355 POLICY_LEVEL_MANDATORY, | 355 POLICY_LEVEL_MANDATORY, |
| 356 POLICY_SCOPE_USER, | 356 POLICY_SCOPE_USER, |
| 357 POLICY_SOURCE_CLOUD, | 357 POLICY_SOURCE_CLOUD, |
| 358 new base::StringValue(value), | 358 new base::StringValue(value), |
| 359 external_data_manager_.CreateExternalDataFetcher( | 359 external_data_manager_.CreateExternalDataFetcher( |
| 360 key::kUserAvatarImage).release()); | 360 key::kUserAvatarImage).release()); |
| 361 } | 361 } |
| 362 user_policy_provider_.UpdateChromePolicy(policy_map); | 362 user_policy_provider_.UpdateChromePolicy(policy_map); |
| 363 } | 363 } |
| 364 | 364 |
| 365 void CloudExternalDataPolicyObserverTest::LogInAsRegularUser() { | 365 void CloudExternalDataPolicyObserverTest::LogInAsRegularUser() { |
| 366 user_manager_->AddUser(kRegularUserID); | 366 user_manager_->AddUser(AccountId::FromUserEmail(kRegularUserID)); |
| 367 | 367 |
| 368 PolicyServiceImpl::Providers providers; | 368 PolicyServiceImpl::Providers providers; |
| 369 providers.push_back(&user_policy_provider_); | 369 providers.push_back(&user_policy_provider_); |
| 370 TestingProfile::Builder builder; | 370 TestingProfile::Builder builder; |
| 371 builder.SetPolicyService( | 371 builder.SetPolicyService( |
| 372 scoped_ptr<PolicyService>(new PolicyServiceImpl(providers))); | 372 scoped_ptr<PolicyService>(new PolicyServiceImpl(providers))); |
| 373 builder.SetPath(chromeos::ProfileHelper::Get()->GetProfilePathByUserIdHash( | 373 builder.SetPath(chromeos::ProfileHelper::Get()->GetProfilePathByUserIdHash( |
| 374 chromeos::ProfileHelper::GetUserIdHashByUserIdForTesting( | 374 chromeos::ProfileHelper::GetUserIdHashByUserIdForTesting( |
| 375 kRegularUserID))); | 375 kRegularUserID))); |
| 376 | 376 |
| (...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 654 ExistingDeviceLocalAccountSetAfterLogin) { | 654 ExistingDeviceLocalAccountSetAfterLogin) { |
| 655 AddDeviceLocalAccount(kDeviceLocalAccount); | 655 AddDeviceLocalAccount(kDeviceLocalAccount); |
| 656 | 656 |
| 657 DeviceLocalAccountPolicyBroker* broker = GetBrokerForDeviceLocalAccountUser(); | 657 DeviceLocalAccountPolicyBroker* broker = GetBrokerForDeviceLocalAccountUser(); |
| 658 ASSERT_TRUE(broker); | 658 ASSERT_TRUE(broker); |
| 659 broker->external_data_manager()->Connect(NULL); | 659 broker->external_data_manager()->Connect(NULL); |
| 660 base::RunLoop().RunUntilIdle(); | 660 base::RunLoop().RunUntilIdle(); |
| 661 | 661 |
| 662 CreateObserver(); | 662 CreateObserver(); |
| 663 | 663 |
| 664 LogInAsDeviceLocalAccount(kDeviceLocalAccount); | 664 LogInAsDeviceLocalAccount(AccountId::FromUserEmail(kDeviceLocalAccount)); |
| 665 | 665 |
| 666 EXPECT_TRUE(set_calls_.empty()); | 666 EXPECT_TRUE(set_calls_.empty()); |
| 667 EXPECT_TRUE(cleared_calls_.empty()); | 667 EXPECT_TRUE(cleared_calls_.empty()); |
| 668 EXPECT_TRUE(fetched_calls_.empty()); | 668 EXPECT_TRUE(fetched_calls_.empty()); |
| 669 ClearObservations(); | 669 ClearObservations(); |
| 670 | 670 |
| 671 SetDeviceLocalAccountAvatarPolicy(kDeviceLocalAccount, avatar_policy_1_); | 671 SetDeviceLocalAccountAvatarPolicy(kDeviceLocalAccount, avatar_policy_1_); |
| 672 RefreshDeviceLocalAccountPolicy(broker); | 672 RefreshDeviceLocalAccountPolicy(broker); |
| 673 | 673 |
| 674 EXPECT_TRUE(cleared_calls_.empty()); | 674 EXPECT_TRUE(cleared_calls_.empty()); |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 950 | 950 |
| 951 EXPECT_TRUE(set_calls_.empty()); | 951 EXPECT_TRUE(set_calls_.empty()); |
| 952 EXPECT_TRUE(cleared_calls_.empty()); | 952 EXPECT_TRUE(cleared_calls_.empty()); |
| 953 ASSERT_EQ(1u, fetched_calls_.size()); | 953 ASSERT_EQ(1u, fetched_calls_.size()); |
| 954 EXPECT_EQ(kRegularUserID, fetched_calls_.front().first); | 954 EXPECT_EQ(kRegularUserID, fetched_calls_.front().first); |
| 955 EXPECT_EQ(avatar_policy_2_data_, fetched_calls_.front().second); | 955 EXPECT_EQ(avatar_policy_2_data_, fetched_calls_.front().second); |
| 956 ClearObservations(); | 956 ClearObservations(); |
| 957 } | 957 } |
| 958 | 958 |
| 959 } // namespace policy | 959 } // namespace policy |
| OLD | NEW |