| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 #include "net/spdy/spdy_session.h" | 6 #include "net/spdy/spdy_session.h" |
| 7 #include "net/spdy/spdy_test_util.h" | 7 #include "net/spdy/spdy_test_util.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 | 9 |
| 10 namespace net { | 10 namespace net { |
| 11 | 11 |
| 12 class SpdyHttpStreamTest : public testing::Test { | 12 class SpdyHttpStreamTest : public testing::Test { |
| 13 public: | 13 public: |
| 14 OrderedSocketData* data() { return data_; } | 14 OrderedSocketData* data() { return data_; } |
| 15 protected: | 15 protected: |
| 16 SpdyHttpStreamTest() {} | 16 SpdyHttpStreamTest() {} |
| 17 | 17 |
| 18 void EnableCompression(bool enabled) { | 18 void EnableCompression(bool enabled) { |
| 19 spdy::SpdyFramer::set_enable_compression_default(enabled); | 19 spdy::SpdyFramer::set_enable_compression_default(enabled); |
| 20 } | 20 } |
| 21 | 21 |
| 22 virtual void TearDown() { | 22 virtual void TearDown() { |
| 23 MessageLoop::current()->RunAllPending(); | 23 MessageLoop::current()->RunAllPending(); |
| 24 } | 24 } |
| 25 int InitSession(MockRead* reads, size_t reads_count, | 25 int InitSession(MockRead* reads, size_t reads_count, |
| 26 MockWrite* writes, size_t writes_count, | 26 MockWrite* writes, size_t writes_count, |
| 27 HostPortPair& host_port_pair) { | 27 HostPortPair& host_port_pair) { |
| 28 HostPortProxyPair pair(host_port_pair, ""); | 28 HostPortProxyPair pair(host_port_pair, ProxyServer::Direct()); |
| 29 data_ = new OrderedSocketData(reads, reads_count, writes, writes_count); | 29 data_ = new OrderedSocketData(reads, reads_count, writes, writes_count); |
| 30 session_deps_.socket_factory->AddSocketDataProvider(data_.get()); | 30 session_deps_.socket_factory->AddSocketDataProvider(data_.get()); |
| 31 http_session_ = SpdySessionDependencies::SpdyCreateSession(&session_deps_); | 31 http_session_ = SpdySessionDependencies::SpdyCreateSession(&session_deps_); |
| 32 session_ = http_session_->spdy_session_pool()-> | 32 session_ = http_session_->spdy_session_pool()-> |
| 33 Get(pair, http_session_.get(), BoundNetLog()); | 33 Get(pair, http_session_.get(), BoundNetLog()); |
| 34 tcp_params_ = new TCPSocketParams(host_port_pair.host(), | 34 tcp_params_ = new TCPSocketParams(host_port_pair.host(), |
| 35 host_port_pair.port(), | 35 host_port_pair.port(), |
| 36 MEDIUM, GURL(), false); | 36 MEDIUM, GURL(), false); |
| 37 return session_->Connect(host_port_pair.host(), tcp_params_, MEDIUM); | 37 return session_->Connect(host_port_pair.host(), tcp_params_, MEDIUM); |
| 38 } | 38 } |
| (...skipping 12 matching lines...) Expand all Loading... |
| 51 MockWrite writes[] = { | 51 MockWrite writes[] = { |
| 52 CreateMockWrite(*req.get(), 1), | 52 CreateMockWrite(*req.get(), 1), |
| 53 }; | 53 }; |
| 54 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 54 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 55 MockRead reads[] = { | 55 MockRead reads[] = { |
| 56 CreateMockRead(*resp, 2), | 56 CreateMockRead(*resp, 2), |
| 57 MockRead(false, 0, 3) // EOF | 57 MockRead(false, 0, 3) // EOF |
| 58 }; | 58 }; |
| 59 | 59 |
| 60 HostPortPair host_port_pair("www.google.com", 80); | 60 HostPortPair host_port_pair("www.google.com", 80); |
| 61 HostPortProxyPair pair(host_port_pair, ""); | 61 HostPortProxyPair pair(host_port_pair, ProxyServer::Direct()); |
| 62 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), writes, arraysize(writes), | 62 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), writes, arraysize(writes), |
| 63 host_port_pair)); | 63 host_port_pair)); |
| 64 | 64 |
| 65 HttpRequestInfo request; | 65 HttpRequestInfo request; |
| 66 request.method = "GET"; | 66 request.method = "GET"; |
| 67 request.url = GURL("http://www.google.com/"); | 67 request.url = GURL("http://www.google.com/"); |
| 68 TestCompletionCallback callback; | 68 TestCompletionCallback callback; |
| 69 HttpResponseInfo response; | 69 HttpResponseInfo response; |
| 70 BoundNetLog net_log; | 70 BoundNetLog net_log; |
| 71 scoped_ptr<SpdyHttpStream> http_stream(new SpdyHttpStream(session_.get())); | 71 scoped_ptr<SpdyHttpStream> http_stream(new SpdyHttpStream(session_.get())); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 101 MockWrite writes[] = { | 101 MockWrite writes[] = { |
| 102 CreateMockWrite(*req.get(), 1), | 102 CreateMockWrite(*req.get(), 1), |
| 103 }; | 103 }; |
| 104 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 104 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 105 MockRead reads[] = { | 105 MockRead reads[] = { |
| 106 CreateMockRead(*resp, 2), | 106 CreateMockRead(*resp, 2), |
| 107 MockRead(false, 0, 3) // EOF | 107 MockRead(false, 0, 3) // EOF |
| 108 }; | 108 }; |
| 109 | 109 |
| 110 HostPortPair host_port_pair("www.google.com", 80); | 110 HostPortPair host_port_pair("www.google.com", 80); |
| 111 HostPortProxyPair pair(host_port_pair, ""); | 111 HostPortProxyPair pair(host_port_pair, ProxyServer::Direct()); |
| 112 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), writes, arraysize(writes), | 112 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), writes, arraysize(writes), |
| 113 host_port_pair)); | 113 host_port_pair)); |
| 114 | 114 |
| 115 HttpRequestInfo request; | 115 HttpRequestInfo request; |
| 116 request.method = "GET"; | 116 request.method = "GET"; |
| 117 request.url = GURL(full_url); | 117 request.url = GURL(full_url); |
| 118 TestCompletionCallback callback; | 118 TestCompletionCallback callback; |
| 119 HttpResponseInfo response; | 119 HttpResponseInfo response; |
| 120 BoundNetLog net_log; | 120 BoundNetLog net_log; |
| 121 scoped_ptr<SpdyHttpStream> http_stream(new SpdyHttpStream(session_)); | 121 scoped_ptr<SpdyHttpStream> http_stream(new SpdyHttpStream(session_)); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 144 // pool anymore. | 144 // pool anymore. |
| 145 EXPECT_TRUE(!http_session_->spdy_session_pool()->HasSession(pair)); | 145 EXPECT_TRUE(!http_session_->spdy_session_pool()->HasSession(pair)); |
| 146 EXPECT_TRUE(data()->at_read_eof()); | 146 EXPECT_TRUE(data()->at_read_eof()); |
| 147 EXPECT_TRUE(data()->at_write_eof()); | 147 EXPECT_TRUE(data()->at_write_eof()); |
| 148 } | 148 } |
| 149 | 149 |
| 150 // TODO(willchan): Write a longer test for SpdyStream that exercises all | 150 // TODO(willchan): Write a longer test for SpdyStream that exercises all |
| 151 // methods. | 151 // methods. |
| 152 | 152 |
| 153 } // namespace net | 153 } // namespace net |
| OLD | NEW |