diff options
author | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-06 11:38:11 +0000 |
---|---|---|
committer | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-06 11:38:11 +0000 |
commit | 09ba959014a49bfe1952862c1831329a630c87e9 (patch) | |
tree | f840a6c343f5c77334b15d42a93db5416fb3065e /chrome/browser/policy/configuration_policy_pref_store_unittest.cc | |
parent | 961e12eb10708d04bef9a78e8665cb0198d8faf6 (diff) | |
download | chromium_src-09ba959014a49bfe1952862c1831329a630c87e9.zip chromium_src-09ba959014a49bfe1952862c1831329a630c87e9.tar.gz chromium_src-09ba959014a49bfe1952862c1831329a630c87e9.tar.bz2 |
Add constants for preferences and policies related to the Default Search Provider. Add code to read these new policies into prefs. Add code to enable monitoring change to these preferences.
BUG=49306
TEST=ConfigurationPolicyPrefStoreTest.* and ConfigurationPolicyProviderWinTest.*
Review URL: http://codereview.chromium.org/3363005
Patch from Jean-Luc Brouillet <jeanluc@google.com>.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58630 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/policy/configuration_policy_pref_store_unittest.cc')
-rw-r--r-- | chrome/browser/policy/configuration_policy_pref_store_unittest.cc | 244 |
1 files changed, 230 insertions, 14 deletions
diff --git a/chrome/browser/policy/configuration_policy_pref_store_unittest.cc b/chrome/browser/policy/configuration_policy_pref_store_unittest.cc index 1b9dca3..dd816905 100644 --- a/chrome/browser/policy/configuration_policy_pref_store_unittest.cc +++ b/chrome/browser/policy/configuration_policy_pref_store_unittest.cc @@ -201,6 +201,21 @@ TEST_F(ConfigurationPolicyPrefStoreTest, TestPolicyRestoreOnStartup) { ConfigurationPolicyPrefStore::kPolicyURLsToRestoreOnStartup); } +TEST_F(ConfigurationPolicyPrefStoreTest, TestPolicyDefaultSearchProvider) { + TestStringPolicy(prefs::kDefaultSearchProviderName, + ConfigurationPolicyPrefStore::kPolicyDefaultSearchProviderName); + TestStringPolicy(prefs::kDefaultSearchProviderKeyword, + ConfigurationPolicyPrefStore::kPolicyDefaultSearchProviderKeyword); + TestStringPolicy(prefs::kDefaultSearchProviderSearchURL, + ConfigurationPolicyPrefStore::kPolicyDefaultSearchProviderSearchURL); + TestStringPolicy(prefs::kDefaultSearchProviderSuggestURL, + ConfigurationPolicyPrefStore::kPolicyDefaultSearchProviderSuggestURL); + TestStringPolicy(prefs::kDefaultSearchProviderIconURL, + ConfigurationPolicyPrefStore::kPolicyDefaultSearchProviderIconURL); + TestStringPolicy(prefs::kDefaultSearchProviderEncodings, + ConfigurationPolicyPrefStore::kPolicyDefaultSearchProviderEncodings); +} + TEST_F(ConfigurationPolicyPrefStoreTest, TestPolicyAlternateErrorPagesEnabled) { TestBooleanPolicy(prefs::kAlternateErrorPagesEnabled, ConfigurationPolicyStore::kPolicyAlternateErrorPagesEnabled); @@ -247,8 +262,7 @@ TEST_F(ConfigurationPolicyPrefStoreTest, TestSettingProxyBypassList) { } TEST_F(ConfigurationPolicyPrefStoreTest, TestSettingsProxyConfig) { - FilePath unused_path(FILE_PATH_LITERAL("foo.exe")); - CommandLine command_line(unused_path); + CommandLine command_line(CommandLine::ARGUMENTS_ONLY); command_line.AppendSwitch(switches::kNoProxyServer); command_line.AppendSwitch(switches::kProxyAutoDetect); command_line.AppendSwitchASCII(switches::kProxyPacUrl, @@ -281,8 +295,7 @@ TEST_F(ConfigurationPolicyPrefStoreTest, TestSettingsProxyConfig) { } TEST_F(ConfigurationPolicyPrefStoreTest, TestPolicyProxyConfigManualOverride) { - FilePath unused_path(FILE_PATH_LITERAL("foo.exe")); - CommandLine command_line(unused_path); + CommandLine command_line(CommandLine::ARGUMENTS_ONLY); command_line.AppendSwitch(switches::kNoProxyServer); command_line.AppendSwitch(switches::kProxyAutoDetect); command_line.AppendSwitchASCII(switches::kProxyPacUrl, @@ -321,8 +334,7 @@ TEST_F(ConfigurationPolicyPrefStoreTest, TestPolicyProxyConfigManualOverride) { } TEST_F(ConfigurationPolicyPrefStoreTest, TestPolicyProxyConfigNoProxy) { - FilePath unused_path(FILE_PATH_LITERAL("foo.exe")); - CommandLine command_line(unused_path); + CommandLine command_line(CommandLine::ARGUMENTS_ONLY); scoped_ptr<MockConfigurationPolicyProvider> provider( new MockConfigurationPolicyProvider()); provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyBypassList, @@ -350,8 +362,7 @@ TEST_F(ConfigurationPolicyPrefStoreTest, TestPolicyProxyConfigNoProxy) { TEST_F(ConfigurationPolicyPrefStoreTest, TestPolicyProxyConfigNoProxyReversedApplyOrder) { - FilePath unused_path(FILE_PATH_LITERAL("foo.exe")); - CommandLine command_line(unused_path); + CommandLine command_line(CommandLine::ARGUMENTS_ONLY); scoped_ptr<MockConfigurationPolicyProvider> provider( new MockConfigurationPolicyProvider()); provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyServerMode, @@ -378,8 +389,7 @@ TEST_F(ConfigurationPolicyPrefStoreTest, } TEST_F(ConfigurationPolicyPrefStoreTest, TestPolicyProxyConfigAutoDetect) { - FilePath unused_path(FILE_PATH_LITERAL("foo.exe")); - CommandLine command_line(unused_path); + CommandLine command_line(CommandLine::ARGUMENTS_ONLY); scoped_ptr<MockConfigurationPolicyProvider> provider( new MockConfigurationPolicyProvider()); provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyBypassList, @@ -409,8 +419,7 @@ TEST_F(ConfigurationPolicyPrefStoreTest, TestPolicyProxyConfigAutoDetect) { } TEST_F(ConfigurationPolicyPrefStoreTest, TestPolicyProxyConfiguseSystem) { - FilePath unused_path(FILE_PATH_LITERAL("foo.exe")); - CommandLine command_line(unused_path); + CommandLine command_line(CommandLine::ARGUMENTS_ONLY); scoped_ptr<MockConfigurationPolicyProvider> provider( new MockConfigurationPolicyProvider()); provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyBypassList, @@ -437,8 +446,7 @@ TEST_F(ConfigurationPolicyPrefStoreTest, TestPolicyProxyConfiguseSystem) { TEST_F(ConfigurationPolicyPrefStoreTest, TestPolicyProxyConfiguseSystemReversedApplyOrder) { - FilePath unused_path(FILE_PATH_LITERAL("foo.exe")); - CommandLine command_line(unused_path); + CommandLine command_line(CommandLine::ARGUMENTS_ONLY); scoped_ptr<MockConfigurationPolicyProvider> provider( new MockConfigurationPolicyProvider()); provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyServerMode, @@ -462,3 +470,211 @@ TEST_F(ConfigurationPolicyPrefStoreTest, EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); } + +// Checks that if the policy for default search is valid, i.e. there's a +// search URL, that all the elements have been given proper defaults. +TEST_F(ConfigurationPolicyPrefStoreTest, MinimallyDefinedDefaultSearchPolicy) { + const char* search_url = "http://test.com/search?t={searchTerms}"; + scoped_ptr<MockConfigurationPolicyProvider> provider( + new MockConfigurationPolicyProvider()); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderSearchURL, + Value::CreateStringValue(search_url)); + + CommandLine command_line(CommandLine::ARGUMENTS_ONLY); + ConfigurationPolicyPrefStore store(&command_line, provider.get()); + + EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); + DictionaryValue* prefs = store.prefs(); + + std::string string_result; + EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL, + &string_result)); + EXPECT_EQ(string_result, search_url); + + EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderName, + &string_result)); + EXPECT_EQ(string_result, "test.com"); + + EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderKeyword, + &string_result)); + EXPECT_EQ(string_result, ""); + + EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderSuggestURL, + &string_result)); + EXPECT_EQ(string_result, ""); + + EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderIconURL, + &string_result)); + EXPECT_EQ(string_result, ""); + + EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderEncodings, + &string_result)); + EXPECT_EQ(string_result, ""); +} + +// Checks that for a fully defined search policy, all elements have been +// read properly. +TEST_F(ConfigurationPolicyPrefStoreTest, FullyDefinedDefaultSearchPolicy) { + const char* search_url = "http://test.com/search?t={searchTerms}"; + const char* suggest_url = "http://test.com/sugg?={searchTerms}"; + const char* icon_url = "http://test.com/icon.jpg"; + const char* name = "MyName"; + const char* keyword = "MyKeyword"; + const char* encodings = "UTF-16;UTF-8"; + scoped_ptr<MockConfigurationPolicyProvider> provider( + new MockConfigurationPolicyProvider()); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderSearchURL, + Value::CreateStringValue(search_url)); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderSearchURL, + Value::CreateStringValue(search_url)); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderName, + Value::CreateStringValue(name)); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderKeyword, + Value::CreateStringValue(keyword)); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderSuggestURL, + Value::CreateStringValue(suggest_url)); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderIconURL, + Value::CreateStringValue(icon_url)); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderEncodings, + Value::CreateStringValue(encodings)); + + CommandLine command_line(CommandLine::ARGUMENTS_ONLY); + ConfigurationPolicyPrefStore store(&command_line, provider.get()); + EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); + DictionaryValue* prefs = store.prefs(); + + std::string result_search_url; + EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL, + &result_search_url)); + EXPECT_EQ(result_search_url, search_url); + + std::string result_name; + EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderName, + &result_name)); + EXPECT_EQ(result_name, name); + + std::string result_keyword; + EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderKeyword, + &result_keyword)); + EXPECT_EQ(result_keyword, keyword); + + std::string result_suggest_url; + EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderSuggestURL, + &result_suggest_url)); + EXPECT_EQ(result_suggest_url, suggest_url); + + std::string result_icon_url; + EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderIconURL, + &result_icon_url)); + EXPECT_EQ(result_icon_url, icon_url); + + std::string result_encodings; + EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderEncodings, + &result_encodings)); + EXPECT_EQ(result_encodings, encodings); +} + +// Checks that if the default search policy is missing, that no elements of the +// default search policy will be present. +TEST_F(ConfigurationPolicyPrefStoreTest, MissingUrlDefaultSearchPolicy) { + const char* suggest_url = "http://test.com/sugg?t={searchTerms}"; + const char* icon_url = "http://test.com/icon.jpg"; + const char* name = "MyName"; + const char* keyword = "MyKeyword"; + const char* encodings = "UTF-16;UTF-8"; + scoped_ptr<MockConfigurationPolicyProvider> provider( + new MockConfigurationPolicyProvider()); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderName, + Value::CreateStringValue(name)); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderKeyword, + Value::CreateStringValue(keyword)); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderSuggestURL, + Value::CreateStringValue(suggest_url)); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderIconURL, + Value::CreateStringValue(icon_url)); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderEncodings, + Value::CreateStringValue(encodings)); + + CommandLine command_line(CommandLine::ARGUMENTS_ONLY); + ConfigurationPolicyPrefStore store(&command_line, provider.get()); + EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); + DictionaryValue* prefs = store.prefs(); + + std::string string_result; + EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL, + &string_result)); + EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderName, + &string_result)); + EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderKeyword, + &string_result)); + EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSuggestURL, + &string_result)); + EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderIconURL, + &string_result)); + EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderEncodings, + &string_result)); +} + +// Checks that if the default search policy is invalid, that no elements of the +// default search policy will be present. +TEST_F(ConfigurationPolicyPrefStoreTest, InvalidDefaultSearchPolicy) { + const char* bad_search_url = "http://test.com/noSearchTerms"; + const char* suggest_url = "http://test.com/sugg?t={searchTerms}"; + const char* icon_url = "http://test.com/icon.jpg"; + const char* name = "MyName"; + const char* keyword = "MyKeyword"; + const char* encodings = "UTF-16;UTF-8"; + scoped_ptr<MockConfigurationPolicyProvider> provider( + new MockConfigurationPolicyProvider()); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderSearchURL, + Value::CreateStringValue(bad_search_url)); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderName, + Value::CreateStringValue(name)); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderKeyword, + Value::CreateStringValue(keyword)); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderSuggestURL, + Value::CreateStringValue(suggest_url)); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderIconURL, + Value::CreateStringValue(icon_url)); + provider->AddPolicy( + ConfigurationPolicyStore::kPolicyDefaultSearchProviderEncodings, + Value::CreateStringValue(encodings)); + + CommandLine command_line(CommandLine::ARGUMENTS_ONLY); + ConfigurationPolicyPrefStore store(&command_line, provider.get()); + EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); + DictionaryValue* prefs = store.prefs(); + + std::string string_result; + EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL, + &string_result)); + EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderName, + &string_result)); + EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderKeyword, + &string_result)); + EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSuggestURL, + &string_result)); + EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderIconURL, + &string_result)); + EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderEncodings, + &string_result)); +} + |