diff options
author | joaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-21 19:25:57 +0000 |
---|---|---|
committer | joaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-21 19:25:57 +0000 |
commit | 5fe04589f37e72b352a968a513d7eb55ebfb2614 (patch) | |
tree | 04ca4eff860fedc1106591e37d12ff2c916fe882 /chrome/browser/policy/asynchronous_policy_provider_unittest.cc | |
parent | 968800254096e17272ca8c7c1df219f0c2a64c31 (diff) | |
download | chromium_src-5fe04589f37e72b352a968a513d7eb55ebfb2614.zip chromium_src-5fe04589f37e72b352a968a513d7eb55ebfb2614.tar.gz chromium_src-5fe04589f37e72b352a968a513d7eb55ebfb2614.tar.bz2 |
Added ConfigurationPolicyProvider::RefreshPolicies.
This call has guaranteed behavior regarding notifications of observers, which
can be relied upon to build test infrastructure that sets up policy.
Added the provider as an argument to OnUpdatePolicy.
Added BrowserPolicyConnector::FetchCloudPolicy and ResetCloudPolicy.
TEST=All works as before
Review URL: http://codereview.chromium.org/8586030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110977 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/policy/asynchronous_policy_provider_unittest.cc')
-rw-r--r-- | chrome/browser/policy/asynchronous_policy_provider_unittest.cc | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/chrome/browser/policy/asynchronous_policy_provider_unittest.cc b/chrome/browser/policy/asynchronous_policy_provider_unittest.cc index 95c51ab..bd8c162 100644 --- a/chrome/browser/policy/asynchronous_policy_provider_unittest.cc +++ b/chrome/browser/policy/asynchronous_policy_provider_unittest.cc @@ -6,6 +6,8 @@ #include "chrome/browser/policy/asynchronous_policy_provider.h" #include "chrome/browser/policy/asynchronous_policy_test_base.h" #include "chrome/browser/policy/configuration_policy_pref_store.h" +#include "chrome/browser/policy/configuration_policy_provider.h" +#include "chrome/browser/policy/mock_configuration_policy_provider.h" #include "chrome/browser/policy/policy_map.h" #include "policy/policy_constants.h" #include "testing/gmock/include/gmock/gmock.h" @@ -48,12 +50,26 @@ TEST_F(AsynchronousPolicyTestBase, ProvideAfterRefresh) { EXPECT_CALL(*delegate, Load()).WillOnce(Return(refresh_policies)); AsynchronousPolicyLoader* loader = new AsynchronousPolicyLoader(delegate, 10); AsynchronousPolicyProvider provider(GetChromePolicyDefinitionList(), loader); - loop_.RunAllPending(); - provider.ForceReload(); + + // The original policies have been loaded. PolicyMap policy_map; provider.Provide(&policy_map); + EXPECT_EQ(1U, policy_map.size()); EXPECT_TRUE(policy_map.Get(policy::kPolicySyncDisabled)); + EXPECT_FALSE(policy_map.Get(policy::kPolicyJavascriptEnabled)); + + MockConfigurationPolicyObserver observer; + ConfigurationPolicyObserverRegistrar registrar; + registrar.Init(&provider, &observer); + EXPECT_CALL(observer, OnUpdatePolicy(&provider)).Times(1); + provider.RefreshPolicies(); + loop_.RunAllPending(); + // The refreshed policies are now provided. + policy_map.Clear(); + provider.Provide(&policy_map); EXPECT_EQ(1U, policy_map.size()); + EXPECT_FALSE(policy_map.Get(policy::kPolicySyncDisabled)); + EXPECT_TRUE(policy_map.Get(policy::kPolicyJavascriptEnabled)); } } // namespace policy |