Index: net/socket_stream/socket_stream_unittest.cc |
=================================================================== |
--- net/socket_stream/socket_stream_unittest.cc (revision 93861) |
+++ net/socket_stream/socket_stream_unittest.cc (working copy) |
@@ -535,109 +535,4 @@ |
EXPECT_EQ(net::ERR_PROTOCOL_SWITCHED, events[1].error_code); |
} |
-// Test a connection though a secure proxy. |
-TEST_F(SocketStreamTest, SecureProxyConnectError) { |
- MockClientSocketFactory mock_socket_factory; |
- MockWrite data_writes[] = { |
- MockWrite("CONNECT example.com:80 HTTP/1.1\r\n" |
- "Host: example.com\r\n" |
- "Proxy-Connection: keep-alive\r\n\r\n") |
- }; |
- MockRead data_reads[] = { |
- MockRead("HTTP/1.1 200 Connection Established\r\n"), |
- MockRead("Proxy-agent: Apache/2.2.8\r\n"), |
- MockRead("\r\n"), |
- // SocketStream::DoClose is run asynchronously. Socket can be read after |
- // "\r\n". We have to give ERR_IO_PENDING to SocketStream then to indicate |
- // server doesn't close the connection. |
- MockRead(true, ERR_IO_PENDING) |
- }; |
- StaticSocketDataProvider data(data_reads, arraysize(data_reads), |
- data_writes, arraysize(data_writes)); |
- mock_socket_factory.AddSocketDataProvider(&data); |
- SSLSocketDataProvider ssl(false, ERR_SSL_PROTOCOL_ERROR); |
- mock_socket_factory.AddSSLSocketDataProvider(&ssl); |
- |
- TestCompletionCallback callback; |
- |
- scoped_ptr<SocketStreamEventRecorder> delegate( |
- new SocketStreamEventRecorder(&callback)); |
- delegate->SetOnConnected(base::Bind(&SocketStreamEventRecorder::DoClose, |
- base::Unretained(delegate.get()))); |
- |
- scoped_refptr<SocketStream> socket_stream( |
- new SocketStream(GURL("ws://example.com/demo"), delegate.get())); |
- |
- socket_stream->set_context(new TestURLRequestContext("https://myproxy:70")); |
- MockHostResolver host_resolver; |
- socket_stream->SetHostResolver(&host_resolver); |
- socket_stream->SetClientSocketFactory(&mock_socket_factory); |
- |
- socket_stream->Connect(); |
- |
- callback.WaitForResult(); |
- |
- const std::vector<SocketStreamEvent>& events = delegate->GetSeenEvents(); |
- ASSERT_EQ(3U, events.size()); |
- |
- EXPECT_EQ(SocketStreamEvent::EVENT_START_OPEN_CONNECTION, |
- events[0].event_type); |
- EXPECT_EQ(SocketStreamEvent::EVENT_ERROR, events[1].event_type); |
- EXPECT_EQ(net::ERR_SSL_PROTOCOL_ERROR, events[1].error_code); |
- EXPECT_EQ(SocketStreamEvent::EVENT_CLOSE, events[2].event_type); |
-} |
- |
-// Test a connection though a secure proxy. |
-TEST_F(SocketStreamTest, SecureProxyConnect) { |
- MockClientSocketFactory mock_socket_factory; |
- MockWrite data_writes[] = { |
- MockWrite("CONNECT example.com:80 HTTP/1.1\r\n" |
- "Host: example.com\r\n" |
- "Proxy-Connection: keep-alive\r\n\r\n") |
- }; |
- MockRead data_reads[] = { |
- MockRead("HTTP/1.1 200 Connection Established\r\n"), |
- MockRead("Proxy-agent: Apache/2.2.8\r\n"), |
- MockRead("\r\n"), |
- // SocketStream::DoClose is run asynchronously. Socket can be read after |
- // "\r\n". We have to give ERR_IO_PENDING to SocketStream then to indicate |
- // server doesn't close the connection. |
- MockRead(true, ERR_IO_PENDING) |
- }; |
- StaticSocketDataProvider data(data_reads, arraysize(data_reads), |
- data_writes, arraysize(data_writes)); |
- mock_socket_factory.AddSocketDataProvider(&data); |
- SSLSocketDataProvider ssl(false, OK); |
- mock_socket_factory.AddSSLSocketDataProvider(&ssl); |
- |
- TestCompletionCallback callback; |
- |
- scoped_ptr<SocketStreamEventRecorder> delegate( |
- new SocketStreamEventRecorder(&callback)); |
- delegate->SetOnConnected(base::Bind(&SocketStreamEventRecorder::DoClose, |
- base::Unretained(delegate.get()))); |
- |
- scoped_refptr<SocketStream> socket_stream( |
- new SocketStream(GURL("ws://example.com/demo"), delegate.get())); |
- |
- socket_stream->set_context(new TestURLRequestContext("https://myproxy:70")); |
- MockHostResolver host_resolver; |
- socket_stream->SetHostResolver(&host_resolver); |
- socket_stream->SetClientSocketFactory(&mock_socket_factory); |
- |
- socket_stream->Connect(); |
- |
- callback.WaitForResult(); |
- |
- const std::vector<SocketStreamEvent>& events = delegate->GetSeenEvents(); |
- ASSERT_EQ(4U, events.size()); |
- |
- EXPECT_EQ(SocketStreamEvent::EVENT_START_OPEN_CONNECTION, |
- events[0].event_type); |
- EXPECT_EQ(SocketStreamEvent::EVENT_CONNECTED, events[1].event_type); |
- EXPECT_EQ(SocketStreamEvent::EVENT_ERROR, events[2].event_type); |
- EXPECT_EQ(net::ERR_ABORTED, events[2].error_code); |
- EXPECT_EQ(SocketStreamEvent::EVENT_CLOSE, events[3].event_type); |
-} |
- |
} // namespace net |