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

Unified Diff: chrome/browser/extensions/extension_proxy_api_helpers_unittest.cc

Issue 9690006: Move Proxy Settings API from chrome/browser/extensions to chrome/browser/eextensions/api/proxy (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 9 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/extensions/extension_proxy_api_helpers_unittest.cc
diff --git a/chrome/browser/extensions/extension_proxy_api_helpers_unittest.cc b/chrome/browser/extensions/extension_proxy_api_helpers_unittest.cc
deleted file mode 100644
index 8a5ac4636d105fc59711aee6a0516dd0a5902522..0000000000000000000000000000000000000000
--- a/chrome/browser/extensions/extension_proxy_api_helpers_unittest.cc
+++ /dev/null
@@ -1,362 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Unit tests for helper functions for the Chrome Extensions Proxy Settings API.
-
-#include "base/memory/scoped_ptr.h"
-#include "base/values.h"
-#include "chrome/browser/extensions/extension_proxy_api_constants.h"
-#include "chrome/browser/extensions/extension_proxy_api_helpers.h"
-#include "chrome/browser/prefs/proxy_config_dictionary.h"
-#include "chrome/browser/prefs/proxy_prefs.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace keys = extension_proxy_api_constants;
-
-namespace {
-
-const char kSamplePacScript[] = "test";
-const char kSamplePacScriptAsDataUrl[] =
- "data:application/x-ns-proxy-autoconfig;base64,dGVzdA==";
-const char kSamplePacScriptUrl[] = "http://wpad/wpad.dat";
-
-// Helper function to create a ProxyServer dictionary as defined in the
-// extension API.
-DictionaryValue* CreateTestProxyServerDict(const std::string& host) {
- DictionaryValue* dict = new DictionaryValue;
- dict->SetString(keys::kProxyConfigRuleHost, host);
- return dict;
-}
-
-// Helper function to create a ProxyServer dictionary as defined in the
-// extension API.
-DictionaryValue* CreateTestProxyServerDict(const std::string& schema,
- const std::string& host,
- int port) {
- DictionaryValue* dict = new DictionaryValue;
- dict->SetString(keys::kProxyConfigRuleScheme, schema);
- dict->SetString(keys::kProxyConfigRuleHost, host);
- dict->SetInteger(keys::kProxyConfigRulePort, port);
- return dict;
-}
-
-} // namespace
-
-namespace extension_proxy_api_helpers {
-
-TEST(ExtensionProxyApiHelpers, CreateDataURLFromPACScript) {
- std::string out;
- ASSERT_TRUE(CreateDataURLFromPACScript(kSamplePacScript, &out));
- EXPECT_EQ(kSamplePacScriptAsDataUrl, out);
-}
-
-TEST(ExtensionProxyApiHelpers, CreatePACScriptFromDataURL) {
- std::string out;
- ASSERT_TRUE(CreatePACScriptFromDataURL(kSamplePacScriptAsDataUrl, &out));
- EXPECT_EQ(kSamplePacScript, out);
-
- EXPECT_FALSE(CreatePACScriptFromDataURL("http://www.google.com", &out));
-}
-
-TEST(ExtensionProxyApiHelpers, GetProxyModeFromExtensionPref) {
- DictionaryValue proxy_config;
- ProxyPrefs::ProxyMode mode;
- std::string error;
- bool bad_message = false;
-
- // Test positive case.
- proxy_config.SetString(
- keys::kProxyConfigMode,
- ProxyPrefs::ProxyModeToString(ProxyPrefs::MODE_DIRECT));
- ASSERT_TRUE(GetProxyModeFromExtensionPref(&proxy_config, &mode, &error,
- &bad_message));
- EXPECT_EQ(ProxyPrefs::MODE_DIRECT, mode);
- EXPECT_EQ(std::string(), error);
- EXPECT_FALSE(bad_message);
-
- // Test negative case.
- proxy_config.SetString(keys::kProxyConfigMode, "foobar");
- EXPECT_FALSE(GetProxyModeFromExtensionPref(&proxy_config, &mode, &error,
- &bad_message));
- EXPECT_TRUE(bad_message);
-
- // Do not test |error|, as an invalid enumeration value is considered an
- // internal error. It should be filtered by the extensions API.
-}
-
-TEST(ExtensionProxyApiHelpers, GetPacUrlFromExtensionPref) {
- std::string out;
- std::string error;
- bool bad_message = false;
-
- DictionaryValue proxy_config;
- proxy_config.SetString(
- keys::kProxyConfigMode,
- ProxyPrefs::ProxyModeToString(ProxyPrefs::MODE_PAC_SCRIPT));
-
- // Currently we are still missing a PAC script entry.
- // This is silently ignored.
- ASSERT_TRUE(GetPacUrlFromExtensionPref(&proxy_config, &out, &error,
- &bad_message));
- EXPECT_EQ(std::string(), out);
- EXPECT_EQ(std::string(), error);
- EXPECT_FALSE(bad_message);
-
- // Set up a pac script.
- DictionaryValue* pacScriptDict = new DictionaryValue;
- pacScriptDict->SetString(keys::kProxyConfigPacScriptUrl, kSamplePacScriptUrl);
- proxy_config.Set(keys::kProxyConfigPacScript, pacScriptDict);
-
- ASSERT_TRUE(GetPacUrlFromExtensionPref(&proxy_config, &out, &error,
- &bad_message));
- EXPECT_EQ(kSamplePacScriptUrl, out);
- EXPECT_EQ(std::string(), error);
- EXPECT_FALSE(bad_message);
-}
-
-TEST(ExtensionProxyApiHelpers, GetPacDataFromExtensionPref) {
- std::string out;
- std::string error;
- bool bad_message = false;
-
- DictionaryValue proxy_config;
- proxy_config.SetString(
- keys::kProxyConfigMode,
- ProxyPrefs::ProxyModeToString(ProxyPrefs::MODE_PAC_SCRIPT));
-
- // Currently we are still missing a PAC data entry. This is silently ignored.
- ASSERT_TRUE(GetPacDataFromExtensionPref(&proxy_config, &out, &error,
- &bad_message));
- EXPECT_EQ(std::string(), out);
- EXPECT_EQ(std::string(), error);
- EXPECT_FALSE(bad_message);
-
- // Set up a PAC script.
- DictionaryValue* pacScriptDict = new DictionaryValue;
- pacScriptDict->SetString(keys::kProxyConfigPacScriptData, kSamplePacScript);
- proxy_config.Set(keys::kProxyConfigPacScript, pacScriptDict);
-
- ASSERT_TRUE(GetPacDataFromExtensionPref(&proxy_config, &out, &error,
- &bad_message));
- EXPECT_EQ(kSamplePacScript, out);
- EXPECT_EQ(std::string(), error);
- EXPECT_FALSE(bad_message);
-}
-
-TEST(ExtensionProxyApiHelpers, GetProxyRulesStringFromExtensionPref) {
- std::string out;
- std::string error;
- bool bad_message = false;
-
- DictionaryValue proxy_config;
- proxy_config.SetString(
- keys::kProxyConfigMode,
- ProxyPrefs::ProxyModeToString(ProxyPrefs::MODE_FIXED_SERVERS));
-
- // Currently we are still missing a proxy config entry.
- // This is silently ignored.
- ASSERT_TRUE(
- GetProxyRulesStringFromExtensionPref(&proxy_config, &out, &error,
- &bad_message));
- EXPECT_EQ(std::string(), out);
- EXPECT_EQ(std::string(), error);
-
- DictionaryValue* proxy_rules = new DictionaryValue;
- proxy_rules->Set(keys::field_name[1], CreateTestProxyServerDict("proxy1"));
- proxy_rules->Set(keys::field_name[2], CreateTestProxyServerDict("proxy2"));
- proxy_config.Set(keys::kProxyConfigRules, proxy_rules);
-
- ASSERT_TRUE(
- GetProxyRulesStringFromExtensionPref(&proxy_config, &out, &error,
- &bad_message));
- EXPECT_EQ("http=proxy1:80;https=proxy2:80", out);
- EXPECT_EQ(std::string(), error);
- EXPECT_FALSE(bad_message);
-}
-
-TEST(ExtensionProxyApiHelpers, GetBypassListFromExtensionPref) {
- std::string out;
- std::string error;
- bool bad_message = false;
-
- DictionaryValue proxy_config;
- proxy_config.SetString(
- keys::kProxyConfigMode,
- ProxyPrefs::ProxyModeToString(ProxyPrefs::MODE_FIXED_SERVERS));
-
- // Currently we are still missing a proxy config entry.
- // This is silently ignored.
- ASSERT_TRUE(
- GetBypassListFromExtensionPref(&proxy_config, &out, &error,
- &bad_message));
- EXPECT_EQ(std::string(), out);
- EXPECT_EQ(std::string(), error);
- EXPECT_FALSE(bad_message);
-
- ListValue* bypass_list = new ListValue;
- bypass_list->Append(Value::CreateStringValue("host1"));
- bypass_list->Append(Value::CreateStringValue("host2"));
- DictionaryValue* proxy_rules = new DictionaryValue;
- proxy_rules->Set(keys::kProxyConfigBypassList, bypass_list);
- proxy_config.Set(keys::kProxyConfigRules, proxy_rules);
-
- ASSERT_TRUE(
- GetBypassListFromExtensionPref(&proxy_config, &out, &error,
- &bad_message));
- EXPECT_EQ("host1,host2", out);
- EXPECT_EQ(std::string(), error);
- EXPECT_FALSE(bad_message);
-}
-
-TEST(ExtensionProxyApiHelpers, CreateProxyConfigDict) {
- std::string error;
- scoped_ptr<DictionaryValue> exp_direct(ProxyConfigDictionary::CreateDirect());
- scoped_ptr<DictionaryValue> out_direct(
- CreateProxyConfigDict(ProxyPrefs::MODE_DIRECT, false, "", "", "", "",
- &error));
- EXPECT_TRUE(Value::Equals(exp_direct.get(), out_direct.get()));
-
- scoped_ptr<DictionaryValue> exp_auto(
- ProxyConfigDictionary::CreateAutoDetect());
- scoped_ptr<DictionaryValue> out_auto(
- CreateProxyConfigDict(ProxyPrefs::MODE_AUTO_DETECT, false, "", "", "", "",
- &error));
- EXPECT_TRUE(Value::Equals(exp_auto.get(), out_auto.get()));
-
- scoped_ptr<DictionaryValue> exp_pac_url(
- ProxyConfigDictionary::CreatePacScript(kSamplePacScriptUrl, false));
- scoped_ptr<DictionaryValue> out_pac_url(
- CreateProxyConfigDict(ProxyPrefs::MODE_PAC_SCRIPT, false,
- kSamplePacScriptUrl, "", "", "", &error));
- EXPECT_TRUE(Value::Equals(exp_pac_url.get(), out_pac_url.get()));
-
- scoped_ptr<DictionaryValue> exp_pac_data(
- ProxyConfigDictionary::CreatePacScript(kSamplePacScriptAsDataUrl, false));
- scoped_ptr<DictionaryValue> out_pac_data(
- CreateProxyConfigDict(ProxyPrefs::MODE_PAC_SCRIPT, false, "",
- kSamplePacScript, "", "", &error));
- EXPECT_TRUE(Value::Equals(exp_pac_data.get(), out_pac_data.get()));
-
- scoped_ptr<DictionaryValue> exp_fixed(
- ProxyConfigDictionary::CreateFixedServers("foo:80", "localhost"));
- scoped_ptr<DictionaryValue> out_fixed(
- CreateProxyConfigDict(ProxyPrefs::MODE_FIXED_SERVERS, false, "", "",
- "foo:80", "localhost", &error));
- EXPECT_TRUE(Value::Equals(exp_fixed.get(), out_fixed.get()));
-
- scoped_ptr<DictionaryValue> exp_system(ProxyConfigDictionary::CreateSystem());
- scoped_ptr<DictionaryValue> out_system(
- CreateProxyConfigDict(ProxyPrefs::MODE_SYSTEM, false, "", "", "", "",
- &error));
- EXPECT_TRUE(Value::Equals(exp_system.get(), out_system.get()));
-
- // Neither of them should have set an error.
- EXPECT_EQ(std::string(), error);
-}
-
-TEST(ExtensionProxyApiHelpers, GetProxyServer) {
- DictionaryValue proxy_server_dict;
- net::ProxyServer created;
- std::string error;
- bool bad_message = false;
-
- // Test simplest case, no schema nor port specified --> defaults are used.
- proxy_server_dict.SetString(keys::kProxyConfigRuleHost, "proxy_server");
- ASSERT_TRUE(
- GetProxyServer(&proxy_server_dict, net::ProxyServer::SCHEME_HTTP,
- &created, &error, &bad_message));
- EXPECT_EQ("PROXY proxy_server:80", created.ToPacString());
- EXPECT_FALSE(bad_message);
-
- // Test complete case.
- proxy_server_dict.SetString(keys::kProxyConfigRuleScheme, "socks4");
- proxy_server_dict.SetInteger(keys::kProxyConfigRulePort, 1234);
- ASSERT_TRUE(
- GetProxyServer(&proxy_server_dict, net::ProxyServer::SCHEME_HTTP,
- &created, &error, &bad_message));
- EXPECT_EQ("SOCKS proxy_server:1234", created.ToPacString());
- EXPECT_FALSE(bad_message);
-}
-
-TEST(ExtensionProxyApiHelpers, JoinUrlList) {
- bool bad_message = false;
- ListValue list;
- list.Append(Value::CreateStringValue("s1"));
- list.Append(Value::CreateStringValue("s2"));
- list.Append(Value::CreateStringValue("s3"));
-
- std::string out;
- std::string error;
- ASSERT_TRUE(JoinUrlList(&list, ";", &out, &error, &bad_message));
- EXPECT_EQ("s1;s2;s3", out);
- EXPECT_FALSE(bad_message);
-}
-
-// This tests CreateProxyServerDict as well.
-TEST(ExtensionProxyApiHelpers, CreateProxyRulesDict) {
- scoped_ptr<DictionaryValue> browser_pref(
- ProxyConfigDictionary::CreateFixedServers(
- "http=proxy1:80;https=proxy2:80;ftp=proxy3:80;socks=proxy4:80",
- "localhost"));
- ProxyConfigDictionary config(browser_pref.get());
- scoped_ptr<DictionaryValue> extension_pref(CreateProxyRulesDict(config));
- ASSERT_TRUE(extension_pref.get());
-
- scoped_ptr<DictionaryValue> expected(new DictionaryValue);
- expected->Set("proxyForHttp",
- CreateTestProxyServerDict("http", "proxy1", 80));
- expected->Set("proxyForHttps",
- CreateTestProxyServerDict("http", "proxy2", 80));
- expected->Set("proxyForFtp",
- CreateTestProxyServerDict("http", "proxy3", 80));
- expected->Set("fallbackProxy",
- CreateTestProxyServerDict("socks4", "proxy4", 80));
- ListValue* bypass_list = new ListValue;
- bypass_list->Append(Value::CreateStringValue("localhost"));
- expected->Set(keys::kProxyConfigBypassList, bypass_list);
-
- EXPECT_TRUE(Value::Equals(expected.get(), extension_pref.get()));
-}
-
-// Test if a PAC script URL is specified.
-TEST(ExtensionProxyApiHelpers, CreatePacScriptDictWithUrl) {
- scoped_ptr<DictionaryValue> browser_pref(
- ProxyConfigDictionary::CreatePacScript(kSamplePacScriptUrl, false));
- ProxyConfigDictionary config(browser_pref.get());
- scoped_ptr<DictionaryValue> extension_pref(CreatePacScriptDict(config));
- ASSERT_TRUE(extension_pref.get());
-
- scoped_ptr<DictionaryValue> expected(new DictionaryValue);
- expected->SetString(keys::kProxyConfigPacScriptUrl, kSamplePacScriptUrl);
- expected->SetBoolean(keys::kProxyConfigPacScriptMandatory, false);
-
- EXPECT_TRUE(Value::Equals(expected.get(), extension_pref.get()));
-}
-
-// Test if a PAC script is encoded in a data URL.
-TEST(ExtensionProxyApiHelpers, CreatePacScriptDictWidthData) {
- scoped_ptr<DictionaryValue> browser_pref(
- ProxyConfigDictionary::CreatePacScript(kSamplePacScriptAsDataUrl, false));
- ProxyConfigDictionary config(browser_pref.get());
- scoped_ptr<DictionaryValue> extension_pref(CreatePacScriptDict(config));
- ASSERT_TRUE(extension_pref.get());
-
- scoped_ptr<DictionaryValue> expected(new DictionaryValue);
- expected->SetString(keys::kProxyConfigPacScriptData, kSamplePacScript);
- expected->SetBoolean(keys::kProxyConfigPacScriptMandatory, false);
-
- EXPECT_TRUE(Value::Equals(expected.get(), extension_pref.get()));
-}
-
-TEST(ExtensionProxyApiHelpers, TokenizeToStringList) {
- ListValue expected;
- expected.Append(Value::CreateStringValue("s1"));
- expected.Append(Value::CreateStringValue("s2"));
- expected.Append(Value::CreateStringValue("s3"));
-
- scoped_ptr<ListValue> out(TokenizeToStringList("s1;s2;s3", ";"));
- EXPECT_TRUE(Value::Equals(&expected, out.get()));
-}
-
-} // namespace extension_proxy_api_helpers
« no previous file with comments | « chrome/browser/extensions/extension_proxy_api_helpers.cc ('k') | chrome/browser/extensions/extension_proxy_apitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698