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

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

Issue 1272283003: Add a new SpdyStream::Delegate method to handle trailers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add NOTREACHED Created 5 years, 4 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
« no previous file with comments | « net/spdy/spdy_http_stream.cc ('k') | net/spdy/spdy_proxy_client_socket.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 5449 matching lines...) Expand 10 before | Expand all | Expand 10 after
5460 }; 5460 };
5461 5461
5462 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 5462 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
5463 NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, 5463 NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY,
5464 BoundNetLog(), GetParam(), NULL); 5464 BoundNetLog(), GetParam(), NULL);
5465 helper.RunToCompletion(&data); 5465 helper.RunToCompletion(&data);
5466 TransactionHelperResult out = helper.output(); 5466 TransactionHelperResult out = helper.output();
5467 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, out.rv); 5467 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, out.rv);
5468 } 5468 }
5469 5469
5470 TEST_P(SpdyNetworkTransactionTest, SynReplyWithLateHeaders) { 5470 // Tests that receiving HEADERS, DATA, HEADERS, and DATA in that sequence will
5471 // trigger a ERR_SPDY_PROTOCOL_ERROR because trailing HEADERS must not be
5472 // followed by any DATA frames.
5473 TEST_P(SpdyNetworkTransactionTest, SyncReplyDataAfterTrailers) {
5471 scoped_ptr<SpdyFrame> req( 5474 scoped_ptr<SpdyFrame> req(
5472 spdy_util_.ConstructSpdyGet(NULL, 0, false, 1, LOWEST, true)); 5475 spdy_util_.ConstructSpdyGet(NULL, 0, false, 1, LOWEST, true));
5473 scoped_ptr<SpdyFrame> rst( 5476 scoped_ptr<SpdyFrame> rst(
5474 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_PROTOCOL_ERROR)); 5477 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_PROTOCOL_ERROR));
5475 MockWrite writes[] = { 5478 MockWrite writes[] = {
5476 CreateMockWrite(*req, 0), CreateMockWrite(*rst, 4), 5479 CreateMockWrite(*req, 0), CreateMockWrite(*rst, 5),
5477 }; 5480 };
5478 5481
5479 scoped_ptr<SpdyFrame> stream1_reply( 5482 scoped_ptr<SpdyFrame> stream1_reply(
5480 spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1)); 5483 spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1));
5481 5484
5482 scoped_ptr<SpdyHeaderBlock> late_headers(new SpdyHeaderBlock()); 5485 scoped_ptr<SpdyHeaderBlock> late_headers(new SpdyHeaderBlock());
5483 (*late_headers)["hello"] = "bye"; 5486 (*late_headers)["hello"] = "bye";
5484 scoped_ptr<SpdyFrame> stream1_headers( 5487 scoped_ptr<SpdyFrame> stream1_headers(
5485 spdy_util_.ConstructSpdyControlFrame(late_headers.Pass(), 5488 spdy_util_.ConstructSpdyControlFrame(late_headers.Pass(),
5486 false, 5489 false,
5487 1, 5490 1,
5488 LOWEST, 5491 LOWEST,
5489 HEADERS, 5492 HEADERS,
5490 CONTROL_FLAG_NONE, 5493 CONTROL_FLAG_NONE,
5491 0)); 5494 0));
5492 scoped_ptr<SpdyFrame> stream1_body( 5495 scoped_ptr<SpdyFrame> stream1_body(
5493 spdy_util_.ConstructSpdyBodyFrame(1, false)); 5496 spdy_util_.ConstructSpdyBodyFrame(1, false));
5494 scoped_ptr<SpdyFrame> stream1_body2( 5497 scoped_ptr<SpdyFrame> stream1_body2(
5495 spdy_util_.ConstructSpdyBodyFrame(1, true)); 5498 spdy_util_.ConstructSpdyBodyFrame(1, true));
5496 MockRead reads[] = { 5499 MockRead reads[] = {
5497 CreateMockRead(*stream1_reply, 1), 5500 CreateMockRead(*stream1_reply, 1), CreateMockRead(*stream1_body, 2),
5498 CreateMockRead(*stream1_body, 2), 5501 CreateMockRead(*stream1_headers, 3), CreateMockRead(*stream1_body2, 4),
5499 CreateMockRead(*stream1_headers, 3),
5500 CreateMockRead(*stream1_body2, 5),
5501 MockRead(ASYNC, 0, 6) // EOF 5502 MockRead(ASYNC, 0, 6) // EOF
5502 }; 5503 };
5503 5504
5504 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 5505 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
5505 NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, 5506 NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY,
5506 BoundNetLog(), GetParam(), NULL); 5507 BoundNetLog(), GetParam(), NULL);
5507 helper.RunToCompletion(&data); 5508 helper.RunToCompletion(&data);
5508 TransactionHelperResult out = helper.output(); 5509 TransactionHelperResult out = helper.output();
5509 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, out.rv); 5510 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, out.rv);
5510 } 5511 }
(...skipping 1118 matching lines...) Expand 10 before | Expand all | Expand 10 after
6629 TEST_P(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) { 6630 TEST_P(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) {
6630 scoped_ptr<SSLSocketDataProvider> ssl_provider( 6631 scoped_ptr<SSLSocketDataProvider> ssl_provider(
6631 new SSLSocketDataProvider(ASYNC, OK)); 6632 new SSLSocketDataProvider(ASYNC, OK));
6632 // Set to TLS_RSA_WITH_NULL_MD5 6633 // Set to TLS_RSA_WITH_NULL_MD5
6633 SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status); 6634 SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status);
6634 6635
6635 RunTLSUsageCheckTest(ssl_provider.Pass()); 6636 RunTLSUsageCheckTest(ssl_provider.Pass());
6636 } 6637 }
6637 6638
6638 } // namespace net 6639 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/spdy_http_stream.cc ('k') | net/spdy/spdy_proxy_client_socket.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698