| 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 <cmath> | 5 #include <cmath> |
| 6 #include <memory> | 6 #include <memory> |
| 7 #include <utility> | 7 #include <utility> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 44 #include "net/spdy/chromium/spdy_session_pool.h" | 44 #include "net/spdy/chromium/spdy_session_pool.h" |
| 45 #include "net/spdy/chromium/spdy_test_util_common.h" | 45 #include "net/spdy/chromium/spdy_test_util_common.h" |
| 46 #include "net/spdy/core/spdy_protocol.h" | 46 #include "net/spdy/core/spdy_protocol.h" |
| 47 #include "net/spdy/core/spdy_test_utils.h" | 47 #include "net/spdy/core/spdy_test_utils.h" |
| 48 #include "net/spdy/platform/api/spdy_string.h" | 48 #include "net/spdy/platform/api/spdy_string.h" |
| 49 #include "net/spdy/platform/api/spdy_string_piece.h" | 49 #include "net/spdy/platform/api/spdy_string_piece.h" |
| 50 #include "net/ssl/ssl_connection_status_flags.h" | 50 #include "net/ssl/ssl_connection_status_flags.h" |
| 51 #include "net/test/cert_test_util.h" | 51 #include "net/test/cert_test_util.h" |
| 52 #include "net/test/gtest_util.h" | 52 #include "net/test/gtest_util.h" |
| 53 #include "net/test/test_data_directory.h" | 53 #include "net/test/test_data_directory.h" |
| 54 #include "net/traffic_annotation/network_traffic_annotation_test_helper.h" |
| 54 #include "net/url_request/url_request_test_util.h" | 55 #include "net/url_request/url_request_test_util.h" |
| 55 #include "testing/gmock/include/gmock/gmock.h" | 56 #include "testing/gmock/include/gmock/gmock.h" |
| 56 #include "testing/platform_test.h" | 57 #include "testing/platform_test.h" |
| 57 | 58 |
| 58 using net::test::IsError; | 59 using net::test::IsError; |
| 59 using net::test::IsOk; | 60 using net::test::IsOk; |
| 60 | 61 |
| 61 //----------------------------------------------------------------------------- | 62 //----------------------------------------------------------------------------- |
| 62 | 63 |
| 63 namespace net { | 64 namespace net { |
| (...skipping 2128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2192 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); | 2193 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
| 2193 | 2194 |
| 2194 TestDelegate delegate; | 2195 TestDelegate delegate; |
| 2195 SpdyURLRequestContext spdy_url_request_context; | 2196 SpdyURLRequestContext spdy_url_request_context; |
| 2196 TestNetworkDelegate network_delegate; | 2197 TestNetworkDelegate network_delegate; |
| 2197 spdy_url_request_context.set_network_delegate(&network_delegate); | 2198 spdy_url_request_context.set_network_delegate(&network_delegate); |
| 2198 SSLSocketDataProvider ssl_data(ASYNC, OK); | 2199 SSLSocketDataProvider ssl_data(ASYNC, OK); |
| 2199 ssl_data.next_proto = kProtoHTTP2; | 2200 ssl_data.next_proto = kProtoHTTP2; |
| 2200 | 2201 |
| 2201 std::unique_ptr<URLRequest> request(spdy_url_request_context.CreateRequest( | 2202 std::unique_ptr<URLRequest> request(spdy_url_request_context.CreateRequest( |
| 2202 GURL(kDefaultUrl), DEFAULT_PRIORITY, &delegate)); | 2203 GURL(kDefaultUrl), DEFAULT_PRIORITY, &delegate, |
| 2204 TRAFFIC_ANNOTATION_FOR_TESTS)); |
| 2203 spdy_url_request_context.socket_factory().AddSSLSocketDataProvider(&ssl_data); | 2205 spdy_url_request_context.socket_factory().AddSSLSocketDataProvider(&ssl_data); |
| 2204 spdy_url_request_context.socket_factory().AddSocketDataProvider(&data); | 2206 spdy_url_request_context.socket_factory().AddSocketDataProvider(&data); |
| 2205 | 2207 |
| 2206 request->Start(); | 2208 request->Start(); |
| 2207 base::RunLoop().Run(); | 2209 base::RunLoop().Run(); |
| 2208 | 2210 |
| 2209 EXPECT_LT(0, request->GetTotalSentBytes()); | 2211 EXPECT_LT(0, request->GetTotalSentBytes()); |
| 2210 EXPECT_LT(0, request->GetTotalReceivedBytes()); | 2212 EXPECT_LT(0, request->GetTotalReceivedBytes()); |
| 2211 EXPECT_EQ(network_delegate.total_network_bytes_sent(), | 2213 EXPECT_EQ(network_delegate.total_network_bytes_sent(), |
| 2212 request->GetTotalSentBytes()); | 2214 request->GetTotalSentBytes()); |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2267 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); | 2269 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
| 2268 | 2270 |
| 2269 TestDelegate delegate; | 2271 TestDelegate delegate; |
| 2270 SpdyURLRequestContext spdy_url_request_context; | 2272 SpdyURLRequestContext spdy_url_request_context; |
| 2271 TestNetworkDelegate network_delegate; | 2273 TestNetworkDelegate network_delegate; |
| 2272 spdy_url_request_context.set_network_delegate(&network_delegate); | 2274 spdy_url_request_context.set_network_delegate(&network_delegate); |
| 2273 SSLSocketDataProvider ssl_data(ASYNC, OK); | 2275 SSLSocketDataProvider ssl_data(ASYNC, OK); |
| 2274 ssl_data.next_proto = kProtoHTTP2; | 2276 ssl_data.next_proto = kProtoHTTP2; |
| 2275 | 2277 |
| 2276 std::unique_ptr<URLRequest> request(spdy_url_request_context.CreateRequest( | 2278 std::unique_ptr<URLRequest> request(spdy_url_request_context.CreateRequest( |
| 2277 GURL(kDefaultUrl), DEFAULT_PRIORITY, &delegate)); | 2279 GURL(kDefaultUrl), DEFAULT_PRIORITY, &delegate, |
| 2280 TRAFFIC_ANNOTATION_FOR_TESTS)); |
| 2278 spdy_url_request_context.socket_factory().AddSSLSocketDataProvider(&ssl_data); | 2281 spdy_url_request_context.socket_factory().AddSSLSocketDataProvider(&ssl_data); |
| 2279 spdy_url_request_context.socket_factory().AddSocketDataProvider(&data); | 2282 spdy_url_request_context.socket_factory().AddSocketDataProvider(&data); |
| 2280 | 2283 |
| 2281 request->Start(); | 2284 request->Start(); |
| 2282 base::RunLoop().Run(); | 2285 base::RunLoop().Run(); |
| 2283 | 2286 |
| 2284 EXPECT_LT(0, request->GetTotalSentBytes()); | 2287 EXPECT_LT(0, request->GetTotalSentBytes()); |
| 2285 EXPECT_LT(0, request->GetTotalReceivedBytes()); | 2288 EXPECT_LT(0, request->GetTotalReceivedBytes()); |
| 2286 EXPECT_EQ(network_delegate.total_network_bytes_sent(), | 2289 EXPECT_EQ(network_delegate.total_network_bytes_sent(), |
| 2287 request->GetTotalSentBytes()); | 2290 request->GetTotalSentBytes()); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2329 }; | 2332 }; |
| 2330 | 2333 |
| 2331 SequencedSocketData data2(reads2, arraysize(reads2), writes2, | 2334 SequencedSocketData data2(reads2, arraysize(reads2), writes2, |
| 2332 arraysize(writes2)); | 2335 arraysize(writes2)); |
| 2333 | 2336 |
| 2334 // TODO(erikchen): Make test support SPDYSSL, SPDYNPN | 2337 // TODO(erikchen): Make test support SPDYSSL, SPDYNPN |
| 2335 TestDelegate d; | 2338 TestDelegate d; |
| 2336 { | 2339 { |
| 2337 SpdyURLRequestContext spdy_url_request_context; | 2340 SpdyURLRequestContext spdy_url_request_context; |
| 2338 std::unique_ptr<URLRequest> r(spdy_url_request_context.CreateRequest( | 2341 std::unique_ptr<URLRequest> r(spdy_url_request_context.CreateRequest( |
| 2339 default_url_, DEFAULT_PRIORITY, &d)); | 2342 default_url_, DEFAULT_PRIORITY, &d, TRAFFIC_ANNOTATION_FOR_TESTS)); |
| 2340 spdy_url_request_context.socket_factory(). | 2343 spdy_url_request_context.socket_factory(). |
| 2341 AddSocketDataProvider(&data); | 2344 AddSocketDataProvider(&data); |
| 2342 spdy_url_request_context.socket_factory(). | 2345 spdy_url_request_context.socket_factory(). |
| 2343 AddSocketDataProvider(&data2); | 2346 AddSocketDataProvider(&data2); |
| 2344 | 2347 |
| 2345 d.set_quit_on_redirect(true); | 2348 d.set_quit_on_redirect(true); |
| 2346 r->Start(); | 2349 r->Start(); |
| 2347 base::RunLoop().Run(); | 2350 base::RunLoop().Run(); |
| 2348 | 2351 |
| 2349 EXPECT_EQ(1, d.received_redirect_count()); | 2352 EXPECT_EQ(1, d.received_redirect_count()); |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2406 }; | 2409 }; |
| 2407 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); | 2410 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
| 2408 SequencedSocketData data2(reads2, arraysize(reads2), writes2, | 2411 SequencedSocketData data2(reads2, arraysize(reads2), writes2, |
| 2409 arraysize(writes2)); | 2412 arraysize(writes2)); |
| 2410 | 2413 |
| 2411 TestDelegate d; | 2414 TestDelegate d; |
| 2412 TestDelegate d2; | 2415 TestDelegate d2; |
| 2413 SpdyURLRequestContext spdy_url_request_context; | 2416 SpdyURLRequestContext spdy_url_request_context; |
| 2414 { | 2417 { |
| 2415 std::unique_ptr<URLRequest> r(spdy_url_request_context.CreateRequest( | 2418 std::unique_ptr<URLRequest> r(spdy_url_request_context.CreateRequest( |
| 2416 default_url_, DEFAULT_PRIORITY, &d)); | 2419 default_url_, DEFAULT_PRIORITY, &d, TRAFFIC_ANNOTATION_FOR_TESTS)); |
| 2417 spdy_url_request_context.socket_factory(). | 2420 spdy_url_request_context.socket_factory(). |
| 2418 AddSocketDataProvider(&data); | 2421 AddSocketDataProvider(&data); |
| 2419 | 2422 |
| 2420 r->Start(); | 2423 r->Start(); |
| 2421 base::RunLoop().Run(); | 2424 base::RunLoop().Run(); |
| 2422 | 2425 |
| 2423 EXPECT_EQ(0, d.received_redirect_count()); | 2426 EXPECT_EQ(0, d.received_redirect_count()); |
| 2424 SpdyString contents("hello!"); | 2427 SpdyString contents("hello!"); |
| 2425 EXPECT_EQ(contents, d.data_received()); | 2428 EXPECT_EQ(contents, d.data_received()); |
| 2426 | 2429 |
| 2427 std::unique_ptr<URLRequest> r2(spdy_url_request_context.CreateRequest( | 2430 std::unique_ptr<URLRequest> r2(spdy_url_request_context.CreateRequest( |
| 2428 GURL(GetDefaultUrlWithPath("/foo.dat")), DEFAULT_PRIORITY, &d2)); | 2431 GURL(GetDefaultUrlWithPath("/foo.dat")), DEFAULT_PRIORITY, &d2, |
| 2432 TRAFFIC_ANNOTATION_FOR_TESTS)); |
| 2429 spdy_url_request_context.socket_factory(). | 2433 spdy_url_request_context.socket_factory(). |
| 2430 AddSocketDataProvider(&data2); | 2434 AddSocketDataProvider(&data2); |
| 2431 | 2435 |
| 2432 d2.set_quit_on_redirect(true); | 2436 d2.set_quit_on_redirect(true); |
| 2433 r2->Start(); | 2437 r2->Start(); |
| 2434 base::RunLoop().Run(); | 2438 base::RunLoop().Run(); |
| 2435 EXPECT_EQ(1, d2.received_redirect_count()); | 2439 EXPECT_EQ(1, d2.received_redirect_count()); |
| 2436 | 2440 |
| 2437 r2->FollowDeferredRedirect(); | 2441 r2->FollowDeferredRedirect(); |
| 2438 base::RunLoop().Run(); | 2442 base::RunLoop().Run(); |
| (...skipping 4195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6634 TEST_F(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) { | 6638 TEST_F(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) { |
| 6635 std::unique_ptr<SSLSocketDataProvider> ssl_provider( | 6639 std::unique_ptr<SSLSocketDataProvider> ssl_provider( |
| 6636 new SSLSocketDataProvider(ASYNC, OK)); | 6640 new SSLSocketDataProvider(ASYNC, OK)); |
| 6637 // Set to TLS_RSA_WITH_NULL_MD5 | 6641 // Set to TLS_RSA_WITH_NULL_MD5 |
| 6638 SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status); | 6642 SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status); |
| 6639 | 6643 |
| 6640 RunTLSUsageCheckTest(std::move(ssl_provider)); | 6644 RunTLSUsageCheckTest(std::move(ssl_provider)); |
| 6641 } | 6645 } |
| 6642 | 6646 |
| 6643 } // namespace net | 6647 } // namespace net |
| OLD | NEW |