OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/socket_stream/socket_stream.h" | 5 #include "net/socket_stream/socket_stream.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 if (!on_error_.is_null()) | 137 if (!on_error_.is_null()) |
138 on_error_.Run(&events_.back()); | 138 on_error_.Run(&events_.back()); |
139 if (callback_) | 139 if (callback_) |
140 callback_->Run(error); | 140 callback_->Run(error); |
141 } | 141 } |
142 | 142 |
143 void DoClose(SocketStreamEvent* event) { | 143 void DoClose(SocketStreamEvent* event) { |
144 event->socket->Close(); | 144 event->socket->Close(); |
145 } | 145 } |
146 void DoRestartWithAuth(SocketStreamEvent* event) { | 146 void DoRestartWithAuth(SocketStreamEvent* event) { |
147 VLOG(1) << "RestartWithAuth username=" << username_ | 147 VLOG(1) << "RestartWithAuth username=" << credentials_.username() |
148 << " password=" << password_; | 148 << " password=" << credentials_.password(); |
149 event->socket->RestartWithAuth(username_, password_); | 149 event->socket->RestartWithAuth(credentials_); |
150 } | 150 } |
151 void SetAuthInfo(const string16& username, | 151 void SetAuthInfo(const net::AuthCredentials& credentials) { |
152 const string16& password) { | 152 credentials_ = credentials; |
153 username_ = username; | |
154 password_ = password; | |
155 } | 153 } |
156 void CompleteConnection(int result) { | 154 void CompleteConnection(int result) { |
157 connection_callback_->Run(result); | 155 connection_callback_->Run(result); |
158 } | 156 } |
159 | 157 |
160 const std::vector<SocketStreamEvent>& GetSeenEvents() const { | 158 const std::vector<SocketStreamEvent>& GetSeenEvents() const { |
161 return events_; | 159 return events_; |
162 } | 160 } |
163 | 161 |
164 private: | 162 private: |
165 std::vector<SocketStreamEvent> events_; | 163 std::vector<SocketStreamEvent> events_; |
166 base::Callback<int(SocketStreamEvent*)> on_start_open_connection_; | 164 base::Callback<int(SocketStreamEvent*)> on_start_open_connection_; |
167 base::Callback<void(SocketStreamEvent*)> on_connected_; | 165 base::Callback<void(SocketStreamEvent*)> on_connected_; |
168 base::Callback<void(SocketStreamEvent*)> on_sent_data_; | 166 base::Callback<void(SocketStreamEvent*)> on_sent_data_; |
169 base::Callback<void(SocketStreamEvent*)> on_received_data_; | 167 base::Callback<void(SocketStreamEvent*)> on_received_data_; |
170 base::Callback<void(SocketStreamEvent*)> on_close_; | 168 base::Callback<void(SocketStreamEvent*)> on_close_; |
171 base::Callback<void(SocketStreamEvent*)> on_auth_required_; | 169 base::Callback<void(SocketStreamEvent*)> on_auth_required_; |
172 base::Callback<void(SocketStreamEvent*)> on_error_; | 170 base::Callback<void(SocketStreamEvent*)> on_error_; |
173 net::OldCompletionCallback* callback_; | 171 net::OldCompletionCallback* callback_; |
174 net::OldCompletionCallback* connection_callback_; | 172 net::OldCompletionCallback* connection_callback_; |
175 | 173 net::AuthCredentials credentials_; |
176 string16 username_; | |
177 string16 password_; | |
178 | 174 |
179 DISALLOW_COPY_AND_ASSIGN(SocketStreamEventRecorder); | 175 DISALLOW_COPY_AND_ASSIGN(SocketStreamEventRecorder); |
180 }; | 176 }; |
181 | 177 |
182 namespace net { | 178 namespace net { |
183 | 179 |
184 class SocketStreamTest : public PlatformTest { | 180 class SocketStreamTest : public PlatformTest { |
185 public: | 181 public: |
186 virtual ~SocketStreamTest() {} | 182 virtual ~SocketStreamTest() {} |
187 virtual void SetUp() { | 183 virtual void SetUp() { |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), | 363 StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2), |
368 data_writes2, arraysize(data_writes2)); | 364 data_writes2, arraysize(data_writes2)); |
369 mock_socket_factory.AddSocketDataProvider(&data2); | 365 mock_socket_factory.AddSocketDataProvider(&data2); |
370 | 366 |
371 TestOldCompletionCallback callback; | 367 TestOldCompletionCallback callback; |
372 | 368 |
373 scoped_ptr<SocketStreamEventRecorder> delegate( | 369 scoped_ptr<SocketStreamEventRecorder> delegate( |
374 new SocketStreamEventRecorder(&callback)); | 370 new SocketStreamEventRecorder(&callback)); |
375 delegate->SetOnConnected(base::Bind(&SocketStreamEventRecorder::DoClose, | 371 delegate->SetOnConnected(base::Bind(&SocketStreamEventRecorder::DoClose, |
376 base::Unretained(delegate.get()))); | 372 base::Unretained(delegate.get()))); |
377 delegate->SetAuthInfo(ASCIIToUTF16("foo"), ASCIIToUTF16("bar")); | 373 delegate->SetAuthInfo(net::AuthCredentials(ASCIIToUTF16("foo"), |
| 374 ASCIIToUTF16("bar"))); |
378 delegate->SetOnAuthRequired(base::Bind( | 375 delegate->SetOnAuthRequired(base::Bind( |
379 &SocketStreamEventRecorder::DoRestartWithAuth, | 376 &SocketStreamEventRecorder::DoRestartWithAuth, |
380 base::Unretained(delegate.get()))); | 377 base::Unretained(delegate.get()))); |
381 | 378 |
382 scoped_refptr<SocketStream> socket_stream( | 379 scoped_refptr<SocketStream> socket_stream( |
383 new SocketStream(GURL("ws://example.com/demo"), delegate.get())); | 380 new SocketStream(GURL("ws://example.com/demo"), delegate.get())); |
384 | 381 |
385 socket_stream->set_context(new TestURLRequestContext("myproxy:70")); | 382 socket_stream->set_context(new TestURLRequestContext("myproxy:70")); |
386 MockHostResolver host_resolver; | 383 MockHostResolver host_resolver; |
387 socket_stream->SetHostResolver(&host_resolver); | 384 socket_stream->SetHostResolver(&host_resolver); |
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
634 | 631 |
635 EXPECT_EQ(SocketStreamEvent::EVENT_START_OPEN_CONNECTION, | 632 EXPECT_EQ(SocketStreamEvent::EVENT_START_OPEN_CONNECTION, |
636 events[0].event_type); | 633 events[0].event_type); |
637 EXPECT_EQ(SocketStreamEvent::EVENT_CONNECTED, events[1].event_type); | 634 EXPECT_EQ(SocketStreamEvent::EVENT_CONNECTED, events[1].event_type); |
638 EXPECT_EQ(SocketStreamEvent::EVENT_ERROR, events[2].event_type); | 635 EXPECT_EQ(SocketStreamEvent::EVENT_ERROR, events[2].event_type); |
639 EXPECT_EQ(net::ERR_ABORTED, events[2].error_code); | 636 EXPECT_EQ(net::ERR_ABORTED, events[2].error_code); |
640 EXPECT_EQ(SocketStreamEvent::EVENT_CLOSE, events[3].event_type); | 637 EXPECT_EQ(SocketStreamEvent::EVENT_CLOSE, events[3].event_type); |
641 } | 638 } |
642 | 639 |
643 } // namespace net | 640 } // namespace net |
OLD | NEW |