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

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

Issue 2167853003: [DevTools] Always report encodedDataLength in Network.ResponseReceived. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changes Created 4 years, 3 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
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 <cmath> 5 #include <cmath>
6 #include <memory> 6 #include <memory>
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 2087 matching lines...) Expand 10 before | Expand all | Expand 10 after
2098 base::Bind(&SpdyNetworkTransactionTest::DeleteSessionCallback, 2098 base::Bind(&SpdyNetworkTransactionTest::DeleteSessionCallback,
2099 base::Unretained(&helper))); 2099 base::Unretained(&helper)));
2100 ASSERT_THAT(rv, IsError(ERR_IO_PENDING)); 2100 ASSERT_THAT(rv, IsError(ERR_IO_PENDING));
2101 data.Resume(); 2101 data.Resume();
2102 2102
2103 // Finish running rest of tasks. 2103 // Finish running rest of tasks.
2104 base::RunLoop().RunUntilIdle(); 2104 base::RunLoop().RunUntilIdle();
2105 helper.VerifyDataConsumed(); 2105 helper.VerifyDataConsumed();
2106 } 2106 }
2107 2107
2108 TEST_F(SpdyNetworkTransactionTest, TestRawHeaderSizeSuccessfullRequest) {
2109 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl));
2110 headers["user-agent"] = "";
2111 headers["accept-encoding"] = "gzip, deflate";
2112
2113 SpdySerializedFrame req(
2114 spdy_util_.ConstructSpdyHeaders(1, std::move(headers), LOWEST, true));
2115 MockWrite writes[] = {
2116 CreateMockWrite(req, 0),
2117 };
2118
2119 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
2120
2121 SpdySerializedFrame response_body_frame(
2122 spdy_util_.ConstructSpdyDataFrame(1, "should not include", 18, true));
2123
2124 MockRead response_headers(CreateMockRead(resp, 1));
2125 MockRead reads[] = {
2126 response_headers, CreateMockRead(response_body_frame, 2),
2127 MockRead(ASYNC, 0, 0, 3) // EOF
2128 };
2129 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
2130
2131 TestDelegate d;
Ryan Hamilton 2016/09/07 16:54:50 ditto
allada 2016/09/07 18:14:57 Done.
2132 SpdyURLRequestContext spdy_url_request_context;
2133 TestNetworkDelegate network_delegate_;
2134 spdy_url_request_context.set_network_delegate(&network_delegate_);
2135 SSLSocketDataProvider ssl_data(ASYNC, OK);
2136 ssl_data.next_proto = kProtoHTTP2;
2137
2138 std::unique_ptr<URLRequest> request(spdy_url_request_context.CreateRequest(
2139 GURL(kDefaultUrl), DEFAULT_PRIORITY, &d));
2140 spdy_url_request_context.socket_factory().AddSSLSocketDataProvider(&ssl_data);
2141 spdy_url_request_context.socket_factory().AddSocketDataProvider(&data);
2142
2143 request->Start();
2144 base::RunLoop().Run();
2145
2146 EXPECT_GT(request->GetTotalSentBytes(), 0);
Ryan Hamilton 2016/09/07 16:54:50 ditto
allada 2016/09/07 18:14:57 Done.
2147 EXPECT_GT(request->GetTotalReceivedBytes(), 0);
2148 EXPECT_EQ(network_delegate_.total_network_bytes_sent(),
2149 request->GetTotalSentBytes());
2150 EXPECT_EQ(network_delegate_.total_network_bytes_received(),
2151 request->GetTotalReceivedBytes());
2152 EXPECT_EQ(response_headers.data_len, request->raw_header_size());
2153 EXPECT_TRUE(data.AllReadDataConsumed());
2154 EXPECT_TRUE(data.AllWriteDataConsumed());
2155 }
2156
2157 TEST_F(SpdyNetworkTransactionTest,
2158 TestRawHeaderSizeSuccessfullPushHeadersFirst) {
2159 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl));
2160 headers["user-agent"] = "";
2161 headers["accept-encoding"] = "gzip, deflate";
2162
2163 SpdySerializedFrame req(
2164 spdy_util_.ConstructSpdyHeaders(1, std::move(headers), LOWEST, true));
2165 MockWrite writes[] = {
2166 CreateMockWrite(req, 0),
2167 };
2168
2169 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
2170 SpdySerializedFrame response_body_frame(
2171 spdy_util_.ConstructSpdyDataFrame(1, "should not include", 18, true));
2172
2173 SpdyHeaderBlock push_headers;
2174 spdy_util_.AddUrlToHeaderBlock(std::string(kDefaultUrl) + "b.dat",
2175 &push_headers);
2176
2177 SpdySerializedFrame push_init_frame(
2178 spdy_util_.ConstructInitialSpdyPushFrame(std::move(push_headers), 2, 1));
2179
2180 SpdySerializedFrame push_headers_frame(
2181 spdy_util_.ConstructSpdyPushHeaders(2, nullptr, 0));
2182
2183 SpdySerializedFrame push_body_frame(spdy_util_.ConstructSpdyDataFrame(
2184 2, "should not include either", 25, false));
2185
2186 MockRead push_init_read(CreateMockRead(push_init_frame, 1));
2187 MockRead response_headers(CreateMockRead(resp, 4));
2188 // raw_header_size() will contain the size of the push promise frame
2189 // initialization.
2190 int expected_response_headers_size =
2191 response_headers.data_len + push_init_read.data_len;
2192
2193 MockRead reads[] = {
2194 push_init_read,
2195 CreateMockRead(push_headers_frame, 2),
2196 CreateMockRead(push_body_frame, 3),
2197 response_headers,
2198 CreateMockRead(response_body_frame, 5),
2199 MockRead(ASYNC, 0, 6) // EOF
2200 };
2201
2202 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
2203
2204 TestDelegate d;
Ryan Hamilton 2016/09/07 16:54:50 ditto
allada 2016/09/07 18:14:57 Done.
2205 SpdyURLRequestContext spdy_url_request_context;
2206 TestNetworkDelegate network_delegate_;
2207 spdy_url_request_context.set_network_delegate(&network_delegate_);
2208 SSLSocketDataProvider ssl_data(ASYNC, OK);
2209 ssl_data.next_proto = kProtoHTTP2;
2210
2211 std::unique_ptr<URLRequest> request(spdy_url_request_context.CreateRequest(
2212 GURL(kDefaultUrl), DEFAULT_PRIORITY, &d));
2213 spdy_url_request_context.socket_factory().AddSSLSocketDataProvider(&ssl_data);
2214 spdy_url_request_context.socket_factory().AddSocketDataProvider(&data);
2215
2216 request->Start();
2217 base::RunLoop().Run();
2218
2219 EXPECT_GT(request->GetTotalSentBytes(), 0);
Ryan Hamilton 2016/09/07 16:54:50 ditto
allada 2016/09/07 18:14:57 Done.
2220 EXPECT_GT(request->GetTotalReceivedBytes(), 0);
2221 EXPECT_EQ(network_delegate_.total_network_bytes_sent(),
2222 request->GetTotalSentBytes());
2223 EXPECT_EQ(network_delegate_.total_network_bytes_received(),
2224 request->GetTotalReceivedBytes());
2225 EXPECT_EQ(expected_response_headers_size, request->raw_header_size());
2226 EXPECT_TRUE(data.AllReadDataConsumed());
2227 EXPECT_TRUE(data.AllWriteDataConsumed());
2228 }
2229
2108 // Send a spdy request to www.example.org that gets redirected to www.foo.com. 2230 // Send a spdy request to www.example.org that gets redirected to www.foo.com.
2109 TEST_F(SpdyNetworkTransactionTest, DISABLED_RedirectGetRequest) { 2231 TEST_F(SpdyNetworkTransactionTest, DISABLED_RedirectGetRequest) {
2110 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); 2232 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl));
2111 headers["user-agent"] = ""; 2233 headers["user-agent"] = "";
2112 headers["accept-encoding"] = "gzip, deflate"; 2234 headers["accept-encoding"] = "gzip, deflate";
2113 2235
2114 // Setup writes/reads to www.example.org 2236 // Setup writes/reads to www.example.org
2115 SpdySerializedFrame req( 2237 SpdySerializedFrame req(
2116 spdy_util_.ConstructSpdyHeaders(1, std::move(headers), LOWEST, true)); 2238 spdy_util_.ConstructSpdyHeaders(1, std::move(headers), LOWEST, true));
2117 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReplyRedirect(1)); 2239 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReplyRedirect(1));
(...skipping 4106 matching lines...) Expand 10 before | Expand all | Expand 10 after
6224 TEST_F(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) { 6346 TEST_F(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) {
6225 std::unique_ptr<SSLSocketDataProvider> ssl_provider( 6347 std::unique_ptr<SSLSocketDataProvider> ssl_provider(
6226 new SSLSocketDataProvider(ASYNC, OK)); 6348 new SSLSocketDataProvider(ASYNC, OK));
6227 // Set to TLS_RSA_WITH_NULL_MD5 6349 // Set to TLS_RSA_WITH_NULL_MD5
6228 SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status); 6350 SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status);
6229 6351
6230 RunTLSUsageCheckTest(std::move(ssl_provider)); 6352 RunTLSUsageCheckTest(std::move(ssl_provider));
6231 } 6353 }
6232 6354
6233 } // namespace net 6355 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698