summaryrefslogtreecommitdiffstats
path: root/chrome/browser/policy/asynchronous_policy_provider_unittest.cc
diff options
context:
space:
mode:
authorjoaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-21 19:25:57 +0000
committerjoaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-21 19:25:57 +0000
commit5fe04589f37e72b352a968a513d7eb55ebfb2614 (patch)
tree04ca4eff860fedc1106591e37d12ff2c916fe882 /chrome/browser/policy/asynchronous_policy_provider_unittest.cc
parent968800254096e17272ca8c7c1df219f0c2a64c31 (diff)
downloadchromium_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.cc20
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