| 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 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 181 } else { | 181 } else { |
| 182 ASSERT_EQ(spdy_server_g, string_value_m); | 182 ASSERT_EQ(spdy_server_g, string_value_m); |
| 183 ASSERT_EQ(spdy_server_m, string_value_g); | 183 ASSERT_EQ(spdy_server_m, string_value_g); |
| 184 } | 184 } |
| 185 } | 185 } |
| 186 | 186 |
| 187 typedef HttpServerPropertiesImplTest AlternateProtocolServerPropertiesTest; | 187 typedef HttpServerPropertiesImplTest AlternateProtocolServerPropertiesTest; |
| 188 | 188 |
| 189 TEST_F(AlternateProtocolServerPropertiesTest, Basic) { | 189 TEST_F(AlternateProtocolServerPropertiesTest, Basic) { |
| 190 HostPortPair test_host_port_pair("foo", 80); | 190 HostPortPair test_host_port_pair("foo", 80); |
| 191 EXPECT_FALSE( | 191 EXPECT_FALSE(impl_.HasAlternateProtocol(test_host_port_pair)); |
| 192 impl_.HasAlternateProtocol(test_host_port_pair)); | 192 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_1); |
| 193 impl_.SetAlternateProtocol( | |
| 194 test_host_port_pair, 443, NPN_SPDY_1); | |
| 195 ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair)); | 193 ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair)); |
| 196 const PortAlternateProtocolPair alternate = | 194 const PortAlternateProtocolPair alternate = |
| 197 impl_.GetAlternateProtocol(test_host_port_pair); | 195 impl_.GetAlternateProtocol(test_host_port_pair); |
| 198 EXPECT_EQ(443, alternate.port); | 196 EXPECT_EQ(443, alternate.port); |
| 199 EXPECT_EQ(NPN_SPDY_1, alternate.protocol); | 197 EXPECT_EQ(NPN_SPDY_1, alternate.protocol); |
| 200 | 198 |
| 201 impl_.Clear(); | 199 impl_.Clear(); |
| 202 EXPECT_FALSE(impl_.HasAlternateProtocol(test_host_port_pair)); | 200 EXPECT_FALSE(impl_.HasAlternateProtocol(test_host_port_pair)); |
| 203 } | 201 } |
| 204 | 202 |
| 205 TEST_F(AlternateProtocolServerPropertiesTest, Initialize) { | 203 TEST_F(AlternateProtocolServerPropertiesTest, Initialize) { |
| 206 HostPortPair test_host_port_pair1("foo1", 80); | 204 HostPortPair test_host_port_pair1("foo1", 80); |
| 207 impl_.SetBrokenAlternateProtocol(test_host_port_pair1); | 205 impl_.SetBrokenAlternateProtocol(test_host_port_pair1); |
| 208 HostPortPair test_host_port_pair2("foo2", 80); | 206 HostPortPair test_host_port_pair2("foo2", 80); |
| 209 impl_.SetAlternateProtocol( | 207 impl_.SetAlternateProtocol(test_host_port_pair2, 443, NPN_SPDY_1); |
| 210 test_host_port_pair2, 443, NPN_SPDY_1); | |
| 211 | 208 |
| 212 AlternateProtocolMap alternate_protocol_map; | 209 AlternateProtocolMap alternate_protocol_map; |
| 213 PortAlternateProtocolPair port_alternate_protocol_pair; | 210 PortAlternateProtocolPair port_alternate_protocol_pair; |
| 214 port_alternate_protocol_pair.port = 123; | 211 port_alternate_protocol_pair.port = 123; |
| 215 port_alternate_protocol_pair.protocol = NPN_SPDY_21; | 212 port_alternate_protocol_pair.protocol = NPN_SPDY_21; |
| 216 alternate_protocol_map[test_host_port_pair2] = port_alternate_protocol_pair; | 213 alternate_protocol_map[test_host_port_pair2] = port_alternate_protocol_pair; |
| 217 impl_.InitializeAlternateProtocolServers(&alternate_protocol_map); | 214 impl_.InitializeAlternateProtocolServers(&alternate_protocol_map); |
| 218 | 215 |
| 219 ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair1)); | 216 ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair1)); |
| 220 ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair2)); | 217 ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair2)); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 247 TEST_F(AlternateProtocolServerPropertiesTest, Forced) { | 244 TEST_F(AlternateProtocolServerPropertiesTest, Forced) { |
| 248 // Test forced alternate protocols. | 245 // Test forced alternate protocols. |
| 249 | 246 |
| 250 PortAlternateProtocolPair default_protocol; | 247 PortAlternateProtocolPair default_protocol; |
| 251 default_protocol.port = 1234; | 248 default_protocol.port = 1234; |
| 252 default_protocol.protocol = NPN_SPDY_21; | 249 default_protocol.protocol = NPN_SPDY_21; |
| 253 HttpServerPropertiesImpl::ForceAlternateProtocol(default_protocol); | 250 HttpServerPropertiesImpl::ForceAlternateProtocol(default_protocol); |
| 254 | 251 |
| 255 // Verify the forced protocol. | 252 // Verify the forced protocol. |
| 256 HostPortPair test_host_port_pair("foo", 80); | 253 HostPortPair test_host_port_pair("foo", 80); |
| 257 EXPECT_TRUE( | 254 EXPECT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair)); |
| 258 impl_.HasAlternateProtocol(test_host_port_pair)); | |
| 259 PortAlternateProtocolPair alternate = | 255 PortAlternateProtocolPair alternate = |
| 260 impl_.GetAlternateProtocol(test_host_port_pair); | 256 impl_.GetAlternateProtocol(test_host_port_pair); |
| 261 EXPECT_EQ(default_protocol.port, alternate.port); | 257 EXPECT_EQ(default_protocol.port, alternate.port); |
| 262 EXPECT_EQ(default_protocol.protocol, alternate.protocol); | 258 EXPECT_EQ(default_protocol.protocol, alternate.protocol); |
| 263 | 259 |
| 264 // Verify the real protocol overrides the forced protocol. | 260 // Verify the real protocol overrides the forced protocol. |
| 265 impl_.SetAlternateProtocol( | 261 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_1); |
| 266 test_host_port_pair, 443, NPN_SPDY_1); | |
| 267 ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair)); | 262 ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair)); |
| 268 alternate = impl_.GetAlternateProtocol(test_host_port_pair); | 263 alternate = impl_.GetAlternateProtocol(test_host_port_pair); |
| 269 EXPECT_EQ(443, alternate.port); | 264 EXPECT_EQ(443, alternate.port); |
| 270 EXPECT_EQ(NPN_SPDY_1, alternate.protocol); | 265 EXPECT_EQ(NPN_SPDY_1, alternate.protocol); |
| 271 | 266 |
| 272 // Turn off the static, forced alternate protocol so that tests don't | 267 // Turn off the static, forced alternate protocol so that tests don't |
| 273 // have this state. | 268 // have this state. |
| 274 HttpServerPropertiesImpl::DisableForcedAlternateProtocol(); | 269 HttpServerPropertiesImpl::DisableForcedAlternateProtocol(); |
| 275 | 270 |
| 276 // Verify the forced protocol is off. | 271 // Verify the forced protocol is off. |
| 277 HostPortPair test_host_port_pair2("bar", 80); | 272 HostPortPair test_host_port_pair2("bar", 80); |
| 278 EXPECT_FALSE( | 273 EXPECT_FALSE(impl_.HasAlternateProtocol(test_host_port_pair2)); |
| 279 impl_.HasAlternateProtocol(test_host_port_pair2)); | |
| 280 } | 274 } |
| 281 | 275 |
| 282 typedef HttpServerPropertiesImplTest SpdySettingsServerPropertiesTest; | 276 typedef HttpServerPropertiesImplTest SpdySettingsServerPropertiesTest; |
| 283 | 277 |
| 284 TEST_F(SpdySettingsServerPropertiesTest, Initialize) { | 278 TEST_F(SpdySettingsServerPropertiesTest, Initialize) { |
| 285 HostPortPair spdy_server_google("www.google.com", 443); | 279 HostPortPair spdy_server_google("www.google.com", 443); |
| 286 | 280 |
| 287 // Check by initializing empty spdy settings. | 281 // Check by initializing empty spdy settings. |
| 288 SpdySettingsMap spdy_settings_map; | 282 SpdySettingsMap spdy_settings_map; |
| 289 impl_.InitializeSpdySettingsServers(&spdy_settings_map); | 283 impl_.InitializeSpdySettingsServers(&spdy_settings_map); |
| 290 EXPECT_TRUE(impl_.GetSpdySettings(spdy_server_google).empty()); | 284 EXPECT_TRUE(impl_.GetSpdySettings(spdy_server_google).empty()); |
| 291 | 285 |
| 292 // Check by initializing with www.google.com:443 spdy server settings. | 286 // Check by initializing with www.google.com:443 spdy server settings. |
| 293 SpdySettings spdy_settings; | 287 SettingsMap settings_map; |
| 294 SettingsFlagsAndId spdy_setting(SETTINGS_FLAG_PERSISTED, 1234); | 288 const SpdySettingsIds id = SETTINGS_UPLOAD_BANDWIDTH; |
| 295 spdy_settings.push_back(std::make_pair(spdy_setting, 31337)); | 289 const SpdySettingsFlags flags = SETTINGS_FLAG_PERSISTED; |
| 296 spdy_settings_map[spdy_server_google] = spdy_settings; | 290 const uint32 value = 31337; |
| 291 SettingsFlagsAndValue flags_and_value(flags, value); |
| 292 settings_map[id] = flags_and_value; |
| 293 spdy_settings_map[spdy_server_google] = settings_map; |
| 297 impl_.InitializeSpdySettingsServers(&spdy_settings_map); | 294 impl_.InitializeSpdySettingsServers(&spdy_settings_map); |
| 298 SpdySettings spdy_settings2 = impl_.GetSpdySettings(spdy_server_google); | |
| 299 ASSERT_EQ(1U, spdy_settings2.size()); | |
| 300 SpdySetting spdy_setting2 = spdy_settings2.front(); | |
| 301 SettingsFlagsAndId id2_ret(spdy_setting2.first); | |
| 302 EXPECT_EQ(1234U, id2_ret.id()); | |
| 303 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, id2_ret.flags()); | |
| 304 EXPECT_EQ(31337U, spdy_settings2.front().second); | |
| 305 } | |
| 306 | 295 |
| 307 TEST_F(SpdySettingsServerPropertiesTest, SetSpdySettings) { | 296 const SettingsMap& settings_map2 = impl_.GetSpdySettings(spdy_server_google); |
| 308 HostPortPair spdy_server_empty("", 443); | 297 ASSERT_EQ(1U, settings_map2.size()); |
| 309 SpdySettings spdy_settings0 = impl_.GetSpdySettings(spdy_server_empty); | 298 SettingsMap::const_iterator it = settings_map2.find(id); |
| 310 EXPECT_EQ(0U, spdy_settings0.size()); // Returns kEmptySpdySettings | 299 EXPECT_TRUE(it != settings_map2.end()); |
| 311 | 300 SettingsFlagsAndValue flags_and_value2 = it->second; |
| 312 // Add www.google.com:443 as persisting. | 301 EXPECT_EQ(flags, flags_and_value2.first); |
| 313 HostPortPair spdy_server_google("www.google.com", 443); | 302 EXPECT_EQ(value, flags_and_value2.second); |
| 314 SpdySettings spdy_settings1; | |
| 315 SettingsFlagsAndId id1(SETTINGS_FLAG_PLEASE_PERSIST, 1234); | |
| 316 spdy_settings1.push_back(std::make_pair(id1, 31337)); | |
| 317 EXPECT_TRUE(impl_.SetSpdySettings(spdy_server_google, spdy_settings1)); | |
| 318 SpdySettings spdy_settings1_ret = | |
| 319 impl_.GetSpdySettings(spdy_server_google); | |
| 320 ASSERT_EQ(1U, spdy_settings1_ret.size()); | |
| 321 SpdySetting spdy_setting1_ret = spdy_settings1_ret.front(); | |
| 322 SettingsFlagsAndId id1_ret(spdy_setting1_ret.first); | |
| 323 EXPECT_EQ(1234U, id1_ret.id()); | |
| 324 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, id1_ret.flags()); | |
| 325 EXPECT_EQ(31337U, spdy_setting1_ret.second); | |
| 326 | |
| 327 // Add mail.google.com:443 as not persisting. | |
| 328 HostPortPair spdy_server_mail("mail.google.com", 443); | |
| 329 SpdySettings spdy_settings2; | |
| 330 SettingsFlagsAndId id2(0, 5678); | |
| 331 spdy_settings2.push_back(std::make_pair(id2, 62667)); | |
| 332 EXPECT_FALSE(impl_.SetSpdySettings(spdy_server_mail, spdy_settings2)); | |
| 333 SpdySettings spdy_settings2_ret = | |
| 334 impl_.GetSpdySettings(spdy_server_mail); | |
| 335 EXPECT_EQ(0U, spdy_settings2_ret.size()); // Returns kEmptySpdySettings | |
| 336 | |
| 337 // Add docs.google.com:443 as persisting | |
| 338 HostPortPair spdy_server_docs("docs.google.com", 443); | |
| 339 SpdySettings spdy_settings3; | |
| 340 SettingsFlagsAndId id3(SETTINGS_FLAG_PLEASE_PERSIST, 9012); | |
| 341 spdy_settings3.push_back(std::make_pair(id3, 93997)); | |
| 342 EXPECT_TRUE(impl_.SetSpdySettings(spdy_server_docs, spdy_settings3)); | |
| 343 SpdySettings spdy_settings3_ret = | |
| 344 impl_.GetSpdySettings(spdy_server_docs); | |
| 345 ASSERT_EQ(1U, spdy_settings3_ret.size()); | |
| 346 SpdySetting spdy_setting3_ret = spdy_settings3_ret.front(); | |
| 347 SettingsFlagsAndId id3_ret(spdy_setting3_ret.first); | |
| 348 EXPECT_EQ(9012U, id3_ret.id()); | |
| 349 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, id3_ret.flags()); | |
| 350 EXPECT_EQ(93997U, spdy_setting3_ret.second); | |
| 351 } | 303 } |
| 352 | 304 |
| 353 TEST_F(SpdySettingsServerPropertiesTest, SetSpdySetting) { | 305 TEST_F(SpdySettingsServerPropertiesTest, SetSpdySetting) { |
| 354 HostPortPair spdy_server_empty("", 443); | 306 HostPortPair spdy_server_empty("", 443); |
| 355 SpdySettings spdy_settings0 = impl_.GetSpdySettings(spdy_server_empty); | 307 const SettingsMap& settings_map0 = impl_.GetSpdySettings(spdy_server_empty); |
| 356 EXPECT_EQ(0U, spdy_settings0.size()); // Returns kEmptySpdySettings | 308 EXPECT_EQ(0U, settings_map0.size()); // Returns kEmptySettingsMap. |
| 357 | 309 |
| 358 // Add www.google.com:443 as persisting. | 310 // Add www.google.com:443 as persisting. |
| 359 HostPortPair spdy_server_google("www.google.com", 443); | 311 HostPortPair spdy_server_google("www.google.com", 443); |
| 360 SettingsFlagsAndId id1(SETTINGS_FLAG_PLEASE_PERSIST, 1234); | 312 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH; |
| 361 EXPECT_TRUE(impl_.SetSpdySetting( | 313 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST; |
| 362 spdy_server_google, std::make_pair(id1, 31337))); | 314 const uint32 value1 = 31337; |
| 363 SpdySettings spdy_settings1_ret = | 315 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_google, id1, flags1, value1)); |
| 316 // Check the values. |
| 317 const SettingsMap& settings_map1_ret = |
| 364 impl_.GetSpdySettings(spdy_server_google); | 318 impl_.GetSpdySettings(spdy_server_google); |
| 365 ASSERT_EQ(1U, spdy_settings1_ret.size()); | 319 ASSERT_EQ(1U, settings_map1_ret.size()); |
| 366 SpdySetting spdy_setting1_ret = spdy_settings1_ret.front(); | 320 SettingsMap::const_iterator it1_ret = settings_map1_ret.find(id1); |
| 367 SettingsFlagsAndId id1_ret(spdy_setting1_ret.first); | 321 EXPECT_TRUE(it1_ret != settings_map1_ret.end()); |
| 368 EXPECT_EQ(1234U, id1_ret.id()); | 322 SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second; |
| 369 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, id1_ret.flags()); | 323 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first); |
| 370 EXPECT_EQ(31337U, spdy_setting1_ret.second); | 324 EXPECT_EQ(value1, flags_and_value1_ret.second); |
| 371 | 325 |
| 372 // Add mail.google.com:443 as not persisting. | 326 // Add mail.google.com:443 as not persisting. |
| 373 HostPortPair spdy_server_mail("mail.google.com", 443); | 327 HostPortPair spdy_server_mail("mail.google.com", 443); |
| 374 SettingsFlagsAndId id2(0, 5678); | 328 const SpdySettingsIds id2 = SETTINGS_DOWNLOAD_BANDWIDTH; |
| 375 EXPECT_FALSE(impl_.SetSpdySetting( | 329 const SpdySettingsFlags flags2 = SETTINGS_FLAG_NONE; |
| 376 spdy_server_mail, std::make_pair(id2, 62667))); | 330 const uint32 value2 = 62667; |
| 377 SpdySettings spdy_settings2_ret = | 331 EXPECT_FALSE(impl_.SetSpdySetting(spdy_server_mail, id2, flags2, value2)); |
| 332 const SettingsMap& settings_map2_ret = |
| 378 impl_.GetSpdySettings(spdy_server_mail); | 333 impl_.GetSpdySettings(spdy_server_mail); |
| 379 EXPECT_EQ(0U, spdy_settings2_ret.size()); // Returns kEmptySpdySettings | 334 EXPECT_EQ(0U, settings_map2_ret.size()); // Returns kEmptySettingsMap. |
| 380 | 335 |
| 381 // Add docs.google.com:443 as persisting | 336 // Add docs.google.com:443 as persisting |
| 382 HostPortPair spdy_server_docs("docs.google.com", 443); | 337 HostPortPair spdy_server_docs("docs.google.com", 443); |
| 383 SettingsFlagsAndId id3(SETTINGS_FLAG_PLEASE_PERSIST, 9012); | 338 const SpdySettingsIds id3 = SETTINGS_ROUND_TRIP_TIME; |
| 384 EXPECT_TRUE(impl_.SetSpdySetting( | 339 const SpdySettingsFlags flags3 = SETTINGS_FLAG_PLEASE_PERSIST; |
| 385 spdy_server_docs, std::make_pair(id3, 93997))); | 340 const uint32 value3 = 93997; |
| 386 SpdySettings spdy_settings3_ret = | 341 SettingsFlagsAndValue flags_and_value3(flags3, value3); |
| 342 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_docs, id3, flags3, value3)); |
| 343 // Check the values. |
| 344 const SettingsMap& settings_map3_ret = |
| 387 impl_.GetSpdySettings(spdy_server_docs); | 345 impl_.GetSpdySettings(spdy_server_docs); |
| 388 ASSERT_EQ(1U, spdy_settings3_ret.size()); | 346 ASSERT_EQ(1U, settings_map3_ret.size()); |
| 389 SpdySetting spdy_setting3_ret = spdy_settings3_ret.front(); | 347 SettingsMap::const_iterator it3_ret = settings_map3_ret.find(id3); |
| 390 SettingsFlagsAndId id3_ret(spdy_setting3_ret.first); | 348 EXPECT_TRUE(it3_ret != settings_map3_ret.end()); |
| 391 EXPECT_EQ(9012U, id3_ret.id()); | 349 SettingsFlagsAndValue flags_and_value3_ret = it3_ret->second; |
| 392 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, id3_ret.flags()); | 350 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, flags_and_value3_ret.first); |
| 393 EXPECT_EQ(93997U, spdy_setting3_ret.second); | 351 EXPECT_EQ(value3, flags_and_value3_ret.second); |
| 394 // Check data for www.google.com:443. | 352 |
| 395 SpdySettings spdy_settings4_ret = | 353 // Check data for www.google.com:443 (id1). |
| 354 const SettingsMap& settings_map4_ret = |
| 396 impl_.GetSpdySettings(spdy_server_google); | 355 impl_.GetSpdySettings(spdy_server_google); |
| 397 ASSERT_EQ(1U, spdy_settings4_ret.size()); | 356 ASSERT_EQ(1U, settings_map4_ret.size()); |
| 398 SpdySetting spdy_setting4_ret = spdy_settings4_ret.front(); | 357 SettingsMap::const_iterator it4_ret = settings_map4_ret.find(id1); |
| 399 SettingsFlagsAndId id4_ret(spdy_setting4_ret.first); | 358 EXPECT_TRUE(it4_ret != settings_map4_ret.end()); |
| 400 EXPECT_EQ(1234U, id4_ret.id()); | 359 SettingsFlagsAndValue flags_and_value4_ret = it4_ret->second; |
| 401 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, id4_ret.flags()); | 360 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, flags_and_value4_ret.first); |
| 402 EXPECT_EQ(31337U, spdy_setting4_ret.second); | 361 EXPECT_EQ(value1, flags_and_value1_ret.second); |
| 403 } | 362 } |
| 404 | 363 |
| 405 TEST_F(SpdySettingsServerPropertiesTest, Clear) { | 364 TEST_F(SpdySettingsServerPropertiesTest, Clear) { |
| 406 // Add www.google.com:443 as persisting. | 365 // Add www.google.com:443 as persisting. |
| 407 HostPortPair spdy_server_google("www.google.com", 443); | 366 HostPortPair spdy_server_google("www.google.com", 443); |
| 408 SpdySettings spdy_settings1; | 367 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH; |
| 409 SettingsFlagsAndId id1(SETTINGS_FLAG_PLEASE_PERSIST, 1234); | 368 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST; |
| 410 spdy_settings1.push_back(std::make_pair(id1, 31337)); | 369 const uint32 value1 = 31337; |
| 411 EXPECT_TRUE(impl_.SetSpdySettings(spdy_server_google, spdy_settings1)); | 370 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_google, id1, flags1, value1)); |
| 412 SpdySettings spdy_settings1_ret = | 371 // Check the values. |
| 372 const SettingsMap& settings_map1_ret = |
| 413 impl_.GetSpdySettings(spdy_server_google); | 373 impl_.GetSpdySettings(spdy_server_google); |
| 414 ASSERT_EQ(1U, spdy_settings1_ret.size()); | 374 ASSERT_EQ(1U, settings_map1_ret.size()); |
| 415 SpdySetting spdy_setting1_ret = spdy_settings1_ret.front(); | 375 SettingsMap::const_iterator it1_ret = settings_map1_ret.find(id1); |
| 416 SettingsFlagsAndId id1_ret(spdy_setting1_ret.first); | 376 EXPECT_TRUE(it1_ret != settings_map1_ret.end()); |
| 417 EXPECT_EQ(1234U, id1_ret.id()); | 377 SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second; |
| 418 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, id1_ret.flags()); | 378 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first); |
| 419 EXPECT_EQ(31337U, spdy_setting1_ret.second); | 379 EXPECT_EQ(value1, flags_and_value1_ret.second); |
| 420 | 380 |
| 421 // Add docs.google.com:443 as persisting | 381 // Add docs.google.com:443 as persisting |
| 422 HostPortPair spdy_server_docs("docs.google.com", 443); | 382 HostPortPair spdy_server_docs("docs.google.com", 443); |
| 423 SpdySettings spdy_settings3; | 383 const SpdySettingsIds id3 = SETTINGS_ROUND_TRIP_TIME; |
| 424 SettingsFlagsAndId id3(SETTINGS_FLAG_PLEASE_PERSIST, 9012); | 384 const SpdySettingsFlags flags3 = SETTINGS_FLAG_PLEASE_PERSIST; |
| 425 spdy_settings3.push_back(std::make_pair(id3, 93997)); | 385 const uint32 value3 = 93997; |
| 426 EXPECT_TRUE(impl_.SetSpdySettings(spdy_server_docs, spdy_settings3)); | 386 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_docs, id3, flags3, value3)); |
| 427 SpdySettings spdy_settings3_ret = | 387 // Check the values. |
| 388 const SettingsMap& settings_map3_ret = |
| 428 impl_.GetSpdySettings(spdy_server_docs); | 389 impl_.GetSpdySettings(spdy_server_docs); |
| 429 ASSERT_EQ(1U, spdy_settings3_ret.size()); | 390 ASSERT_EQ(1U, settings_map3_ret.size()); |
| 430 SpdySetting spdy_setting3_ret = spdy_settings3_ret.front(); | 391 SettingsMap::const_iterator it3_ret = settings_map3_ret.find(id3); |
| 431 SettingsFlagsAndId id3_ret(spdy_setting3_ret.first); | 392 EXPECT_TRUE(it3_ret != settings_map3_ret.end()); |
| 432 EXPECT_EQ(9012U, id3_ret.id()); | 393 SettingsFlagsAndValue flags_and_value3_ret = it3_ret->second; |
| 433 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, id3_ret.flags()); | 394 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, flags_and_value3_ret.first); |
| 434 EXPECT_EQ(93997U, spdy_setting3_ret.second); | 395 EXPECT_EQ(value3, flags_and_value3_ret.second); |
| 435 | 396 |
| 436 impl_.Clear(); | 397 impl_.Clear(); |
| 437 EXPECT_EQ(0U, impl_.GetSpdySettings(spdy_server_google).size()); | 398 EXPECT_EQ(0U, impl_.GetSpdySettings(spdy_server_google).size()); |
| 438 EXPECT_EQ(0U, impl_.GetSpdySettings(spdy_server_docs).size()); | 399 EXPECT_EQ(0U, impl_.GetSpdySettings(spdy_server_docs).size()); |
| 439 } | 400 } |
| 440 | 401 |
| 441 } // namespace | 402 } // namespace |
| 442 | 403 |
| 443 } // namespace net | 404 } // namespace net |
| OLD | NEW |