| Index: chrome/browser/policy/configuration_policy_provider_win_unittest.cc
|
| diff --git a/chrome/browser/policy/configuration_policy_provider_win_unittest.cc b/chrome/browser/policy/configuration_policy_provider_win_unittest.cc
|
| index 39c4dce706de9a9f2edde7193984d821269b3413..78c6f7b77c398165bd3d53bedfab413b509c5946 100644
|
| --- a/chrome/browser/policy/configuration_policy_provider_win_unittest.cc
|
| +++ b/chrome/browser/policy/configuration_policy_provider_win_unittest.cc
|
| @@ -3,15 +3,17 @@
|
| // found in the LICENSE file.
|
|
|
| #include <gtest/gtest.h>
|
| -
|
| #include <windows.h>
|
|
|
| +#include "base/message_loop.h"
|
| #include "base/scoped_ptr.h"
|
| #include "base/stl_util-inl.h"
|
| #include "base/string_number_conversions.h"
|
| #include "base/string_piece.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "base/win/registry.h"
|
| +#include "chrome/browser/browser_thread.h"
|
| +#include "chrome/browser/policy/asynchronous_policy_loader.h"
|
| #include "chrome/browser/policy/configuration_policy_pref_store.h"
|
| #include "chrome/browser/policy/configuration_policy_provider_win.h"
|
| #include "chrome/browser/policy/mock_configuration_policy_store.h"
|
| @@ -151,13 +153,16 @@ class ConfigurationPolicyProviderWinTest
|
| scoped_ptr<MockConfigurationPolicyStore> store_;
|
| scoped_ptr<ConfigurationPolicyProviderWin> provider_;
|
|
|
| - private:
|
| // A message loop must be declared and instantiated for these tests,
|
| // because Windows policy provider create WaitableEvents and
|
| // ObjectWatchers that require the tests to have a MessageLoop associated
|
| // with the thread executing the tests.
|
| MessageLoop loop_;
|
|
|
| + private:
|
| + BrowserThread ui_thread_;
|
| + BrowserThread file_thread_;
|
| +
|
| // Keys are created for the lifetime of a test to contain
|
| // the sandboxed HKCU and HKLM hives, respectively.
|
| RegKey temp_hkcu_hive_key_;
|
| @@ -165,7 +170,9 @@ class ConfigurationPolicyProviderWinTest
|
| };
|
|
|
| ConfigurationPolicyProviderWinTest::ConfigurationPolicyProviderWinTest()
|
| - : temp_hklm_hive_key_(HKEY_CURRENT_USER, kUnitTestMachineOverrideSubKey,
|
| + : ui_thread_(BrowserThread::UI, &loop_),
|
| + file_thread_(BrowserThread::FILE, &loop_),
|
| + temp_hklm_hive_key_(HKEY_CURRENT_USER, kUnitTestMachineOverrideSubKey,
|
| KEY_READ),
|
| temp_hkcu_hive_key_(HKEY_CURRENT_USER, kUnitTestUserOverrideSubKey,
|
| KEY_READ) {
|
| @@ -194,6 +201,7 @@ void ConfigurationPolicyProviderWinTest::SetUp() {
|
| void ConfigurationPolicyProviderWinTest::TearDown() {
|
| DeactivateOverrides();
|
| DeleteRegistrySandbox();
|
| + loop_.RunAllPending();
|
| }
|
|
|
| void ConfigurationPolicyProviderWinTest::ActivateOverrides() {
|
| @@ -299,6 +307,8 @@ TEST_P(ConfigurationPolicyProviderWinTest, InvalidValue) {
|
| WriteInvalidValue(HKEY_CURRENT_USER,
|
| GetParam().policy_name(),
|
| GetParam().hkcu_value());
|
| + provider_->loader()->Reload();
|
| + loop_.RunAllPending();
|
| provider_->Provide(store_.get());
|
| EXPECT_TRUE(store_->policy_map().empty());
|
| }
|
| @@ -307,6 +317,8 @@ TEST_P(ConfigurationPolicyProviderWinTest, HKLM) {
|
| WriteValue(HKEY_LOCAL_MACHINE,
|
| GetParam().policy_name(),
|
| GetParam().hklm_value());
|
| + provider_->loader()->Reload();
|
| + loop_.RunAllPending();
|
| provider_->Provide(store_.get());
|
| const Value* value = store_->Get(GetParam().type());
|
| ASSERT_TRUE(value);
|
| @@ -317,6 +329,8 @@ TEST_P(ConfigurationPolicyProviderWinTest, HKCU) {
|
| WriteValue(HKEY_CURRENT_USER,
|
| GetParam().policy_name(),
|
| GetParam().hkcu_value());
|
| + provider_->loader()->Reload();
|
| + loop_.RunAllPending();
|
| provider_->Provide(store_.get());
|
| const Value* value = store_->Get(GetParam().type());
|
| ASSERT_TRUE(value);
|
| @@ -330,6 +344,8 @@ TEST_P(ConfigurationPolicyProviderWinTest, HKLMOverHKCU) {
|
| WriteValue(HKEY_CURRENT_USER,
|
| GetParam().policy_name(),
|
| GetParam().hkcu_value());
|
| + provider_->loader()->Reload();
|
| + loop_.RunAllPending();
|
| provider_->Provide(store_.get());
|
| const Value* value = store_->Get(GetParam().type());
|
| ASSERT_TRUE(value);
|
|
|