OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/http/http_server_properties_impl.h" | 5 #include "net/http/http_server_properties_impl.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 | 66 |
67 HttpServerPropertiesImpl impl_; | 67 HttpServerPropertiesImpl impl_; |
68 }; | 68 }; |
69 | 69 |
70 typedef HttpServerPropertiesImplTest SpdyServerPropertiesTest; | 70 typedef HttpServerPropertiesImplTest SpdyServerPropertiesTest; |
71 | 71 |
72 TEST_F(SpdyServerPropertiesTest, Initialize) { | 72 TEST_F(SpdyServerPropertiesTest, Initialize) { |
73 HostPortPair spdy_server_google("www.google.com", 443); | 73 HostPortPair spdy_server_google("www.google.com", 443); |
74 std::string spdy_server_g = spdy_server_google.ToString(); | 74 std::string spdy_server_g = spdy_server_google.ToString(); |
75 | 75 |
| 76 HostPortPair spdy_server_photos("photos.google.com", 443); |
| 77 std::string spdy_server_p = spdy_server_photos.ToString(); |
| 78 |
76 HostPortPair spdy_server_docs("docs.google.com", 443); | 79 HostPortPair spdy_server_docs("docs.google.com", 443); |
77 std::string spdy_server_d = spdy_server_docs.ToString(); | 80 std::string spdy_server_d = spdy_server_docs.ToString(); |
78 | 81 |
| 82 HostPortPair spdy_server_mail("mail.google.com", 443); |
| 83 std::string spdy_server_m = spdy_server_mail.ToString(); |
| 84 |
79 // Check by initializing NULL spdy servers. | 85 // Check by initializing NULL spdy servers. |
80 impl_.InitializeSpdyServers(NULL, true); | 86 impl_.InitializeSpdyServers(NULL, true); |
81 EXPECT_FALSE(impl_.SupportsRequestPriority(spdy_server_google)); | 87 EXPECT_FALSE(impl_.SupportsRequestPriority(spdy_server_google)); |
82 | 88 |
83 // Check by initializing empty spdy servers. | 89 // Check by initializing empty spdy servers. |
84 std::vector<std::string> spdy_servers; | 90 std::vector<std::string> spdy_servers; |
85 impl_.InitializeSpdyServers(&spdy_servers, true); | 91 impl_.InitializeSpdyServers(&spdy_servers, true); |
86 EXPECT_FALSE(impl_.SupportsRequestPriority(spdy_server_google)); | 92 EXPECT_FALSE(impl_.SupportsRequestPriority(spdy_server_google)); |
87 | 93 |
88 // Check by initializing with www.google.com:443 spdy server. | 94 // Check by initializing www.google.com:443 and photos.google.com:443 as spdy |
| 95 // servers. |
89 std::vector<std::string> spdy_servers1; | 96 std::vector<std::string> spdy_servers1; |
90 spdy_servers1.push_back(spdy_server_g); | 97 spdy_servers1.push_back(spdy_server_g); // Will be 0th index. |
| 98 spdy_servers1.push_back(spdy_server_p); // Will be 1st index. |
91 impl_.InitializeSpdyServers(&spdy_servers1, true); | 99 impl_.InitializeSpdyServers(&spdy_servers1, true); |
| 100 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_photos)); |
92 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_google)); | 101 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_google)); |
93 | 102 |
94 // Check by initializing with www.google.com:443 and docs.google.com:443 spdy | |
95 // servers. | |
96 std::vector<std::string> spdy_servers2; | |
97 spdy_servers2.push_back(spdy_server_g); | |
98 spdy_servers2.push_back(spdy_server_d); | |
99 impl_.InitializeSpdyServers(&spdy_servers2, true); | |
100 | |
101 // Verify spdy_server_g and spdy_server_d are in the list in the same order. | 103 // Verify spdy_server_g and spdy_server_d are in the list in the same order. |
102 base::ListValue spdy_server_list; | 104 base::ListValue spdy_server_list; |
103 impl_.GetSpdyServerList(&spdy_server_list, kMaxSupportsSpdyServerHosts); | 105 impl_.GetSpdyServerList(&spdy_server_list, kMaxSupportsSpdyServerHosts); |
104 EXPECT_EQ(2U, spdy_server_list.GetSize()); | 106 EXPECT_EQ(2U, spdy_server_list.GetSize()); |
105 std::string string_value_g; | 107 std::string string_value_g; |
| 108 ASSERT_TRUE(spdy_server_list.GetString(0, &string_value_g)); // 0th index. |
| 109 ASSERT_EQ(spdy_server_g, string_value_g); |
| 110 std::string string_value_p; |
| 111 ASSERT_TRUE(spdy_server_list.GetString(1, &string_value_p)); // 1st index. |
| 112 ASSERT_EQ(spdy_server_p, string_value_p); |
| 113 |
| 114 // Check by initializing mail.google.com:443 and docs.google.com:443 as spdy |
| 115 // servers. |
| 116 std::vector<std::string> spdy_servers2; |
| 117 spdy_servers2.push_back(spdy_server_m); // Will be 2nd index. |
| 118 spdy_servers2.push_back(spdy_server_d); // Will be 3rd index. |
| 119 impl_.InitializeSpdyServers(&spdy_servers2, true); |
| 120 |
| 121 // Verify all the servers are in the list in the same order. |
| 122 spdy_server_list.Clear(); |
| 123 impl_.GetSpdyServerList(&spdy_server_list, kMaxSupportsSpdyServerHosts); |
| 124 EXPECT_EQ(4U, spdy_server_list.GetSize()); |
| 125 |
106 ASSERT_TRUE(spdy_server_list.GetString(0, &string_value_g)); | 126 ASSERT_TRUE(spdy_server_list.GetString(0, &string_value_g)); |
107 ASSERT_EQ(spdy_server_g, string_value_g); | 127 ASSERT_EQ(spdy_server_g, string_value_g); |
| 128 ASSERT_TRUE(spdy_server_list.GetString(1, &string_value_p)); |
| 129 ASSERT_EQ(spdy_server_p, string_value_p); |
| 130 std::string string_value_m; |
| 131 ASSERT_TRUE(spdy_server_list.GetString(2, &string_value_m)); |
| 132 ASSERT_EQ(spdy_server_m, string_value_m); |
108 std::string string_value_d; | 133 std::string string_value_d; |
109 ASSERT_TRUE(spdy_server_list.GetString(1, &string_value_d)); | 134 ASSERT_TRUE(spdy_server_list.GetString(3, &string_value_d)); |
110 ASSERT_EQ(spdy_server_d, string_value_d); | 135 ASSERT_EQ(spdy_server_d, string_value_d); |
| 136 |
| 137 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_docs)); |
| 138 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_mail)); |
| 139 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_photos)); |
111 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_google)); | 140 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_google)); |
| 141 |
| 142 // Verify new data that is being initialized overwrites what is already in the |
| 143 // memory and also verify the recency list order. |
| 144 // |
| 145 // Change supports SPDY value for photos and mails servers and order of |
| 146 // initalization shouldn't matter. |
| 147 std::vector<std::string> spdy_servers3; |
| 148 spdy_servers3.push_back(spdy_server_m); |
| 149 spdy_servers3.push_back(spdy_server_p); |
| 150 impl_.InitializeSpdyServers(&spdy_servers3, false); |
| 151 |
| 152 // Verify the entries are in the same order. |
| 153 ASSERT_TRUE(spdy_server_list.GetString(0, &string_value_g)); |
| 154 ASSERT_EQ(spdy_server_g, string_value_g); |
| 155 ASSERT_TRUE(spdy_server_list.GetString(1, &string_value_p)); |
| 156 ASSERT_EQ(spdy_server_p, string_value_p); |
| 157 ASSERT_TRUE(spdy_server_list.GetString(2, &string_value_m)); |
| 158 ASSERT_EQ(spdy_server_m, string_value_m); |
| 159 ASSERT_TRUE(spdy_server_list.GetString(3, &string_value_d)); |
| 160 ASSERT_EQ(spdy_server_d, string_value_d); |
| 161 |
| 162 // Verify photos and mail servers don't support SPDY and other servers support |
| 163 // SPDY. |
112 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_docs)); | 164 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_docs)); |
| 165 EXPECT_FALSE(impl_.SupportsRequestPriority(spdy_server_mail)); |
| 166 EXPECT_FALSE(impl_.SupportsRequestPriority(spdy_server_photos)); |
| 167 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_google)); |
113 } | 168 } |
114 | 169 |
115 TEST_F(SpdyServerPropertiesTest, SupportsRequestPriorityTest) { | 170 TEST_F(SpdyServerPropertiesTest, SupportsRequestPriorityTest) { |
116 HostPortPair spdy_server_empty(std::string(), 443); | 171 HostPortPair spdy_server_empty(std::string(), 443); |
117 EXPECT_FALSE(impl_.SupportsRequestPriority(spdy_server_empty)); | 172 EXPECT_FALSE(impl_.SupportsRequestPriority(spdy_server_empty)); |
118 | 173 |
119 // Add www.google.com:443 as supporting SPDY. | 174 // Add www.google.com:443 as supporting SPDY. |
120 HostPortPair spdy_server_google("www.google.com", 443); | 175 HostPortPair spdy_server_google("www.google.com", 443); |
121 impl_.SetSupportsSpdy(spdy_server_google, true); | 176 impl_.SetSupportsSpdy(spdy_server_google, true); |
122 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_google)); | 177 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_google)); |
(...skipping 1111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1234 EXPECT_EQ(quic_server_info1, *(impl_.GetQuicServerInfo(quic_server_id))); | 1289 EXPECT_EQ(quic_server_info1, *(impl_.GetQuicServerInfo(quic_server_id))); |
1235 | 1290 |
1236 impl_.Clear(); | 1291 impl_.Clear(); |
1237 EXPECT_EQ(0u, impl_.quic_server_info_map().size()); | 1292 EXPECT_EQ(0u, impl_.quic_server_info_map().size()); |
1238 EXPECT_EQ(nullptr, impl_.GetQuicServerInfo(quic_server_id)); | 1293 EXPECT_EQ(nullptr, impl_.GetQuicServerInfo(quic_server_id)); |
1239 } | 1294 } |
1240 | 1295 |
1241 } // namespace | 1296 } // namespace |
1242 | 1297 |
1243 } // namespace net | 1298 } // namespace net |
OLD | NEW |