Index: chrome/browser/chromeos/policy/device_local_account_policy_service_unittest.cc |
diff --git a/chrome/browser/chromeos/policy/device_local_account_policy_service_unittest.cc b/chrome/browser/chromeos/policy/device_local_account_policy_service_unittest.cc |
index c6523f9671ece3224a75584457323b0f1328fd70..f7049efc89bbbe6bc5e98e0eb6115c9ed518efa9 100644 |
--- a/chrome/browser/chromeos/policy/device_local_account_policy_service_unittest.cc |
+++ b/chrome/browser/chromeos/policy/device_local_account_policy_service_unittest.cc |
@@ -797,7 +797,7 @@ DeviceLocalAccountPolicyProviderTest::DeviceLocalAccountPolicyProviderTest() { |
provider_ = DeviceLocalAccountPolicyProvider::Create( |
GenerateDeviceLocalAccountUserId(kAccount1, |
DeviceLocalAccount::TYPE_PUBLIC_SESSION), |
- service_.get()); |
+ service_.get(), false /*force_immediate_load*/); |
} |
void DeviceLocalAccountPolicyProviderTest::SetUp() { |
@@ -989,4 +989,52 @@ TEST_F(DeviceLocalAccountPolicyProviderTest, RefreshPolicies) { |
Mock::VerifyAndClearExpectations(&provider_observer_); |
} |
+class DeviceLocalAccountPolicyProviderLoadImmediateTest |
+ : public DeviceLocalAccountPolicyServiceTestBase { |
+ protected: |
+ DeviceLocalAccountPolicyProviderLoadImmediateTest(); |
+ |
+ void SetUp() override; |
+ void TearDown() override; |
+ |
+ std::unique_ptr<DeviceLocalAccountPolicyProvider> provider_; |
+ MockDeviceLocalAccountPolicyServiceObserver service_observer_; |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(DeviceLocalAccountPolicyProviderLoadImmediateTest); |
+}; |
+ |
+DeviceLocalAccountPolicyProviderLoadImmediateTest:: |
+ DeviceLocalAccountPolicyProviderLoadImmediateTest() { |
+ CreatePolicyService(); |
+} |
+ |
+void DeviceLocalAccountPolicyProviderLoadImmediateTest::SetUp() { |
+ service_->AddObserver(&service_observer_); |
+ DeviceLocalAccountPolicyServiceTestBase::SetUp(); |
+} |
+ |
+void DeviceLocalAccountPolicyProviderLoadImmediateTest::TearDown() { |
+ service_->RemoveObserver(&service_observer_); |
+ provider_->Shutdown(); |
+ provider_.reset(); |
+ DeviceLocalAccountPolicyServiceTestBase::TearDown(); |
+} |
+ |
+TEST_F(DeviceLocalAccountPolicyProviderLoadImmediateTest, Initialization) { |
+ InstallDeviceLocalAccountPolicy(kAccount1); |
+ AddDeviceLocalAccountToPolicy(kAccount1); |
+ EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)) |
+ .Times(AtLeast(2)); |
+ EXPECT_CALL(service_observer_, OnDeviceLocalAccountsChanged()); |
+ InstallDevicePolicy(); |
+ |
+ provider_ = DeviceLocalAccountPolicyProvider::Create( |
+ GenerateDeviceLocalAccountUserId(kAccount1, |
+ DeviceLocalAccount::TYPE_PUBLIC_SESSION), |
+ service_.get(), true /*force_immediate_load*/); |
+ |
+ EXPECT_TRUE(provider_->IsInitializationComplete(POLICY_DOMAIN_CHROME)); |
+} |
+ |
} // namespace policy |