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

Unified Diff: net/spdy/spdy_stream_unittest.cc

Issue 1828203005: Expose SPDY pushes in DevTools (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed tests Created 4 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/spdy/spdy_stream.cc ('k') | net/url_request/url_request_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/spdy/spdy_stream_unittest.cc
diff --git a/net/spdy/spdy_stream_unittest.cc b/net/spdy/spdy_stream_unittest.cc
index 05c01d5d2c1e8fbcb5129cc8e14b5a6186962a98..6a56ae35bf6a4cd39ae6cc3ea9b9e134da27344f 100644
--- a/net/spdy/spdy_stream_unittest.cc
+++ b/net/spdy/spdy_stream_unittest.cc
@@ -135,6 +135,13 @@ class SpdyStreamTest : public ::testing::Test,
return writes_.size();
}
+ void ActivatePushStream(SpdySession* session, SpdyStream* stream) {
+ std::unique_ptr<SpdyStream> activated =
+ session->ActivateCreatedStream(stream);
+ activated->set_stream_id(2);
+ session->InsertActivatedStream(std::move(activated));
+ }
+
SpdyTestUtil spdy_util_;
SpdySessionDependencies session_deps_;
std::unique_ptr<HttpNetworkSession> session_;
@@ -305,36 +312,51 @@ TEST_P(SpdyStreamTest, PushedStream) {
base::WeakPtr<SpdySession> spdy_session(CreateDefaultSpdySession());
// Conjure up a stream.
- SpdyStream stream(SPDY_PUSH_STREAM, spdy_session, GURL(), DEFAULT_PRIORITY,
- SpdySession::GetDefaultInitialWindowSize(kProtoSPDY31),
- SpdySession::GetDefaultInitialWindowSize(kProtoSPDY31),
- BoundNetLog());
- stream.set_stream_id(2);
- EXPECT_FALSE(stream.HasUrlFromHeaders());
+ SpdyStreamRequest stream_request;
+ int result = stream_request.StartRequest(SPDY_PUSH_STREAM, spdy_session,
+ GURL(), DEFAULT_PRIORITY,
+ BoundNetLog(), CompletionCallback());
+ ASSERT_EQ(OK, result);
+ base::WeakPtr<SpdyStream> stream = stream_request.ReleaseStream();
+ ActivatePushStream(spdy_session.get(), stream.get());
+
+ EXPECT_FALSE(stream->HasUrlFromHeaders());
// Set required request headers.
SpdyHeaderBlock request_headers;
spdy_util_.AddUrlToHeaderBlock(kStreamUrl, &request_headers);
- stream.OnPushPromiseHeadersReceived(request_headers);
+ stream->OnPushPromiseHeadersReceived(request_headers);
+ base::Time response_time = base::Time::Now();
+ base::TimeTicks first_byte_time = base::TimeTicks::Now();
// Send some basic response headers.
SpdyHeaderBlock response;
response[spdy_util_.GetStatusKey()] = "200";
response[spdy_util_.GetVersionKey()] = "OK";
- stream.OnInitialResponseHeadersReceived(
- response, base::Time::Now(), base::TimeTicks::Now());
+ stream->OnInitialResponseHeadersReceived(response, response_time,
+ first_byte_time);
// And some more headers.
// TODO(baranovich): not valid for HTTP 2.
SpdyHeaderBlock headers;
headers["alpha"] = "beta";
- stream.OnAdditionalResponseHeadersReceived(headers);
+ stream->OnAdditionalResponseHeadersReceived(headers);
+
+ EXPECT_TRUE(stream->HasUrlFromHeaders());
+ EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
+
+ StreamDelegateDoNothing delegate(stream->GetWeakPtr());
+ stream->SetDelegate(&delegate);
- EXPECT_TRUE(stream.HasUrlFromHeaders());
- EXPECT_EQ(kStreamUrl, stream.GetUrlFromHeaders().spec());
+ LoadTimingInfo load_timing_info;
+ EXPECT_TRUE(stream->GetLoadTimingInfo(&load_timing_info));
+ EXPECT_EQ(first_byte_time, load_timing_info.push_start);
+ EXPECT_TRUE(load_timing_info.push_end.is_null());
- StreamDelegateDoNothing delegate(stream.GetWeakPtr());
- stream.SetDelegate(&delegate);
+ stream->OnDataReceived(nullptr);
+ LoadTimingInfo load_timing_info2;
+ EXPECT_TRUE(stream->GetLoadTimingInfo(&load_timing_info2));
+ EXPECT_FALSE(load_timing_info2.push_end.is_null());
base::RunLoop().RunUntilIdle();
« no previous file with comments | « net/spdy/spdy_stream.cc ('k') | net/url_request/url_request_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698