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

Unified 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, 10 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 side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698