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

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

Issue 15892015: [SPDY] Refactor SpdyStream state machine (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove default: Created 7 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
« no previous file with comments | « net/spdy/spdy_session_spdy2_unittest.cc ('k') | net/spdy/spdy_stream.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 "net/spdy/spdy_session.h" 5 #include "net/spdy/spdy_session.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); 241 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl);
242 242
243 CreateDeterministicNetworkSession(); 243 CreateDeterministicNetworkSession();
244 244
245 scoped_refptr<SpdySession> session = CreateInitializedSession(); 245 scoped_refptr<SpdySession> session = CreateInitializedSession();
246 246
247 EXPECT_EQ(3, session->GetProtocolVersion()); 247 EXPECT_EQ(3, session->GetProtocolVersion());
248 248
249 GURL url("http://www.google.com"); 249 GURL url("http://www.google.com");
250 base::WeakPtr<SpdyStream> spdy_stream1 = 250 base::WeakPtr<SpdyStream> spdy_stream1 =
251 CreateStreamSynchronously(SPDY_BIDIRECTIONAL_STREAM, 251 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM,
252 session, url, MEDIUM, BoundNetLog()); 252 session, url, MEDIUM, BoundNetLog());
253 test::StreamDelegateDoNothing delegate1(spdy_stream1);
254 spdy_stream1->SetDelegate(&delegate1);
253 255
254 base::WeakPtr<SpdyStream> spdy_stream2 = 256 base::WeakPtr<SpdyStream> spdy_stream2 =
255 CreateStreamSynchronously(SPDY_BIDIRECTIONAL_STREAM, 257 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM,
256 session, url, MEDIUM, BoundNetLog()); 258 session, url, MEDIUM, BoundNetLog());
259 test::StreamDelegateDoNothing delegate2(spdy_stream2);
260 spdy_stream2->SetDelegate(&delegate2);
257 261
258 scoped_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock); 262 scoped_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock);
259 (*headers)[":method"] = "GET"; 263 (*headers)[":method"] = "GET";
260 (*headers)[":scheme"] = url.scheme(); 264 (*headers)[":scheme"] = url.scheme();
261 (*headers)[":host"] = url.host(); 265 (*headers)[":host"] = url.host();
262 (*headers)[":path"] = url.path(); 266 (*headers)[":path"] = url.path();
263 (*headers)[":version"] = "HTTP/1.1"; 267 (*headers)[":version"] = "HTTP/1.1";
264 scoped_ptr<SpdyHeaderBlock> headers2(new SpdyHeaderBlock); 268 scoped_ptr<SpdyHeaderBlock> headers2(new SpdyHeaderBlock);
265 *headers2 = *headers; 269 *headers2 = *headers;
266 270
(...skipping 1043 matching lines...) Expand 10 before | Expand all | Expand 10 after
1310 SSLSocketDataProvider ssl(SYNCHRONOUS, OK); 1314 SSLSocketDataProvider ssl(SYNCHRONOUS, OK);
1311 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl); 1315 session_deps_.socket_factory->AddSSLSocketDataProvider(&ssl);
1312 1316
1313 CreateNetworkSession(); 1317 CreateNetworkSession();
1314 1318
1315 scoped_refptr<SpdySession> session = CreateInitializedSession(); 1319 scoped_refptr<SpdySession> session = CreateInitializedSession();
1316 1320
1317 GURL url("http://www.google.com"); 1321 GURL url("http://www.google.com");
1318 1322
1319 base::WeakPtr<SpdyStream> spdy_stream1 = 1323 base::WeakPtr<SpdyStream> spdy_stream1 =
1320 CreateStreamSynchronously(SPDY_BIDIRECTIONAL_STREAM, 1324 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM,
1321 session, url, LOWEST, BoundNetLog()); 1325 session, url, LOWEST, BoundNetLog());
1322 ASSERT_TRUE(spdy_stream1.get() != NULL); 1326 ASSERT_TRUE(spdy_stream1.get() != NULL);
1323 EXPECT_EQ(0u, spdy_stream1->stream_id()); 1327 EXPECT_EQ(0u, spdy_stream1->stream_id());
1324 test::StreamDelegateDoNothing delegate1(spdy_stream1); 1328 test::StreamDelegateDoNothing delegate1(spdy_stream1);
1325 spdy_stream1->SetDelegate(&delegate1); 1329 spdy_stream1->SetDelegate(&delegate1);
1326 1330
1327 base::WeakPtr<SpdyStream> spdy_stream2 = 1331 base::WeakPtr<SpdyStream> spdy_stream2 =
1328 CreateStreamSynchronously(SPDY_BIDIRECTIONAL_STREAM, 1332 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM,
1329 session, url, HIGHEST, BoundNetLog()); 1333 session, url, HIGHEST, BoundNetLog());
1330 ASSERT_TRUE(spdy_stream2.get() != NULL); 1334 ASSERT_TRUE(spdy_stream2.get() != NULL);
1331 EXPECT_EQ(0u, spdy_stream2->stream_id()); 1335 EXPECT_EQ(0u, spdy_stream2->stream_id());
1332 test::StreamDelegateDoNothing delegate2(spdy_stream2); 1336 test::StreamDelegateDoNothing delegate2(spdy_stream2);
1333 spdy_stream2->SetDelegate(&delegate2); 1337 spdy_stream2->SetDelegate(&delegate2);
1334 1338
1335 scoped_ptr<SpdyHeaderBlock> headers( 1339 scoped_ptr<SpdyHeaderBlock> headers(
1336 spdy_util_.ConstructGetHeaderBlock(url.spec())); 1340 spdy_util_.ConstructGetHeaderBlock(url.spec()));
1337 spdy_stream1->SendRequestHeaders(headers.Pass(), NO_MORE_DATA_TO_SEND); 1341 spdy_stream1->SendRequestHeaders(headers.Pass(), NO_MORE_DATA_TO_SEND);
1338 EXPECT_TRUE(spdy_stream1->HasUrl()); 1342 EXPECT_TRUE(spdy_stream1->HasUrl());
(...skipping 1017 matching lines...) Expand 10 before | Expand all | Expand 10 after
2356 2360
2357 SSLSocketDataProvider ssl(SYNCHRONOUS, OK); 2361 SSLSocketDataProvider ssl(SYNCHRONOUS, OK);
2358 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl); 2362 session_deps_.deterministic_socket_factory->AddSSLSocketDataProvider(&ssl);
2359 2363
2360 CreateDeterministicNetworkSession(); 2364 CreateDeterministicNetworkSession();
2361 2365
2362 scoped_refptr<SpdySession> session = CreateInitializedSession(); 2366 scoped_refptr<SpdySession> session = CreateInitializedSession();
2363 2367
2364 GURL url1("http://www.google.com"); 2368 GURL url1("http://www.google.com");
2365 base::WeakPtr<SpdyStream> spdy_stream1 = 2369 base::WeakPtr<SpdyStream> spdy_stream1 =
2366 CreateStreamSynchronously(SPDY_BIDIRECTIONAL_STREAM, 2370 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM,
2367 session, url1, MEDIUM, BoundNetLog()); 2371 session, url1, MEDIUM, BoundNetLog());
2372 test::StreamDelegateDoNothing delegate1(spdy_stream1);
2373 spdy_stream1->SetDelegate(&delegate1);
2368 session = NULL; 2374 session = NULL;
2369 ASSERT_TRUE(spdy_stream1.get() != NULL); 2375 ASSERT_TRUE(spdy_stream1.get() != NULL);
2370 EXPECT_EQ(0u, spdy_stream1->stream_id()); 2376 EXPECT_EQ(0u, spdy_stream1->stream_id());
2371 2377
2372 scoped_ptr<SpdyHeaderBlock> headers1( 2378 scoped_ptr<SpdyHeaderBlock> headers1(
2373 spdy_util_.ConstructGetHeaderBlock(url1.spec())); 2379 spdy_util_.ConstructGetHeaderBlock(url1.spec()));
2374 spdy_stream1->SendRequestHeaders(headers1.Pass(), NO_MORE_DATA_TO_SEND); 2380 spdy_stream1->SendRequestHeaders(headers1.Pass(), NO_MORE_DATA_TO_SEND);
2375 EXPECT_TRUE(spdy_stream1->HasUrl()); 2381 EXPECT_TRUE(spdy_stream1->HasUrl());
2376 2382
2377 // Run until 1st read. 2383 // Run until 1st read.
(...skipping 1309 matching lines...) Expand 10 before | Expand all | Expand 10 after
3687 EXPECT_EQ( 3693 EXPECT_EQ(
3688 OK, 3694 OK,
3689 InitializeSession(http_session_.get(), session1.get(), 3695 InitializeSession(http_session_.get(), session1.get(),
3690 key1.host_port_pair())); 3696 key1.host_port_pair()));
3691 EXPECT_FALSE(pool->IsStalled()); 3697 EXPECT_FALSE(pool->IsStalled());
3692 3698
3693 // Create a stream using the session, and send a request. 3699 // Create a stream using the session, and send a request.
3694 3700
3695 TestCompletionCallback callback1; 3701 TestCompletionCallback callback1;
3696 base::WeakPtr<SpdyStream> spdy_stream1 = 3702 base::WeakPtr<SpdyStream> spdy_stream1 =
3697 CreateStreamSynchronously(SPDY_BIDIRECTIONAL_STREAM, 3703 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM,
3698 session1, url1, DEFAULT_PRIORITY, 3704 session1, url1, DEFAULT_PRIORITY,
3699 BoundNetLog()); 3705 BoundNetLog());
3700 ASSERT_TRUE(spdy_stream1.get()); 3706 ASSERT_TRUE(spdy_stream1.get());
3707 test::StreamDelegateDoNothing delegate1(spdy_stream1);
3708 spdy_stream1->SetDelegate(&delegate1);
3701 3709
3702 scoped_ptr<SpdyHeaderBlock> headers1( 3710 scoped_ptr<SpdyHeaderBlock> headers1(
3703 spdy_util_.ConstructGetHeaderBlock(url1.spec())); 3711 spdy_util_.ConstructGetHeaderBlock(url1.spec()));
3704 EXPECT_EQ(ERR_IO_PENDING, 3712 EXPECT_EQ(ERR_IO_PENDING,
3705 spdy_stream1->SendRequestHeaders( 3713 spdy_stream1->SendRequestHeaders(
3706 headers1.Pass(), NO_MORE_DATA_TO_SEND)); 3714 headers1.Pass(), NO_MORE_DATA_TO_SEND));
3707 EXPECT_TRUE(spdy_stream1->HasUrl()); 3715 EXPECT_TRUE(spdy_stream1->HasUrl());
3708 3716
3709 base::MessageLoop::current()->RunUntilIdle(); 3717 base::MessageLoop::current()->RunUntilIdle();
3710 3718
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
3772 spdy_session_pool_->Remove(session_privacy_enabled); 3780 spdy_session_pool_->Remove(session_privacy_enabled);
3773 EXPECT_FALSE(spdy_session_pool_->HasSession(key_privacy_enabled)); 3781 EXPECT_FALSE(spdy_session_pool_->HasSession(key_privacy_enabled));
3774 EXPECT_TRUE(spdy_session_pool_->HasSession(key_privacy_disabled)); 3782 EXPECT_TRUE(spdy_session_pool_->HasSession(key_privacy_disabled));
3775 3783
3776 spdy_session_pool_->Remove(session_privacy_disabled); 3784 spdy_session_pool_->Remove(session_privacy_disabled);
3777 EXPECT_FALSE(spdy_session_pool_->HasSession(key_privacy_enabled)); 3785 EXPECT_FALSE(spdy_session_pool_->HasSession(key_privacy_enabled));
3778 EXPECT_FALSE(spdy_session_pool_->HasSession(key_privacy_disabled)); 3786 EXPECT_FALSE(spdy_session_pool_->HasSession(key_privacy_disabled));
3779 } 3787 }
3780 3788
3781 } // namespace net 3789 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/spdy_session_spdy2_unittest.cc ('k') | net/spdy/spdy_stream.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698