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

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: Quic Tests 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 reads[] = {
2125 CreateMockRead(resp, 1), CreateMockRead(response_body_frame, 2),
2126 MockRead(ASYNC, 0, 0, 3) // EOF
2127 };
2128 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
2129
2130 TestDelegate d;
2131 SpdyURLRequestContext spdy_url_request_context;
2132 TestNetworkDelegate network_delegate_;
2133 spdy_url_request_context.set_network_delegate(&network_delegate_);
2134 SSLSocketDataProvider ssl_data(ASYNC, OK);
2135 ssl_data.next_proto = kProtoHTTP2;
2136
2137 std::unique_ptr<URLRequest> r(spdy_url_request_context.CreateRequest(
2138 GURL(kDefaultUrl), DEFAULT_PRIORITY, &d));
2139 spdy_url_request_context.socket_factory().AddSSLSocketDataProvider(&ssl_data);
2140 spdy_url_request_context.socket_factory().AddSocketDataProvider(&data);
2141
2142 r->Start();
2143 base::RunLoop().Run();
2144
2145 EXPECT_EQ(33, r->GetTotalSentBytes());
2146 EXPECT_EQ(33, network_delegate_.total_network_bytes_sent());
2147 EXPECT_EQ(47, r->GetTotalReceivedBytes());
2148 EXPECT_EQ(20, r->raw_header_size());
2149 EXPECT_TRUE(data.AllReadDataConsumed());
2150 EXPECT_TRUE(data.AllWriteDataConsumed());
2151 }
2152
2153 TEST_F(SpdyNetworkTransactionTest,
2154 TestRawHeaderSizeSuccessfullPushHeadersFirst) {
2155 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl));
2156 headers["user-agent"] = "";
2157 headers["accept-encoding"] = "gzip, deflate";
2158
2159 SpdySerializedFrame req(
2160 spdy_util_.ConstructSpdyHeaders(1, std::move(headers), LOWEST, true));
2161 MockWrite writes[] = {
2162 CreateMockWrite(req, 0),
2163 };
2164
2165 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
2166 SpdySerializedFrame response_body_frame(
2167 spdy_util_.ConstructSpdyDataFrame(1, "should not include", 18, true));
2168
2169 SpdyHeaderBlock push_headers;
2170 spdy_util_.AddUrlToHeaderBlock(std::string(kDefaultUrl) + "b.dat",
2171 &push_headers);
2172
2173 SpdySerializedFrame push_init_frame(
2174 spdy_util_.ConstructInitialSpdyPushFrame(std::move(push_headers), 2, 1));
2175
2176 SpdySerializedFrame push_headers_frame(
2177 spdy_util_.ConstructSpdyPushHeaders(2, nullptr, 0));
2178
2179 SpdySerializedFrame push_body_frame(spdy_util_.ConstructSpdyDataFrame(
2180 2, "should not include either", 25, false));
2181 MockRead reads[] = {
2182 CreateMockRead(push_init_frame, 1),
2183 CreateMockRead(push_headers_frame, 2),
2184 CreateMockRead(push_body_frame, 3),
2185 CreateMockRead(resp, 4),
2186 CreateMockRead(response_body_frame, 5),
2187 MockRead(ASYNC, 0, 6) // EOF
2188 };
2189
2190 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
2191
2192 TestDelegate d;
2193 SpdyURLRequestContext spdy_url_request_context;
2194 TestNetworkDelegate network_delegate_;
2195 spdy_url_request_context.set_network_delegate(&network_delegate_);
2196 SSLSocketDataProvider ssl_data(ASYNC, OK);
2197 ssl_data.next_proto = kProtoHTTP2;
2198
2199 std::unique_ptr<URLRequest> r(spdy_url_request_context.CreateRequest(
2200 GURL(kDefaultUrl), DEFAULT_PRIORITY, &d));
2201 spdy_url_request_context.socket_factory().AddSSLSocketDataProvider(&ssl_data);
2202 spdy_url_request_context.socket_factory().AddSocketDataProvider(&data);
2203
2204 r->Start();
2205 base::RunLoop().Run();
2206
2207 EXPECT_EQ(33, r->GetTotalSentBytes());
2208 EXPECT_EQ(33, network_delegate_.total_network_bytes_sent());
2209 EXPECT_EQ(87, r->GetTotalReceivedBytes());
2210 // raw_header_size() will contain the size of the push promise frame
2211 // initialization.
2212 EXPECT_EQ(60, r->raw_header_size());
2213 EXPECT_TRUE(data.AllReadDataConsumed());
2214 EXPECT_TRUE(data.AllWriteDataConsumed());
2215 }
2216
2108 // Send a spdy request to www.example.org that gets redirected to www.foo.com. 2217 // Send a spdy request to www.example.org that gets redirected to www.foo.com.
2109 TEST_F(SpdyNetworkTransactionTest, DISABLED_RedirectGetRequest) { 2218 TEST_F(SpdyNetworkTransactionTest, DISABLED_RedirectGetRequest) {
2110 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); 2219 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl));
2111 headers["user-agent"] = ""; 2220 headers["user-agent"] = "";
2112 headers["accept-encoding"] = "gzip, deflate"; 2221 headers["accept-encoding"] = "gzip, deflate";
2113 2222
2114 // Setup writes/reads to www.example.org 2223 // Setup writes/reads to www.example.org
2115 SpdySerializedFrame req( 2224 SpdySerializedFrame req(
2116 spdy_util_.ConstructSpdyHeaders(1, std::move(headers), LOWEST, true)); 2225 spdy_util_.ConstructSpdyHeaders(1, std::move(headers), LOWEST, true));
2117 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReplyRedirect(1)); 2226 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReplyRedirect(1));
(...skipping 4106 matching lines...) Expand 10 before | Expand all | Expand 10 after
6224 TEST_F(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) { 6333 TEST_F(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) {
6225 std::unique_ptr<SSLSocketDataProvider> ssl_provider( 6334 std::unique_ptr<SSLSocketDataProvider> ssl_provider(
6226 new SSLSocketDataProvider(ASYNC, OK)); 6335 new SSLSocketDataProvider(ASYNC, OK));
6227 // Set to TLS_RSA_WITH_NULL_MD5 6336 // Set to TLS_RSA_WITH_NULL_MD5
6228 SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status); 6337 SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status);
6229 6338
6230 RunTLSUsageCheckTest(std::move(ssl_provider)); 6339 RunTLSUsageCheckTest(std::move(ssl_provider));
6231 } 6340 }
6232 6341
6233 } // namespace net 6342 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698