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

Side by Side Diff: net/http/http_network_transaction_unittest.cc

Issue 7251004: Deciding best connection to schedule requests on based on cwnd and idle time (Reopened after revert) (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: Syncing to head Created 9 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_network_transaction.h" 5 #include "net/http/http_network_transaction.h"
6 6
7 #include <math.h> // ceil 7 #include <math.h> // ceil
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/compiler_specific.h" 11 #include "base/compiler_specific.h"
12 #include "base/file_path.h" 12 #include "base/file_path.h"
13 #include "base/file_util.h" 13 #include "base/file_util.h"
14 #include "base/memory/scoped_ptr.h" 14 #include "base/memory/scoped_ptr.h"
15 #include "base/metrics/histogram.h"
15 #include "base/utf_string_conversions.h" 16 #include "base/utf_string_conversions.h"
16 #include "net/base/auth.h" 17 #include "net/base/auth.h"
17 #include "net/base/capturing_net_log.h" 18 #include "net/base/capturing_net_log.h"
18 #include "net/base/completion_callback.h" 19 #include "net/base/completion_callback.h"
19 #include "net/base/mock_host_resolver.h" 20 #include "net/base/mock_host_resolver.h"
20 #include "net/base/net_log.h" 21 #include "net/base/net_log.h"
21 #include "net/base/net_log_unittest.h" 22 #include "net/base/net_log_unittest.h"
22 #include "net/base/request_priority.h" 23 #include "net/base/request_priority.h"
23 #include "net/base/ssl_cert_request_info.h" 24 #include "net/base/ssl_cert_request_info.h"
24 #include "net/base/ssl_config_service_defaults.h" 25 #include "net/base/ssl_config_service_defaults.h"
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 //----------------------------------------------------------------------------- 327 //-----------------------------------------------------------------------------
327 328
328 // This is the expected list of advertised protocols from the browser's NPN 329 // This is the expected list of advertised protocols from the browser's NPN
329 // list. 330 // list.
330 static const char kExpectedNPNString[] = "\x08http/1.1\x06spdy/2"; 331 static const char kExpectedNPNString[] = "\x08http/1.1\x06spdy/2";
331 332
332 // This is the expected return from a current server advertising SPDY. 333 // This is the expected return from a current server advertising SPDY.
333 static const char kAlternateProtocolHttpHeader[] = 334 static const char kAlternateProtocolHttpHeader[] =
334 "Alternate-Protocol: 443:npn-spdy/2\r\n\r\n"; 335 "Alternate-Protocol: 443:npn-spdy/2\r\n\r\n";
335 336
337 TEST_F(HttpNetworkTransactionTest, LogNumRttVsBytesMetrics_WarmestSocket) {
338 MockRead data_reads[1000];
339 data_reads[0] = MockRead("HTTP/1.0 200 OK\r\n\r\n");
340 for (int i = 1; i < 999; i++) {
341 data_reads[i] = MockRead("Gagan is a good boy!");
342 }
343 data_reads[999] = MockRead(false, OK);
344
345 net::SetSocketReusePolicy(0);
346 SimpleGetHelperResult out = SimpleGetHelper(data_reads,
347 arraysize(data_reads));
348
349 base::Histogram* histogram = NULL;
350 base::StatisticsRecorder::FindHistogram(
351 "Net.Num_RTT_vs_KB_warmest_socket_15KB", &histogram);
352 CHECK(histogram);
353
354 base::Histogram::SampleSet sample_set;
355 histogram->SnapshotSample(&sample_set);
356 EXPECT_EQ(1, sample_set.TotalCount());
357
358 EXPECT_EQ(OK, out.rv);
359 EXPECT_EQ("HTTP/1.0 200 OK", out.status_line);
360 }
361
362 // TODO(gagansingh): Add test for LogNumRttVsBytesMetrics_LastAccessSocket once
363 // it is possible to clear histograms from previous tests.
364
336 TEST_F(HttpNetworkTransactionTest, Basic) { 365 TEST_F(HttpNetworkTransactionTest, Basic) {
337 SessionDependencies session_deps; 366 SessionDependencies session_deps;
338 scoped_ptr<HttpTransaction> trans( 367 scoped_ptr<HttpTransaction> trans(
339 new HttpNetworkTransaction(CreateSession(&session_deps))); 368 new HttpNetworkTransaction(CreateSession(&session_deps)));
340 } 369 }
341 370
342 TEST_F(HttpNetworkTransactionTest, SimpleGET) { 371 TEST_F(HttpNetworkTransactionTest, SimpleGET) {
343 MockRead data_reads[] = { 372 MockRead data_reads[] = {
344 MockRead("HTTP/1.0 200 OK\r\n\r\n"), 373 MockRead("HTTP/1.0 200 OK\r\n\r\n"),
345 MockRead("hello world"), 374 MockRead("hello world"),
(...skipping 8322 matching lines...) Expand 10 before | Expand all | Expand 10 after
8668 // Now that the new handshake has failed, ensure that the client 8697 // Now that the new handshake has failed, ensure that the client
8669 // certificate was removed from the client auth cache. 8698 // certificate was removed from the client auth cache.
8670 ASSERT_FALSE(session->ssl_client_auth_cache()->Lookup("proxy:70", 8699 ASSERT_FALSE(session->ssl_client_auth_cache()->Lookup("proxy:70",
8671 &client_cert)); 8700 &client_cert));
8672 ASSERT_FALSE(session->ssl_client_auth_cache()->Lookup("www.example.com:443", 8701 ASSERT_FALSE(session->ssl_client_auth_cache()->Lookup("www.example.com:443",
8673 &client_cert)); 8702 &client_cert));
8674 } 8703 }
8675 } 8704 }
8676 8705
8677 } // namespace net 8706 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698