| 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
|
|
|