Index: chrome/browser/policy/cloud/user_cloud_policy_store_unittest.cc |
diff --git a/chrome/browser/policy/cloud/user_cloud_policy_store_unittest.cc b/chrome/browser/policy/cloud/user_cloud_policy_store_unittest.cc |
index 38ec96a8d5648d2315c712748b4d0d09159e65a8..1144ae9d6a56a93497ee6a8e4d23c0d92c2fc2f0 100644 |
--- a/chrome/browser/policy/cloud/user_cloud_policy_store_unittest.cc |
+++ b/chrome/browser/policy/cloud/user_cloud_policy_store_unittest.cc |
@@ -115,6 +115,7 @@ TEST_F(UserCloudPolicyStoreTest, LoadWithNoFile) { |
EXPECT_FALSE(store_->policy()); |
EXPECT_TRUE(store_->policy_map().empty()); |
+ EXPECT_FALSE(store_->policy_changed()); |
} |
TEST_F(UserCloudPolicyStoreTest, LoadWithInvalidFile) { |
@@ -135,6 +136,7 @@ TEST_F(UserCloudPolicyStoreTest, LoadWithInvalidFile) { |
EXPECT_FALSE(store_->policy()); |
EXPECT_TRUE(store_->policy_map().empty()); |
+ EXPECT_FALSE(store_->policy_changed()); |
} |
TEST_F(UserCloudPolicyStoreTest, LoadImmediatelyWithNoFile) { |
@@ -146,6 +148,7 @@ TEST_F(UserCloudPolicyStoreTest, LoadImmediatelyWithNoFile) { |
EXPECT_FALSE(store_->policy()); |
EXPECT_TRUE(store_->policy_map().empty()); |
+ EXPECT_FALSE(store_->policy_changed()); |
} |
TEST_F(UserCloudPolicyStoreTest, LoadImmediatelyWithInvalidFile) { |
@@ -165,6 +168,7 @@ TEST_F(UserCloudPolicyStoreTest, LoadImmediatelyWithInvalidFile) { |
EXPECT_FALSE(store_->policy()); |
EXPECT_TRUE(store_->policy_map().empty()); |
+ EXPECT_FALSE(store_->policy_changed()); |
} |
TEST_F(UserCloudPolicyStoreTest, Store) { |
@@ -283,6 +287,7 @@ TEST_F(UserCloudPolicyStoreTest, StoreThenLoadImmediately) { |
VerifyPolicyMap(store2.get()); |
EXPECT_EQ(CloudPolicyStore::STATUS_OK, store2->status()); |
store2->RemoveObserver(&observer_); |
+ EXPECT_TRUE(store2->policy_changed()); |
} |
TEST_F(UserCloudPolicyStoreTest, StoreValidationError) { |
@@ -295,6 +300,7 @@ TEST_F(UserCloudPolicyStoreTest, StoreValidationError) { |
store_->Store(policy_.policy()); |
RunUntilIdle(); |
ASSERT_FALSE(store_->policy()); |
+ EXPECT_FALSE(store_->policy_changed()); |
} |
TEST_F(UserCloudPolicyStoreTest, LoadValidationError) { |
@@ -348,6 +354,46 @@ TEST_F(UserCloudPolicyStoreTest, LoadValidationError) { |
store4->RemoveObserver(&observer_); |
} |
+TEST_F(UserCloudPolicyStoreTest, PolicyChanged) { |
+ EXPECT_CALL(observer_, OnStoreLoaded(store_.get())).Times(7); |
+ EXPECT_FALSE(store_->policy_changed()); |
+ |
+ // Clearing before storing should not result in a change. |
+ store_->Clear(); |
+ EXPECT_FALSE(store_->policy_changed()); |
+ |
+ // Storing an initial policy should result in a change. |
+ store_->Store(policy_.policy()); |
+ RunUntilIdle(); |
+ EXPECT_TRUE(store_->policy_changed()); |
+ |
+ // Storing the same policy should not result in a change. |
+ store_->Store(policy_.policy()); |
+ RunUntilIdle(); |
+ EXPECT_FALSE(store_->policy_changed()); |
+ |
+ // Storing a modified policy should result in a change. |
+ policy_.payload().mutable_urlblacklist()->mutable_value()->add_entries( |
+ "build.chromium.org"); |
+ policy_.Build(); |
+ store_->Store(policy_.policy()); |
+ RunUntilIdle(); |
+ EXPECT_TRUE(store_->policy_changed()); |
+ |
+ // Storing the same policy should not result in a change. |
+ store_->Store(policy_.policy()); |
+ RunUntilIdle(); |
+ EXPECT_FALSE(store_->policy_changed()); |
+ |
+ // Clearing the policy should result in a change. |
+ store_->Clear(); |
+ EXPECT_TRUE(store_->policy_changed()); |
+ |
+ // Clearing the policy again shouldn't result in a change. |
+ store_->Clear(); |
+ EXPECT_FALSE(store_->policy_changed()); |
+} |
+ |
} // namespace |
} // namespace policy |