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 "net/spdy/spdy_http_stream.h" | 5 #include "net/spdy/spdy_http_stream.h" |
6 | 6 |
7 #include "crypto/rsa_private_key.h" | 7 #include "crypto/rsa_private_key.h" |
8 #include "crypto/signature_creator.h" | 8 #include "crypto/signature_creator.h" |
9 #include "net/base/default_origin_bound_cert_store.h" | 9 #include "net/base/default_origin_bound_cert_store.h" |
10 #include "net/http/http_response_headers.h" | 10 #include "net/http/http_response_headers.h" |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 EnableCompression(false); | 62 EnableCompression(false); |
63 SpdySession::SetSSLMode(false); | 63 SpdySession::SetSSLMode(false); |
64 | 64 |
65 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); | 65 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); |
66 MockWrite writes[] = { | 66 MockWrite writes[] = { |
67 CreateMockWrite(*req.get(), 1), | 67 CreateMockWrite(*req.get(), 1), |
68 }; | 68 }; |
69 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 69 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
70 MockRead reads[] = { | 70 MockRead reads[] = { |
71 CreateMockRead(*resp, 2), | 71 CreateMockRead(*resp, 2), |
72 MockRead(false, 0, 3) // EOF | 72 MockRead(SYNCHRONOUS, 0, 3) // EOF |
73 }; | 73 }; |
74 | 74 |
75 HostPortPair host_port_pair("www.google.com", 80); | 75 HostPortPair host_port_pair("www.google.com", 80); |
76 HostPortProxyPair pair(host_port_pair, ProxyServer::Direct()); | 76 HostPortProxyPair pair(host_port_pair, ProxyServer::Direct()); |
77 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), writes, arraysize(writes), | 77 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), writes, arraysize(writes), |
78 host_port_pair)); | 78 host_port_pair)); |
79 | 79 |
80 HttpRequestInfo request; | 80 HttpRequestInfo request; |
81 request.method = "GET"; | 81 request.method = "GET"; |
82 request.url = GURL("http://www.google.com/"); | 82 request.url = GURL("http://www.google.com/"); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 MockWrite writes[] = { | 118 MockWrite writes[] = { |
119 CreateMockWrite(*req.get(), 1), | 119 CreateMockWrite(*req.get(), 1), |
120 CreateMockWrite(*chunk1, 2), // POST upload frames | 120 CreateMockWrite(*chunk1, 2), // POST upload frames |
121 CreateMockWrite(*chunk2, 3), | 121 CreateMockWrite(*chunk2, 3), |
122 }; | 122 }; |
123 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); | 123 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); |
124 MockRead reads[] = { | 124 MockRead reads[] = { |
125 CreateMockRead(*resp, 4), | 125 CreateMockRead(*resp, 4), |
126 CreateMockRead(*chunk1, 5), | 126 CreateMockRead(*chunk1, 5), |
127 CreateMockRead(*chunk2, 5), | 127 CreateMockRead(*chunk2, 5), |
128 MockRead(false, 0, 6) // EOF | 128 MockRead(SYNCHRONOUS, 0, 6) // EOF |
129 }; | 129 }; |
130 | 130 |
131 HostPortPair host_port_pair("www.google.com", 80); | 131 HostPortPair host_port_pair("www.google.com", 80); |
132 HostPortProxyPair pair(host_port_pair, ProxyServer::Direct()); | 132 HostPortProxyPair pair(host_port_pair, ProxyServer::Direct()); |
133 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), writes, arraysize(writes), | 133 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), writes, arraysize(writes), |
134 host_port_pair)); | 134 host_port_pair)); |
135 | 135 |
136 HttpRequestInfo request; | 136 HttpRequestInfo request; |
137 request.method = "POST"; | 137 request.method = "POST"; |
138 request.url = GURL("http://www.google.com/"); | 138 request.url = GURL("http://www.google.com/"); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 | 177 |
178 const char * const full_url = "http://www.google.com/foo?query=what#anchor"; | 178 const char * const full_url = "http://www.google.com/foo?query=what#anchor"; |
179 const char * const base_url = "http://www.google.com/foo?query=what"; | 179 const char * const base_url = "http://www.google.com/foo?query=what"; |
180 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(base_url, false, 1, LOWEST)); | 180 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(base_url, false, 1, LOWEST)); |
181 MockWrite writes[] = { | 181 MockWrite writes[] = { |
182 CreateMockWrite(*req.get(), 1), | 182 CreateMockWrite(*req.get(), 1), |
183 }; | 183 }; |
184 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 184 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
185 MockRead reads[] = { | 185 MockRead reads[] = { |
186 CreateMockRead(*resp, 2), | 186 CreateMockRead(*resp, 2), |
187 MockRead(false, 0, 3) // EOF | 187 MockRead(SYNCHRONOUS, 0, 3) // EOF |
188 }; | 188 }; |
189 | 189 |
190 HostPortPair host_port_pair("www.google.com", 80); | 190 HostPortPair host_port_pair("www.google.com", 80); |
191 HostPortProxyPair pair(host_port_pair, ProxyServer::Direct()); | 191 HostPortProxyPair pair(host_port_pair, ProxyServer::Direct()); |
192 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), writes, arraysize(writes), | 192 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), writes, arraysize(writes), |
193 host_port_pair)); | 193 host_port_pair)); |
194 | 194 |
195 HttpRequestInfo request; | 195 HttpRequestInfo request; |
196 request.method = "GET"; | 196 request.method = "GET"; |
197 request.url = GURL(full_url); | 197 request.url = GURL(full_url); |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
295 CreateMockWrite(*req.get(), 0), | 295 CreateMockWrite(*req.get(), 0), |
296 CreateMockWrite(*credential.get(), 2), | 296 CreateMockWrite(*credential.get(), 2), |
297 CreateMockWrite(*req2.get(), 3), | 297 CreateMockWrite(*req2.get(), 3), |
298 }; | 298 }; |
299 | 299 |
300 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 300 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
301 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 3)); | 301 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 3)); |
302 MockRead reads[] = { | 302 MockRead reads[] = { |
303 CreateMockRead(*resp, 1), | 303 CreateMockRead(*resp, 1), |
304 CreateMockRead(*resp2, 4), | 304 CreateMockRead(*resp2, 4), |
305 MockRead(false, 0, 5) // EOF | 305 MockRead(SYNCHRONOUS, 0, 5) // EOF |
306 }; | 306 }; |
307 | 307 |
308 HostPortPair host_port_pair("www.google.com", 80); | 308 HostPortPair host_port_pair("www.google.com", 80); |
309 HostPortProxyPair pair(host_port_pair, ProxyServer::Direct()); | 309 HostPortProxyPair pair(host_port_pair, ProxyServer::Direct()); |
310 | 310 |
311 DeterministicMockClientSocketFactory* socket_factory = | 311 DeterministicMockClientSocketFactory* socket_factory = |
312 session_deps_.deterministic_socket_factory.get(); | 312 session_deps_.deterministic_socket_factory.get(); |
313 scoped_refptr<DeterministicSocketData> data( | 313 scoped_refptr<DeterministicSocketData> data( |
314 new DeterministicSocketData(reads, arraysize(reads), | 314 new DeterministicSocketData(reads, arraysize(reads), |
315 writes, arraysize(writes))); | 315 writes, arraysize(writes))); |
316 socket_factory->AddSocketDataProvider(data.get()); | 316 socket_factory->AddSocketDataProvider(data.get()); |
317 SSLSocketDataProvider ssl(false, OK); | 317 SSLSocketDataProvider ssl(SYNCHRONOUS, OK); |
318 ssl.origin_bound_cert_type = CLIENT_CERT_RSA_SIGN; | 318 ssl.origin_bound_cert_type = CLIENT_CERT_RSA_SIGN; |
319 ssl.origin_bound_cert_service = obc_service.get(); | 319 ssl.origin_bound_cert_service = obc_service.get(); |
320 ssl.protocol_negotiated = SSLClientSocket::kProtoSPDY3; | 320 ssl.protocol_negotiated = SSLClientSocket::kProtoSPDY3; |
321 socket_factory->AddSSLSocketDataProvider(&ssl); | 321 socket_factory->AddSSLSocketDataProvider(&ssl); |
322 http_session_ = SpdySessionDependencies::SpdyCreateSessionDeterministic( | 322 http_session_ = SpdySessionDependencies::SpdyCreateSessionDeterministic( |
323 &session_deps_); | 323 &session_deps_); |
324 session_ = http_session_->spdy_session_pool()->Get(pair, BoundNetLog()); | 324 session_ = http_session_->spdy_session_pool()->Get(pair, BoundNetLog()); |
325 transport_params_ = new TransportSocketParams(host_port_pair, | 325 transport_params_ = new TransportSocketParams(host_port_pair, |
326 MEDIUM, false, false); | 326 MEDIUM, false, false); |
327 TestCompletionCallback callback; | 327 TestCompletionCallback callback; |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
392 ASSERT_TRUE(response.headers.get() != NULL); | 392 ASSERT_TRUE(response.headers.get() != NULL); |
393 ASSERT_EQ(200, response.headers->response_code()); | 393 ASSERT_EQ(200, response.headers->response_code()); |
394 } | 394 } |
395 | 395 |
396 #endif // !defined(USE_OPENSSL) | 396 #endif // !defined(USE_OPENSSL) |
397 | 397 |
398 // TODO(willchan): Write a longer test for SpdyStream that exercises all | 398 // TODO(willchan): Write a longer test for SpdyStream that exercises all |
399 // methods. | 399 // methods. |
400 | 400 |
401 } // namespace net | 401 } // namespace net |
OLD | NEW |