Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(435)

Side by Side Diff: chrome/browser/chromeos/policy/device_local_account_policy_service_unittest.cc

Issue 2714493002: Load DeviceLocalAccount policy and DeviceSettings immediately on restore after Chrome crash. (Closed)
Patch Set: wrap Validator in unique_ptr Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 779 matching lines...) Expand 10 before | Expand all | Expand 10 after
790 790
791 private: 791 private:
792 DISALLOW_COPY_AND_ASSIGN(DeviceLocalAccountPolicyProviderTest); 792 DISALLOW_COPY_AND_ASSIGN(DeviceLocalAccountPolicyProviderTest);
793 }; 793 };
794 794
795 DeviceLocalAccountPolicyProviderTest::DeviceLocalAccountPolicyProviderTest() { 795 DeviceLocalAccountPolicyProviderTest::DeviceLocalAccountPolicyProviderTest() {
796 CreatePolicyService(); 796 CreatePolicyService();
797 provider_ = DeviceLocalAccountPolicyProvider::Create( 797 provider_ = DeviceLocalAccountPolicyProvider::Create(
798 GenerateDeviceLocalAccountUserId(kAccount1, 798 GenerateDeviceLocalAccountUserId(kAccount1,
799 DeviceLocalAccount::TYPE_PUBLIC_SESSION), 799 DeviceLocalAccount::TYPE_PUBLIC_SESSION),
800 service_.get()); 800 service_.get(), false /*force_immediate_load*/);
801 } 801 }
802 802
803 void DeviceLocalAccountPolicyProviderTest::SetUp() { 803 void DeviceLocalAccountPolicyProviderTest::SetUp() {
804 DeviceLocalAccountPolicyServiceTestBase::SetUp(); 804 DeviceLocalAccountPolicyServiceTestBase::SetUp();
805 provider_->Init(&schema_registry_); 805 provider_->Init(&schema_registry_);
806 provider_->AddObserver(&provider_observer_); 806 provider_->AddObserver(&provider_observer_);
807 807
808 // Values implicitly enforced for public accounts. 808 // Values implicitly enforced for public accounts.
809 expected_policy_map_.Set( 809 expected_policy_map_.Set(
810 key::kLidCloseAction, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 810 key::kLidCloseAction, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
982 ASSERT_TRUE(request_job); 982 ASSERT_TRUE(request_job);
983 em::DeviceManagementResponse response; 983 em::DeviceManagementResponse response;
984 device_local_account_policy_.Build(); 984 device_local_account_policy_.Build();
985 response.mutable_policy_response()->add_response()->CopyFrom( 985 response.mutable_policy_response()->add_response()->CopyFrom(
986 device_local_account_policy_.policy()); 986 device_local_account_policy_.policy());
987 request_job->SendResponse(DM_STATUS_SUCCESS, response); 987 request_job->SendResponse(DM_STATUS_SUCCESS, response);
988 FlushDeviceSettings(); 988 FlushDeviceSettings();
989 Mock::VerifyAndClearExpectations(&provider_observer_); 989 Mock::VerifyAndClearExpectations(&provider_observer_);
990 } 990 }
991 991
992 class DeviceLocalAccountPolicyProviderLoadImmediateTest
993 : public DeviceLocalAccountPolicyServiceTestBase {
994 protected:
995 DeviceLocalAccountPolicyProviderLoadImmediateTest();
996
997 void SetUp() override;
998 void TearDown() override;
999
1000 std::unique_ptr<DeviceLocalAccountPolicyProvider> provider_;
1001 MockDeviceLocalAccountPolicyServiceObserver service_observer_;
1002
1003 private:
1004 DISALLOW_COPY_AND_ASSIGN(DeviceLocalAccountPolicyProviderLoadImmediateTest);
1005 };
1006
1007 DeviceLocalAccountPolicyProviderLoadImmediateTest::
1008 DeviceLocalAccountPolicyProviderLoadImmediateTest() {
1009 CreatePolicyService();
1010 }
1011
1012 void DeviceLocalAccountPolicyProviderLoadImmediateTest::SetUp() {
1013 service_->AddObserver(&service_observer_);
1014 DeviceLocalAccountPolicyServiceTestBase::SetUp();
1015 }
1016
1017 void DeviceLocalAccountPolicyProviderLoadImmediateTest::TearDown() {
1018 service_->RemoveObserver(&service_observer_);
1019 provider_->Shutdown();
1020 provider_.reset();
1021 DeviceLocalAccountPolicyServiceTestBase::TearDown();
1022 }
1023
1024 TEST_F(DeviceLocalAccountPolicyProviderLoadImmediateTest, Initialization) {
1025 InstallDeviceLocalAccountPolicy(kAccount1);
1026 AddDeviceLocalAccountToPolicy(kAccount1);
1027 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_))
1028 .Times(AtLeast(2));
1029 EXPECT_CALL(service_observer_, OnDeviceLocalAccountsChanged());
1030 InstallDevicePolicy();
1031
1032 provider_ = DeviceLocalAccountPolicyProvider::Create(
1033 GenerateDeviceLocalAccountUserId(kAccount1,
1034 DeviceLocalAccount::TYPE_PUBLIC_SESSION),
1035 service_.get(), true /*force_immediate_load*/);
1036
1037 EXPECT_TRUE(provider_->IsInitializationComplete(POLICY_DOMAIN_CHROME));
1038 }
1039
992 } // namespace policy 1040 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698