Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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 |
| OLD | NEW |