summaryrefslogtreecommitdiffstats
path: root/chromium/net/quic/quic_server_id_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/quic/quic_server_id_test.cc')
-rw-r--r--chromium/net/quic/quic_server_id_test.cc319
1 files changed, 319 insertions, 0 deletions
diff --git a/chromium/net/quic/quic_server_id_test.cc b/chromium/net/quic/quic_server_id_test.cc
new file mode 100644
index 00000000000..4a9c0f3cd80
--- /dev/null
+++ b/chromium/net/quic/quic_server_id_test.cc
@@ -0,0 +1,319 @@
+// Copyright 2014 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 "net/quic/quic_server_id.h"
+
+#include "testing/gtest/include/gtest/gtest.h"
+
+using std::string;
+
+namespace net {
+
+namespace {
+
+TEST(QuicServerIdTest, ToString) {
+ HostPortPair google_host_port_pair("google.com", 10);
+
+ QuicServerId google_http_server_id(google_host_port_pair, false,
+ PRIVACY_MODE_DISABLED);
+ string google_http_server_id_str = google_http_server_id.ToString();
+ EXPECT_EQ("http://google.com:10", google_http_server_id_str);
+
+ QuicServerId google_https_server_id(google_host_port_pair, true,
+ PRIVACY_MODE_DISABLED);
+ string google_https_server_id_str = google_https_server_id.ToString();
+ EXPECT_EQ("https://google.com:10", google_https_server_id_str);
+
+ QuicServerId private_http_server_id(google_host_port_pair, false,
+ PRIVACY_MODE_ENABLED);
+ string private_http_server_id_str = private_http_server_id.ToString();
+ EXPECT_EQ("http://google.com:10/private", private_http_server_id_str);
+
+ QuicServerId private_https_server_id(google_host_port_pair, true,
+ PRIVACY_MODE_ENABLED);
+ string private_https_server_id_str = private_https_server_id.ToString();
+ EXPECT_EQ("https://google.com:10/private", private_https_server_id_str);
+}
+
+TEST(QuicServerIdTest, LessThan) {
+ QuicServerId a_10_http(HostPortPair("a.com", 10), false,
+ PRIVACY_MODE_DISABLED);
+ QuicServerId a_10_https(HostPortPair("a.com", 10), true,
+ PRIVACY_MODE_DISABLED);
+ QuicServerId a_11_http(HostPortPair("a.com", 11), false,
+ PRIVACY_MODE_DISABLED);
+ QuicServerId a_11_https(HostPortPair("a.com", 11), true,
+ PRIVACY_MODE_DISABLED);
+ QuicServerId b_10_http(HostPortPair("b.com", 10), false,
+ PRIVACY_MODE_DISABLED);
+ QuicServerId b_10_https(HostPortPair("b.com", 10), true,
+ PRIVACY_MODE_DISABLED);
+ QuicServerId b_11_http(HostPortPair("b.com", 11), false,
+ PRIVACY_MODE_DISABLED);
+ QuicServerId b_11_https(HostPortPair("b.com", 11), true,
+ PRIVACY_MODE_DISABLED);
+
+ QuicServerId a_10_http_private(HostPortPair("a.com", 10), false,
+ PRIVACY_MODE_ENABLED);
+ QuicServerId a_10_https_private(HostPortPair("a.com", 10), true,
+ PRIVACY_MODE_ENABLED);
+ QuicServerId a_11_http_private(HostPortPair("a.com", 11), false,
+ PRIVACY_MODE_ENABLED);
+ QuicServerId a_11_https_private(HostPortPair("a.com", 11), true,
+ PRIVACY_MODE_ENABLED);
+ QuicServerId b_10_http_private(HostPortPair("b.com", 10), false,
+ PRIVACY_MODE_ENABLED);
+ QuicServerId b_10_https_private(HostPortPair("b.com", 10), true,
+ PRIVACY_MODE_ENABLED);
+ QuicServerId b_11_http_private(HostPortPair("b.com", 11), false,
+ PRIVACY_MODE_ENABLED);
+ QuicServerId b_11_https_private(HostPortPair("b.com", 11), true,
+ PRIVACY_MODE_ENABLED);
+
+ // Test combinations of host, port, https and privacy being same on left and
+ // right side of less than.
+ EXPECT_FALSE(a_10_http < a_10_http);
+ EXPECT_TRUE(a_10_http < a_10_https);
+ EXPECT_FALSE(a_10_https < a_10_http);
+ EXPECT_FALSE(a_10_https < a_10_https);
+
+ EXPECT_TRUE(a_10_http < a_10_http_private);
+ EXPECT_TRUE(a_10_http < a_10_https_private);
+ EXPECT_FALSE(a_10_https < a_10_http_private);
+ EXPECT_TRUE(a_10_https < a_10_https_private);
+
+ EXPECT_FALSE(a_10_http_private < a_10_http);
+ EXPECT_TRUE(a_10_http_private < a_10_https);
+ EXPECT_FALSE(a_10_https_private < a_10_http);
+ EXPECT_FALSE(a_10_https_private < a_10_https);
+
+ EXPECT_FALSE(a_10_http_private < a_10_http_private);
+ EXPECT_TRUE(a_10_http_private < a_10_https_private);
+ EXPECT_FALSE(a_10_https_private < a_10_http_private);
+ EXPECT_FALSE(a_10_https_private < a_10_https_private);
+
+ // Test with either host, port or https being different on left and right side
+ // of less than.
+ PrivacyMode left_privacy;
+ PrivacyMode right_privacy;
+ for (int i = 0; i < 4; i++) {
+ switch (i) {
+ case 0:
+ left_privacy = PRIVACY_MODE_DISABLED;
+ right_privacy = PRIVACY_MODE_DISABLED;
+ break;
+ case 1:
+ left_privacy = PRIVACY_MODE_DISABLED;
+ right_privacy = PRIVACY_MODE_ENABLED;
+ break;
+ case 2:
+ left_privacy = PRIVACY_MODE_ENABLED;
+ right_privacy = PRIVACY_MODE_DISABLED;
+ break;
+ case 3:
+ left_privacy = PRIVACY_MODE_ENABLED;
+ right_privacy = PRIVACY_MODE_ENABLED;
+ break;
+ }
+ QuicServerId a_10_http_left_private(HostPortPair("a.com", 10), false,
+ left_privacy);
+ QuicServerId a_10_http_right_private(HostPortPair("a.com", 10), false,
+ right_privacy);
+ QuicServerId a_10_https_left_private(HostPortPair("a.com", 10), true,
+ left_privacy);
+ QuicServerId a_10_https_right_private(HostPortPair("a.com", 10), true,
+ right_privacy);
+ QuicServerId a_11_http_left_private(HostPortPair("a.com", 11), false,
+ left_privacy);
+ QuicServerId a_11_http_right_private(HostPortPair("a.com", 11), false,
+ right_privacy);
+ QuicServerId a_11_https_left_private(HostPortPair("a.com", 11), true,
+ left_privacy);
+ QuicServerId a_11_https_right_private(HostPortPair("a.com", 11), true,
+ right_privacy);
+
+ QuicServerId b_10_http_left_private(HostPortPair("b.com", 10), false,
+ left_privacy);
+ QuicServerId b_10_http_right_private(HostPortPair("b.com", 10), false,
+ right_privacy);
+ QuicServerId b_10_https_left_private(HostPortPair("b.com", 10), true,
+ left_privacy);
+ QuicServerId b_10_https_right_private(HostPortPair("b.com", 10), true,
+ right_privacy);
+ QuicServerId b_11_http_left_private(HostPortPair("b.com", 11), false,
+ left_privacy);
+ QuicServerId b_11_http_right_private(HostPortPair("b.com", 11), false,
+ right_privacy);
+ QuicServerId b_11_https_left_private(HostPortPair("b.com", 11), true,
+ left_privacy);
+ QuicServerId b_11_https_right_private(HostPortPair("b.com", 11), true,
+ right_privacy);
+
+ EXPECT_TRUE(a_10_http_left_private < a_11_http_right_private);
+ EXPECT_TRUE(a_10_http_left_private < a_11_https_right_private);
+ EXPECT_TRUE(a_10_https_left_private < a_11_http_right_private);
+ EXPECT_TRUE(a_10_https_left_private < a_11_https_right_private);
+
+ EXPECT_TRUE(a_10_http_left_private < b_10_http_right_private);
+ EXPECT_TRUE(a_10_http_left_private < b_10_https_right_private);
+ EXPECT_TRUE(a_10_https_left_private < b_10_http_right_private);
+ EXPECT_TRUE(a_10_https_left_private < b_10_https_right_private);
+
+ EXPECT_TRUE(a_10_http_left_private < b_11_http_right_private);
+ EXPECT_TRUE(a_10_http_left_private < b_11_https_right_private);
+ EXPECT_TRUE(a_10_https_left_private < b_11_http_right_private);
+ EXPECT_TRUE(a_10_https_left_private < b_11_https_right_private);
+
+ EXPECT_FALSE(a_11_http_left_private < a_10_http_right_private);
+ EXPECT_FALSE(a_11_http_left_private < a_10_https_right_private);
+ EXPECT_FALSE(a_11_https_left_private < a_10_http_right_private);
+ EXPECT_FALSE(a_11_https_left_private < a_10_https_right_private);
+
+ EXPECT_FALSE(a_11_http_left_private < b_10_http_right_private);
+ EXPECT_FALSE(a_11_http_left_private < b_10_https_right_private);
+ EXPECT_FALSE(a_11_https_left_private < b_10_http_right_private);
+ EXPECT_FALSE(a_11_https_left_private < b_10_https_right_private);
+
+ EXPECT_TRUE(a_11_http_left_private < b_11_http_right_private);
+ EXPECT_TRUE(a_11_http_left_private < b_11_https_right_private);
+ EXPECT_TRUE(a_11_https_left_private < b_11_http_right_private);
+ EXPECT_TRUE(a_11_https_left_private < b_11_https_right_private);
+
+ EXPECT_FALSE(b_10_http_left_private < a_10_http_right_private);
+ EXPECT_FALSE(b_10_http_left_private < a_10_https_right_private);
+ EXPECT_FALSE(b_10_https_left_private < a_10_http_right_private);
+ EXPECT_FALSE(b_10_https_left_private < a_10_https_right_private);
+
+ EXPECT_TRUE(b_10_http_left_private < a_11_http_right_private);
+ EXPECT_TRUE(b_10_http_left_private < a_11_https_right_private);
+ EXPECT_TRUE(b_10_https_left_private < a_11_http_right_private);
+ EXPECT_TRUE(b_10_https_left_private < a_11_https_right_private);
+
+ EXPECT_TRUE(b_10_http_left_private < b_11_http_right_private);
+ EXPECT_TRUE(b_10_http_left_private < b_11_https_right_private);
+ EXPECT_TRUE(b_10_https_left_private < b_11_http_right_private);
+ EXPECT_TRUE(b_10_https_left_private < b_11_https_right_private);
+
+ EXPECT_FALSE(b_11_http_left_private < a_10_http_right_private);
+ EXPECT_FALSE(b_11_http_left_private < a_10_https_right_private);
+ EXPECT_FALSE(b_11_https_left_private < a_10_http_right_private);
+ EXPECT_FALSE(b_11_https_left_private < a_10_https_right_private);
+
+ EXPECT_FALSE(b_11_http_left_private < a_11_http_right_private);
+ EXPECT_FALSE(b_11_http_left_private < a_11_https_right_private);
+ EXPECT_FALSE(b_11_https_left_private < a_11_http_right_private);
+ EXPECT_FALSE(b_11_https_left_private < a_11_https_right_private);
+
+ EXPECT_FALSE(b_11_http_left_private < b_10_http_right_private);
+ EXPECT_FALSE(b_11_http_left_private < b_10_https_right_private);
+ EXPECT_FALSE(b_11_https_left_private < b_10_http_right_private);
+ EXPECT_FALSE(b_11_https_left_private < b_10_https_right_private);
+ }
+}
+
+TEST(QuicServerIdTest, Equals) {
+ PrivacyMode left_privacy;
+ PrivacyMode right_privacy;
+ for (int i = 0; i < 2; i++) {
+ switch (i) {
+ case 0:
+ left_privacy = PRIVACY_MODE_DISABLED;
+ right_privacy = PRIVACY_MODE_DISABLED;
+ break;
+ case 1:
+ left_privacy = PRIVACY_MODE_ENABLED;
+ right_privacy = PRIVACY_MODE_ENABLED;
+ break;
+ }
+ QuicServerId a_10_http_right_private(HostPortPair("a.com", 10), false,
+ right_privacy);
+ QuicServerId a_10_https_right_private(HostPortPair("a.com", 10), true,
+ right_privacy);
+ QuicServerId a_11_http_right_private(HostPortPair("a.com", 11), false,
+ right_privacy);
+ QuicServerId a_11_https_right_private(HostPortPair("a.com", 11), true,
+ right_privacy);
+ QuicServerId b_10_http_right_private(HostPortPair("b.com", 10), false,
+ right_privacy);
+ QuicServerId b_10_https_right_private(HostPortPair("b.com", 10), true,
+ right_privacy);
+ QuicServerId b_11_http_right_private(HostPortPair("b.com", 11), false,
+ right_privacy);
+ QuicServerId b_11_https_right_private(HostPortPair("b.com", 11), true,
+ right_privacy);
+
+ QuicServerId new_a_10_http_left_private(HostPortPair("a.com", 10), false,
+ left_privacy);
+ QuicServerId new_a_10_https_left_private(HostPortPair("a.com", 10), true,
+ left_privacy);
+ QuicServerId new_a_11_http_left_private(HostPortPair("a.com", 11), false,
+ left_privacy);
+ QuicServerId new_a_11_https_left_private(HostPortPair("a.com", 11), true,
+ left_privacy);
+ QuicServerId new_b_10_http_left_private(HostPortPair("b.com", 10), false,
+ left_privacy);
+ QuicServerId new_b_10_https_left_private(HostPortPair("b.com", 10), true,
+ left_privacy);
+ QuicServerId new_b_11_http_left_private(HostPortPair("b.com", 11), false,
+ left_privacy);
+ QuicServerId new_b_11_https_left_private(HostPortPair("b.com", 11), true,
+ left_privacy);
+
+ EXPECT_EQ(new_a_10_http_left_private, a_10_http_right_private);
+ EXPECT_EQ(new_a_10_https_left_private, a_10_https_right_private);
+ EXPECT_EQ(new_a_11_http_left_private, a_11_http_right_private);
+ EXPECT_EQ(new_a_11_https_left_private, a_11_https_right_private);
+ EXPECT_EQ(new_b_10_http_left_private, b_10_http_right_private);
+ EXPECT_EQ(new_b_10_https_left_private, b_10_https_right_private);
+ EXPECT_EQ(new_b_11_http_left_private, b_11_http_right_private);
+ EXPECT_EQ(new_b_11_https_left_private, b_11_https_right_private);
+ }
+
+ for (int i = 0; i < 2; i++) {
+ switch (i) {
+ case 0:
+ right_privacy = PRIVACY_MODE_DISABLED;
+ break;
+ case 1:
+ right_privacy = PRIVACY_MODE_ENABLED;
+ break;
+ }
+ QuicServerId a_10_http_right_private(HostPortPair("a.com", 10), false,
+ right_privacy);
+ QuicServerId a_10_https_right_private(HostPortPair("a.com", 10), true,
+ right_privacy);
+ QuicServerId a_11_http_right_private(HostPortPair("a.com", 11), false,
+ right_privacy);
+ QuicServerId a_11_https_right_private(HostPortPair("a.com", 11), true,
+ right_privacy);
+ QuicServerId b_10_http_right_private(HostPortPair("b.com", 10), false,
+ right_privacy);
+ QuicServerId b_10_https_right_private(HostPortPair("b.com", 10), true,
+ right_privacy);
+ QuicServerId b_11_http_right_private(HostPortPair("b.com", 11), false,
+ right_privacy);
+ QuicServerId b_11_https_right_private(HostPortPair("b.com", 11), true,
+ right_privacy);
+
+ QuicServerId new_a_10_http_left_private(HostPortPair("a.com", 10), false,
+ PRIVACY_MODE_DISABLED);
+
+ EXPECT_FALSE(new_a_10_http_left_private == a_10_https_right_private);
+ EXPECT_FALSE(new_a_10_http_left_private == a_11_http_right_private);
+ EXPECT_FALSE(new_a_10_http_left_private == b_10_http_right_private);
+ EXPECT_FALSE(new_a_10_http_left_private == a_11_https_right_private);
+ EXPECT_FALSE(new_a_10_http_left_private == b_10_https_right_private);
+ EXPECT_FALSE(new_a_10_http_left_private == b_11_http_right_private);
+ EXPECT_FALSE(new_a_10_http_left_private == b_11_https_right_private);
+ }
+ QuicServerId a_10_http_private(HostPortPair("a.com", 10), false,
+ PRIVACY_MODE_ENABLED);
+ QuicServerId new_a_10_http_no_private(HostPortPair("a.com", 10), false,
+ PRIVACY_MODE_DISABLED);
+ EXPECT_FALSE(new_a_10_http_no_private == a_10_http_private);
+}
+
+} // namespace
+
+} // namespace net