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

Side by Side Diff: net/spdy/spdy_network_transaction_unittest.cc

Issue 723343002: Update from https://crrev.com/304121 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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
« no previous file with comments | « net/spdy/spdy_http_stream_unittest.cc ('k') | net/spdy/spdy_protocol.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <string> 5 #include <string>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/bind_helpers.h" 9 #include "base/bind_helpers.h"
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
(...skipping 708 matching lines...) Expand 10 before | Expand all | Expand 10 after
719 ::testing::Values( 719 ::testing::Values(
720 SpdyNetworkTransactionTestParams(kProtoDeprecatedSPDY2, SPDYNOSSL), 720 SpdyNetworkTransactionTestParams(kProtoDeprecatedSPDY2, SPDYNOSSL),
721 SpdyNetworkTransactionTestParams(kProtoDeprecatedSPDY2, SPDYSSL), 721 SpdyNetworkTransactionTestParams(kProtoDeprecatedSPDY2, SPDYSSL),
722 SpdyNetworkTransactionTestParams(kProtoDeprecatedSPDY2, SPDYNPN), 722 SpdyNetworkTransactionTestParams(kProtoDeprecatedSPDY2, SPDYNPN),
723 SpdyNetworkTransactionTestParams(kProtoSPDY3, SPDYNOSSL), 723 SpdyNetworkTransactionTestParams(kProtoSPDY3, SPDYNOSSL),
724 SpdyNetworkTransactionTestParams(kProtoSPDY3, SPDYSSL), 724 SpdyNetworkTransactionTestParams(kProtoSPDY3, SPDYSSL),
725 SpdyNetworkTransactionTestParams(kProtoSPDY3, SPDYNPN), 725 SpdyNetworkTransactionTestParams(kProtoSPDY3, SPDYNPN),
726 SpdyNetworkTransactionTestParams(kProtoSPDY31, SPDYNOSSL), 726 SpdyNetworkTransactionTestParams(kProtoSPDY31, SPDYNOSSL),
727 SpdyNetworkTransactionTestParams(kProtoSPDY31, SPDYSSL), 727 SpdyNetworkTransactionTestParams(kProtoSPDY31, SPDYSSL),
728 SpdyNetworkTransactionTestParams(kProtoSPDY31, SPDYNPN), 728 SpdyNetworkTransactionTestParams(kProtoSPDY31, SPDYNPN),
729 SpdyNetworkTransactionTestParams(kProtoSPDY4, SPDYNOSSL), 729 SpdyNetworkTransactionTestParams(kProtoSPDY4_14, SPDYNOSSL),
730 SpdyNetworkTransactionTestParams(kProtoSPDY4, SPDYSSL), 730 SpdyNetworkTransactionTestParams(kProtoSPDY4_14, SPDYSSL),
731 SpdyNetworkTransactionTestParams(kProtoSPDY4, SPDYNPN))); 731 SpdyNetworkTransactionTestParams(kProtoSPDY4_14, SPDYNPN),
732 SpdyNetworkTransactionTestParams(kProtoSPDY4_15, SPDYNOSSL),
733 SpdyNetworkTransactionTestParams(kProtoSPDY4_15, SPDYSSL),
734 SpdyNetworkTransactionTestParams(kProtoSPDY4_15, SPDYNPN)));
732 735
733 // Verify HttpNetworkTransaction constructor. 736 // Verify HttpNetworkTransaction constructor.
734 TEST_P(SpdyNetworkTransactionTest, Constructor) { 737 TEST_P(SpdyNetworkTransactionTest, Constructor) {
735 scoped_ptr<SpdySessionDependencies> session_deps( 738 scoped_ptr<SpdySessionDependencies> session_deps(
736 CreateSpdySessionDependencies(GetParam())); 739 CreateSpdySessionDependencies(GetParam()));
737 scoped_refptr<HttpNetworkSession> session( 740 scoped_refptr<HttpNetworkSession> session(
738 SpdySessionDependencies::SpdyCreateSession(session_deps.get())); 741 SpdySessionDependencies::SpdyCreateSession(session_deps.get()));
739 scoped_ptr<HttpTransaction> trans( 742 scoped_ptr<HttpTransaction> trans(
740 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); 743 new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get()));
741 } 744 }
(...skipping 2827 matching lines...) Expand 10 before | Expand all | Expand 10 after
3569 DelayedSocketData data(1, reads, arraysize(reads), 3572 DelayedSocketData data(1, reads, arraysize(reads),
3570 writes, arraysize(writes)); 3573 writes, arraysize(writes));
3571 NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, 3574 NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY,
3572 BoundNetLog(), GetParam(), NULL); 3575 BoundNetLog(), GetParam(), NULL);
3573 helper.RunToCompletion(&data); 3576 helper.RunToCompletion(&data);
3574 TransactionHelperResult out = helper.output(); 3577 TransactionHelperResult out = helper.output();
3575 EXPECT_EQ(ERR_SPDY_COMPRESSION_ERROR, out.rv); 3578 EXPECT_EQ(ERR_SPDY_COMPRESSION_ERROR, out.rv);
3576 } 3579 }
3577 3580
3578 TEST_P(SpdyNetworkTransactionTest, GoAwayOnDecompressionFailure) { 3581 TEST_P(SpdyNetworkTransactionTest, GoAwayOnDecompressionFailure) {
3579 if (GetParam().protocol < kProtoSPDY4) { 3582 if (GetParam().protocol < kProtoSPDY4MinimumVersion) {
3580 // Decompression failures are a stream error in SPDY3 and above. 3583 // Decompression failures are a stream error in SPDY3 and above.
3581 return; 3584 return;
3582 } 3585 }
3583 scoped_ptr<SpdyFrame> req( 3586 scoped_ptr<SpdyFrame> req(
3584 spdy_util_.ConstructSpdyGet(NULL, 0, false, 1, LOWEST, true)); 3587 spdy_util_.ConstructSpdyGet(NULL, 0, false, 1, LOWEST, true));
3585 scoped_ptr<SpdyFrame> goaway(spdy_util_.ConstructSpdyGoAway( 3588 scoped_ptr<SpdyFrame> goaway(spdy_util_.ConstructSpdyGoAway(
3586 0, GOAWAY_COMPRESSION_ERROR, "Framer error: 5 (DECOMPRESS_FAILURE).")); 3589 0, GOAWAY_COMPRESSION_ERROR, "Framer error: 5 (DECOMPRESS_FAILURE)."));
3587 MockWrite writes[] = {CreateMockWrite(*req), CreateMockWrite(*goaway)}; 3590 MockWrite writes[] = {CreateMockWrite(*req), CreateMockWrite(*goaway)};
3588 3591
3589 // Read HEADERS with corrupted payload. 3592 // Read HEADERS with corrupted payload.
(...skipping 836 matching lines...) Expand 10 before | Expand all | Expand 10 after
4426 spdy_session_pool->http_server_properties()->GetSpdySettings( 4429 spdy_session_pool->http_server_properties()->GetSpdySettings(
4427 host_port_pair); 4430 host_port_pair);
4428 scoped_ptr<SpdyFrame> settings_frame( 4431 scoped_ptr<SpdyFrame> settings_frame(
4429 spdy_util_.ConstructSpdySettings(settings)); 4432 spdy_util_.ConstructSpdySettings(settings));
4430 4433
4431 // Construct the request. 4434 // Construct the request.
4432 scoped_ptr<SpdyFrame> req( 4435 scoped_ptr<SpdyFrame> req(
4433 spdy_util_.ConstructSpdyGet(NULL, 0, false, 1, LOWEST, true)); 4436 spdy_util_.ConstructSpdyGet(NULL, 0, false, 1, LOWEST, true));
4434 4437
4435 std::vector<MockWrite> writes; 4438 std::vector<MockWrite> writes;
4436 if (GetParam().protocol == kProtoSPDY4) { 4439 if ((GetParam().protocol >= kProtoSPDY4MinimumVersion) &&
4440 (GetParam().protocol <= kProtoSPDY4MaximumVersion)) {
4437 writes.push_back( 4441 writes.push_back(
4438 MockWrite(ASYNC, 4442 MockWrite(ASYNC,
4439 kHttp2ConnectionHeaderPrefix, 4443 kHttp2ConnectionHeaderPrefix,
4440 kHttp2ConnectionHeaderPrefixSize)); 4444 kHttp2ConnectionHeaderPrefixSize));
4441 } 4445 }
4442 writes.push_back(CreateMockWrite(*initial_settings_frame)); 4446 writes.push_back(CreateMockWrite(*initial_settings_frame));
4443 if (GetParam().protocol >= kProtoSPDY31) { 4447 if (GetParam().protocol >= kProtoSPDY31) {
4444 writes.push_back(CreateMockWrite(*initial_window_update)); 4448 writes.push_back(CreateMockWrite(*initial_window_update));
4445 } 4449 }
4446 writes.push_back(CreateMockWrite(*settings_frame)); 4450 writes.push_back(CreateMockWrite(*settings_frame));
(...skipping 2145 matching lines...) Expand 10 before | Expand all | Expand 10 after
6592 request, DEFAULT_PRIORITY, BoundNetLog(), GetParam(), NULL); 6596 request, DEFAULT_PRIORITY, BoundNetLog(), GetParam(), NULL);
6593 helper.RunToCompletionWithSSLData(&data, ssl_provider.Pass()); 6597 helper.RunToCompletionWithSSLData(&data, ssl_provider.Pass());
6594 TransactionHelperResult out = helper.output(); 6598 TransactionHelperResult out = helper.output();
6595 EXPECT_EQ(ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY, out.rv); 6599 EXPECT_EQ(ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY, out.rv);
6596 } 6600 }
6597 }; 6601 };
6598 6602
6599 INSTANTIATE_TEST_CASE_P( 6603 INSTANTIATE_TEST_CASE_P(
6600 Spdy, 6604 Spdy,
6601 SpdyNetworkTransactionTLSUsageCheckTest, 6605 SpdyNetworkTransactionTLSUsageCheckTest,
6602 ::testing::Values(SpdyNetworkTransactionTestParams(kProtoSPDY4, SPDYNPN))); 6606 ::testing::Values(
6607 SpdyNetworkTransactionTestParams(kProtoSPDY4_14, SPDYNPN),
6608 SpdyNetworkTransactionTestParams(kProtoSPDY4_15, SPDYNPN)));
6603 6609
6604 TEST_P(SpdyNetworkTransactionTLSUsageCheckTest, TLSVersionTooOld) { 6610 TEST_P(SpdyNetworkTransactionTLSUsageCheckTest, TLSVersionTooOld) {
6605 scoped_ptr<SSLSocketDataProvider> ssl_provider( 6611 scoped_ptr<SSLSocketDataProvider> ssl_provider(
6606 new SSLSocketDataProvider(ASYNC, OK)); 6612 new SSLSocketDataProvider(ASYNC, OK));
6607 SSLConnectionStatusSetVersion(SSL_CONNECTION_VERSION_SSL3, 6613 SSLConnectionStatusSetVersion(SSL_CONNECTION_VERSION_SSL3,
6608 &ssl_provider->connection_status); 6614 &ssl_provider->connection_status);
6609 6615
6610 RunTLSUsageCheckTest(ssl_provider.Pass()); 6616 RunTLSUsageCheckTest(ssl_provider.Pass());
6611 } 6617 }
6612 6618
6613 TEST_P(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) { 6619 TEST_P(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) {
6614 scoped_ptr<SSLSocketDataProvider> ssl_provider( 6620 scoped_ptr<SSLSocketDataProvider> ssl_provider(
6615 new SSLSocketDataProvider(ASYNC, OK)); 6621 new SSLSocketDataProvider(ASYNC, OK));
6616 // Set to TLS_RSA_WITH_NULL_MD5 6622 // Set to TLS_RSA_WITH_NULL_MD5
6617 SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status); 6623 SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status);
6618 6624
6619 RunTLSUsageCheckTest(ssl_provider.Pass()); 6625 RunTLSUsageCheckTest(ssl_provider.Pass());
6620 } 6626 }
6621 6627
6622 } // namespace net 6628 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/spdy_http_stream_unittest.cc ('k') | net/spdy/spdy_protocol.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698