Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Unified Diff: chrome/browser/policy/network_configuration_updater_unittest.cc

Issue 11667006: Create a list of policy changes before notifying observers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase to ToT Created 7 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/policy/network_configuration_updater_unittest.cc
diff --git a/chrome/browser/policy/network_configuration_updater_unittest.cc b/chrome/browser/policy/network_configuration_updater_unittest.cc
index 404c95727b948ca11b71a00f66966421f90cc63b..ef001bd4a9f5ff869c56ebe771d2783d19d148c8 100644
--- a/chrome/browser/policy/network_configuration_updater_unittest.cc
+++ b/chrome/browser/policy/network_configuration_updater_unittest.cc
@@ -5,6 +5,8 @@
#include "chrome/browser/policy/network_configuration_updater.h"
#include "base/memory/scoped_ptr.h"
+#include "base/message_loop.h"
+#include "base/run_loop.h"
#include "chrome/browser/chromeos/cros/mock_network_library.h"
#include "chrome/browser/policy/mock_configuration_policy_provider.h"
#include "chrome/browser/policy/policy_map.h"
@@ -27,6 +29,8 @@ static const char kFakeONC[] = "{ \"GUID\": \"1234\" }";
class NetworkConfigurationUpdaterTest
: public testing::TestWithParam<const char*>{
+ public:
+ NetworkConfigurationUpdaterTest() : loop_(MessageLoop::TYPE_UI) {}
protected:
virtual void SetUp() OVERRIDE {
EXPECT_CALL(provider_, IsInitializationComplete())
@@ -41,6 +45,12 @@ class NetworkConfigurationUpdaterTest
provider_.Shutdown();
}
+ void UpdateProviderPolicy(const PolicyMap& policy) {
+ provider_.UpdateChromePolicy(policy);
+ base::RunLoop loop;
+ loop.RunUntilIdle();
+ }
+
// Maps configuration policy name to corresponding ONC source.
static chromeos::onc::ONCSource NameToONCSource(
const std::string& name) {
@@ -54,13 +64,14 @@ class NetworkConfigurationUpdaterTest
chromeos::MockNetworkLibrary network_library_;
MockConfigurationPolicyProvider provider_;
scoped_ptr<PolicyServiceImpl> policy_service_;
+ MessageLoop loop_;
};
TEST_P(NetworkConfigurationUpdaterTest, InitialUpdates) {
PolicyMap policy;
policy.Set(GetParam(), POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
Value::CreateStringValue(kFakeONC));
- provider_.UpdateChromePolicy(policy);
+ UpdateProviderPolicy(policy);
EXPECT_CALL(network_library_, AddNetworkProfileObserver(_));
@@ -114,7 +125,7 @@ TEST_P(NetworkConfigurationUpdaterTest, AllowWebTrust) {
PolicyMap policy;
policy.Set(GetParam(), POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
Value::CreateStringValue(kFakeONC));
- provider_.UpdateChromePolicy(policy);
+ UpdateProviderPolicy(policy);
Mock::VerifyAndClearExpectations(&network_library_);
EXPECT_CALL(network_library_, RemoveNetworkProfileObserver(_));
@@ -148,7 +159,7 @@ TEST_P(NetworkConfigurationUpdaterTest, PolicyChange) {
PolicyMap policy;
policy.Set(GetParam(), POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
Value::CreateStringValue(kFakeONC));
- provider_.UpdateChromePolicy(policy);
+ UpdateProviderPolicy(policy);
Mock::VerifyAndClearExpectations(&network_library_);
// Another update is expected if the policy goes away. In the current
@@ -164,7 +175,7 @@ TEST_P(NetworkConfigurationUpdaterTest, PolicyChange) {
EXPECT_CALL(network_library_, RemoveNetworkProfileObserver(_));
policy.Erase(GetParam());
- provider_.UpdateChromePolicy(policy);
+ UpdateProviderPolicy(policy);
}
Mock::VerifyAndClearExpectations(&network_library_);
}

Powered by Google App Engine
This is Rietveld 408576698