| Index: net/proxy/proxy_server_unittest.cc
|
| diff --git a/net/proxy/proxy_server_unittest.cc b/net/proxy/proxy_server_unittest.cc
|
| deleted file mode 100644
|
| index 0a596e47c73d5d5b94fef179904e9b46a7039154..0000000000000000000000000000000000000000
|
| --- a/net/proxy/proxy_server_unittest.cc
|
| +++ /dev/null
|
| @@ -1,368 +0,0 @@
|
| -// Copyright (c) 2010 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.
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "net/proxy/proxy_server.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -// Test the creation of ProxyServer using ProxyServer::FromURI, which parses
|
| -// inputs of the form [<scheme>"://"]<host>[":"<port>]. Verify that each part
|
| -// was labelled correctly, and the accessors all give the right data.
|
| -TEST(ProxyServerTest, FromURI) {
|
| - const struct {
|
| - const char* const input_uri;
|
| - const char* const expected_uri;
|
| - net::ProxyServer::Scheme expected_scheme;
|
| - const char* const expected_host;
|
| - int expected_port;
|
| - const char* const expected_pac_string;
|
| - } tests[] = {
|
| - // HTTP proxy URIs:
|
| - {
|
| - "foopy:10", // No scheme.
|
| - "foopy:10",
|
| - net::ProxyServer::SCHEME_HTTP,
|
| - "foopy",
|
| - 10,
|
| - "PROXY foopy:10"
|
| - },
|
| - {
|
| - "http://foopy", // No port.
|
| - "foopy:80",
|
| - net::ProxyServer::SCHEME_HTTP,
|
| - "foopy",
|
| - 80,
|
| - "PROXY foopy:80"
|
| - },
|
| - {
|
| - "http://foopy:10",
|
| - "foopy:10",
|
| - net::ProxyServer::SCHEME_HTTP,
|
| - "foopy",
|
| - 10,
|
| - "PROXY foopy:10"
|
| - },
|
| -
|
| - // IPv6 HTTP proxy URIs:
|
| - {
|
| - "[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:10", // No scheme.
|
| - "[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:10",
|
| - net::ProxyServer::SCHEME_HTTP,
|
| - "FEDC:BA98:7654:3210:FEDC:BA98:7654:3210",
|
| - 10,
|
| - "PROXY [FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:10"
|
| - },
|
| - {
|
| - "http://[3ffe:2a00:100:7031::1]", // No port.
|
| - "[3ffe:2a00:100:7031::1]:80",
|
| - net::ProxyServer::SCHEME_HTTP,
|
| - "3ffe:2a00:100:7031::1",
|
| - 80,
|
| - "PROXY [3ffe:2a00:100:7031::1]:80"
|
| - },
|
| - {
|
| - "http://[::192.9.5.5]",
|
| - "[::192.9.5.5]:80",
|
| - net::ProxyServer::SCHEME_HTTP,
|
| - "::192.9.5.5",
|
| - 80,
|
| - "PROXY [::192.9.5.5]:80"
|
| - },
|
| - {
|
| - "http://[::FFFF:129.144.52.38]:80",
|
| - "[::FFFF:129.144.52.38]:80",
|
| - net::ProxyServer::SCHEME_HTTP,
|
| - "::FFFF:129.144.52.38",
|
| - 80,
|
| - "PROXY [::FFFF:129.144.52.38]:80"
|
| - },
|
| -
|
| - // SOCKS4 proxy URIs:
|
| - {
|
| - "socks4://foopy", // No port.
|
| - "socks4://foopy:1080",
|
| - net::ProxyServer::SCHEME_SOCKS4,
|
| - "foopy",
|
| - 1080,
|
| - "SOCKS foopy:1080"
|
| - },
|
| - {
|
| - "socks4://foopy:10",
|
| - "socks4://foopy:10",
|
| - net::ProxyServer::SCHEME_SOCKS4,
|
| - "foopy",
|
| - 10,
|
| - "SOCKS foopy:10"
|
| - },
|
| -
|
| - // SOCKS5 proxy URIs
|
| - {
|
| - "socks5://foopy", // No port.
|
| - "socks5://foopy:1080",
|
| - net::ProxyServer::SCHEME_SOCKS5,
|
| - "foopy",
|
| - 1080,
|
| - "SOCKS5 foopy:1080"
|
| - },
|
| - {
|
| - "socks5://foopy:10",
|
| - "socks5://foopy:10",
|
| - net::ProxyServer::SCHEME_SOCKS5,
|
| - "foopy",
|
| - 10,
|
| - "SOCKS5 foopy:10"
|
| - },
|
| -
|
| - // SOCKS proxy URIs (should default to SOCKS5)
|
| - {
|
| - "socks://foopy", // No port.
|
| - "socks5://foopy:1080",
|
| - net::ProxyServer::SCHEME_SOCKS5,
|
| - "foopy",
|
| - 1080,
|
| - "SOCKS5 foopy:1080"
|
| - },
|
| - {
|
| - "socks://foopy:10",
|
| - "socks5://foopy:10",
|
| - net::ProxyServer::SCHEME_SOCKS5,
|
| - "foopy",
|
| - 10,
|
| - "SOCKS5 foopy:10"
|
| - },
|
| -
|
| - // HTTPS proxy URIs:
|
| - {
|
| - "https://foopy", // No port
|
| - "https://foopy:443",
|
| - net::ProxyServer::SCHEME_HTTPS,
|
| - "foopy",
|
| - 443,
|
| - "HTTPS foopy:443"
|
| - },
|
| - {
|
| - "https://foopy:10", // Non-standard port
|
| - "https://foopy:10",
|
| - net::ProxyServer::SCHEME_HTTPS,
|
| - "foopy",
|
| - 10,
|
| - "HTTPS foopy:10"
|
| - },
|
| - {
|
| - "https://1.2.3.4:10", // IP Address
|
| - "https://1.2.3.4:10",
|
| - net::ProxyServer::SCHEME_HTTPS,
|
| - "1.2.3.4",
|
| - 10,
|
| - "HTTPS 1.2.3.4:10"
|
| - },
|
| - };
|
| -
|
| - for (size_t i = 0; i < arraysize(tests); ++i) {
|
| - net::ProxyServer uri =
|
| - net::ProxyServer::FromURI(tests[i].input_uri,
|
| - net::ProxyServer::SCHEME_HTTP);
|
| - EXPECT_TRUE(uri.is_valid());
|
| - EXPECT_FALSE(uri.is_direct());
|
| - EXPECT_EQ(tests[i].expected_uri, uri.ToURI());
|
| - EXPECT_EQ(tests[i].expected_scheme, uri.scheme());
|
| - EXPECT_EQ(tests[i].expected_host, uri.host_port_pair().host());
|
| - EXPECT_EQ(tests[i].expected_port, uri.host_port_pair().port());
|
| - EXPECT_EQ(tests[i].expected_pac_string, uri.ToPacString());
|
| - }
|
| -}
|
| -
|
| -TEST(ProxyServerTest, DefaultConstructor) {
|
| - net::ProxyServer proxy_server;
|
| - EXPECT_FALSE(proxy_server.is_valid());
|
| -}
|
| -
|
| -// Test parsing of the special URI form "direct://". Analagous to the "DIRECT"
|
| -// entry in a PAC result.
|
| -TEST(ProxyServerTest, Direct) {
|
| - net::ProxyServer uri =
|
| - net::ProxyServer::FromURI("direct://", net::ProxyServer::SCHEME_HTTP);
|
| - EXPECT_TRUE(uri.is_valid());
|
| - EXPECT_TRUE(uri.is_direct());
|
| - EXPECT_EQ("direct://", uri.ToURI());
|
| - EXPECT_EQ("DIRECT", uri.ToPacString());
|
| -}
|
| -
|
| -// Test parsing some invalid inputs.
|
| -TEST(ProxyServerTest, Invalid) {
|
| - const char* const tests[] = {
|
| - "",
|
| - " ",
|
| - "dddf:", // not a valid port
|
| - "dddd:d", // not a valid port
|
| - "http://", // not a valid host/port.
|
| - "direct://xyz", // direct is not allowed a host/port.
|
| - "http:/", // ambiguous, but will fail because of bad port.
|
| - "http:", // ambiguous, but will fail because of bad port.
|
| - };
|
| -
|
| - for (size_t i = 0; i < arraysize(tests); ++i) {
|
| - net::ProxyServer uri =
|
| - net::ProxyServer::FromURI(tests[i], net::ProxyServer::SCHEME_HTTP);
|
| - EXPECT_FALSE(uri.is_valid());
|
| - EXPECT_FALSE(uri.is_direct());
|
| - EXPECT_FALSE(uri.is_http());
|
| - EXPECT_FALSE(uri.is_socks());
|
| - }
|
| -}
|
| -
|
| -// Test that LWS (SP | HT) is disregarded from the ends.
|
| -TEST(ProxyServerTest, Whitespace) {
|
| - const char* const tests[] = {
|
| - " foopy:80",
|
| - "foopy:80 \t",
|
| - " \tfoopy:80 ",
|
| - };
|
| -
|
| - for (size_t i = 0; i < arraysize(tests); ++i) {
|
| - net::ProxyServer uri =
|
| - net::ProxyServer::FromURI(tests[i], net::ProxyServer::SCHEME_HTTP);
|
| - EXPECT_EQ("foopy:80", uri.ToURI());
|
| - }
|
| -}
|
| -
|
| -// Test parsing a ProxyServer from a PAC representation.
|
| -TEST(ProxyServerTest, FromPACString) {
|
| - const struct {
|
| - const char* const input_pac;
|
| - const char* const expected_uri;
|
| - } tests[] = {
|
| - {
|
| - "PROXY foopy:10",
|
| - "foopy:10",
|
| - },
|
| - {
|
| - " PROXY foopy:10 ",
|
| - "foopy:10",
|
| - },
|
| - {
|
| - "pRoXy foopy:10",
|
| - "foopy:10",
|
| - },
|
| - {
|
| - "PROXY foopy", // No port.
|
| - "foopy:80",
|
| - },
|
| - {
|
| - "socks foopy",
|
| - "socks4://foopy:1080",
|
| - },
|
| - {
|
| - "socks4 foopy",
|
| - "socks4://foopy:1080",
|
| - },
|
| - {
|
| - "socks5 foopy",
|
| - "socks5://foopy:1080",
|
| - },
|
| - {
|
| - "socks5 foopy:11",
|
| - "socks5://foopy:11",
|
| - },
|
| - {
|
| - " direct ",
|
| - "direct://",
|
| - },
|
| - {
|
| - "https foopy",
|
| - "https://foopy:443",
|
| - },
|
| - {
|
| - "https foopy:10",
|
| - "https://foopy:10",
|
| - },
|
| - };
|
| -
|
| - for (size_t i = 0; i < arraysize(tests); ++i) {
|
| - net::ProxyServer uri = net::ProxyServer::FromPacString(tests[i].input_pac);
|
| - EXPECT_TRUE(uri.is_valid());
|
| - EXPECT_EQ(tests[i].expected_uri, uri.ToURI());
|
| - }
|
| -}
|
| -
|
| -// Test parsing a ProxyServer from an invalid PAC representation.
|
| -TEST(ProxyServerTest, FromPACStringInvalid) {
|
| - const char* const tests[] = {
|
| - "PROXY", // missing host/port.
|
| - "HTTPS", // missing host/port.
|
| - "SOCKS", // missing host/port.
|
| - "DIRECT foopy:10", // direct cannot have host/port.
|
| - };
|
| -
|
| - for (size_t i = 0; i < arraysize(tests); ++i) {
|
| - net::ProxyServer uri = net::ProxyServer::FromPacString(tests[i]);
|
| - EXPECT_FALSE(uri.is_valid());
|
| - }
|
| -}
|
| -
|
| -TEST(ProxyServerTest, ComparatorAndEquality) {
|
| - struct {
|
| - // Inputs.
|
| - const char* const server1;
|
| - const char* const server2;
|
| -
|
| - // Expectation.
|
| - // -1 means server1 is less than server2
|
| - // 0 means server1 equals server2
|
| - // 1 means server1 is greater than server2
|
| - int expected_comparison;
|
| - } tests[] = {
|
| - { // Equal.
|
| - "foo:11",
|
| - "http://foo:11",
|
| - 0
|
| - },
|
| - { // Port is different.
|
| - "foo:333",
|
| - "foo:444",
|
| - -1
|
| - },
|
| - { // Host is different.
|
| - "foo:33",
|
| - "bar:33",
|
| - 1
|
| - },
|
| - { // Scheme is different.
|
| - "socks4://foo:33",
|
| - "http://foo:33",
|
| - 1
|
| - },
|
| - };
|
| -
|
| - for (size_t i = 0; i < arraysize(tests); ++i) {
|
| - // Parse the expected inputs to ProxyServer instances.
|
| - const net::ProxyServer server1 =
|
| - net::ProxyServer::FromURI(
|
| - tests[i].server1, net::ProxyServer::SCHEME_HTTP);
|
| -
|
| - const net::ProxyServer server2 =
|
| - net::ProxyServer::FromURI(
|
| - tests[i].server2, net::ProxyServer::SCHEME_HTTP);
|
| -
|
| - switch (tests[i].expected_comparison) {
|
| - case -1:
|
| - EXPECT_TRUE(server1 < server2);
|
| - EXPECT_FALSE(server2 < server1);
|
| - EXPECT_FALSE(server2 == server1);
|
| - break;
|
| - case 0:
|
| - EXPECT_FALSE(server1 < server2);
|
| - EXPECT_FALSE(server2 < server1);
|
| - EXPECT_TRUE(server2 == server1);
|
| - break;
|
| - case 1:
|
| - EXPECT_FALSE(server1 < server2);
|
| - EXPECT_TRUE(server2 < server1);
|
| - EXPECT_FALSE(server2 == server1);
|
| - break;
|
| - default:
|
| - FAIL() << "Invalid expectation. Can be only -1, 0, 1";
|
| - }
|
| - }
|
| -}
|
|
|