| Index: chrome/browser/policy/cloud/cloud_policy_manager_unittest.cc
|
| diff --git a/chrome/browser/policy/cloud/cloud_policy_manager_unittest.cc b/chrome/browser/policy/cloud/cloud_policy_manager_unittest.cc
|
| index cbcb4d418e7ba566cbfb080405c2ddbdde9d8349..9eb1a58ef8feae3af8d50630ac6df49a67c1d2c7 100644
|
| --- a/chrome/browser/policy/cloud/cloud_policy_manager_unittest.cc
|
| +++ b/chrome/browser/policy/cloud/cloud_policy_manager_unittest.cc
|
| @@ -9,6 +9,7 @@
|
| #include "base/compiler_specific.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/message_loop/message_loop.h"
|
| +#include "chrome/browser/invalidation/fake_invalidation_service.h"
|
| #include "chrome/browser/policy/cloud/cloud_policy_constants.h"
|
| #include "chrome/browser/policy/cloud/mock_cloud_policy_client.h"
|
| #include "chrome/browser/policy/cloud/mock_cloud_policy_store.h"
|
| @@ -16,6 +17,7 @@
|
| #include "chrome/browser/policy/configuration_policy_provider_test.h"
|
| #include "chrome/browser/policy/external_data_fetcher.h"
|
| #include "chrome/browser/policy/mock_configuration_policy_provider.h"
|
| +#include "sync/notifier/invalidation_util.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| @@ -143,6 +145,8 @@ class TestCloudPolicyManager : public CloudPolicyManager {
|
| using CloudPolicyManager::store;
|
| using CloudPolicyManager::service;
|
| using CloudPolicyManager::CheckAndPublishPolicy;
|
| + using CloudPolicyManager::CreateInvalidator;
|
| + using CloudPolicyManager::UnregisterInvalidator;
|
|
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(TestCloudPolicyManager);
|
| @@ -337,5 +341,31 @@ TEST_F(CloudPolicyManagerTest, SignalOnError) {
|
| EXPECT_TRUE(manager_->IsInitializationComplete(POLICY_DOMAIN_CHROME));
|
| }
|
|
|
| +TEST_F(CloudPolicyManagerTest, CreateAndUnregisterInvalidator) {
|
| + // Add the invalidation registration info to the policy data.
|
| + em::PolicyData* policy_data = new em::PolicyData(policy_.policy_data());
|
| + policy_data->set_invalidation_source(12345);
|
| + policy_data->set_invalidation_name("12345");
|
| + store_.policy_.reset(policy_data);
|
| +
|
| + // Expect registration to occur when the invalidator is created.
|
| + invalidation::FakeInvalidationService invalidation_service;
|
| + manager_->core()->Connect(
|
| + scoped_ptr<CloudPolicyClient>(new MockCloudPolicyClient()));
|
| + manager_->core()->StartRefreshScheduler();
|
| + manager_->CreateInvalidator(&invalidation_service);
|
| + syncer::ObjectIdSet object_ids =
|
| + invalidation_service.invalidator_registrar().GetAllRegisteredIds();
|
| + ASSERT_EQ(1U, object_ids.size());
|
| + EXPECT_EQ(12345, object_ids.begin()->source());
|
| + EXPECT_EQ("12345", object_ids.begin()->name());
|
| +
|
| + // Expect unregistration to occur.
|
| + manager_->UnregisterInvalidator();
|
| + object_ids =
|
| + invalidation_service.invalidator_registrar().GetAllRegisteredIds();
|
| + EXPECT_TRUE(object_ids.empty());
|
| +}
|
| +
|
| } // namespace
|
| } // namespace policy
|
|
|