Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Side by Side Diff: google_apis/gcm/base/socket_stream_unittest.cc

Issue 1141453005: Remove use of deprecated DelayedSocketData gcm_unit_test. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | google_apis/gcm/engine/connection_handler_impl_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "google_apis/gcm/base/socket_stream.h" 5 #include "google_apis/gcm/base/socket_stream.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 28 matching lines...) Expand all
39 39
40 // Simulates a google::protobuf::io::CodedInputStream read. 40 // Simulates a google::protobuf::io::CodedInputStream read.
41 base::StringPiece DoInputStreamRead(int bytes); 41 base::StringPiece DoInputStreamRead(int bytes);
42 // Simulates a google::protobuf::io::CodedOutputStream write. 42 // Simulates a google::protobuf::io::CodedOutputStream write.
43 int DoOutputStreamWrite(const base::StringPiece& write_src); 43 int DoOutputStreamWrite(const base::StringPiece& write_src);
44 44
45 // Synchronous Refresh wrapper. 45 // Synchronous Refresh wrapper.
46 void WaitForData(int msg_size); 46 void WaitForData(int msg_size);
47 47
48 base::MessageLoop* message_loop() { return &message_loop_; }; 48 base::MessageLoop* message_loop() { return &message_loop_; };
49 net::DelayedSocketData* data_provider() { return data_provider_.get(); } 49 net::StaticSocketDataProvider* data_provider() {
50 return data_provider_.get();
51 }
50 SocketInputStream* input_stream() { return socket_input_stream_.get(); } 52 SocketInputStream* input_stream() { return socket_input_stream_.get(); }
51 SocketOutputStream* output_stream() { return socket_output_stream_.get(); } 53 SocketOutputStream* output_stream() { return socket_output_stream_.get(); }
52 net::StreamSocket* socket() { return socket_.get(); } 54 net::StreamSocket* socket() { return socket_.get(); }
53 55
54 private: 56 private:
55 void OpenConnection(); 57 void OpenConnection();
56 void ResetInputStream(); 58 void ResetInputStream();
57 void ResetOutputStream(); 59 void ResetOutputStream();
58 60
59 void ConnectCallback(int result); 61 void ConnectCallback(int result);
60 62
61 // SocketStreams and their data providers. 63 // SocketStreams and their data providers.
62 ReadList mock_reads_; 64 ReadList mock_reads_;
63 WriteList mock_writes_; 65 WriteList mock_writes_;
64 scoped_ptr<net::DelayedSocketData> data_provider_; 66 scoped_ptr<net::StaticSocketDataProvider> data_provider_;
65 scoped_ptr<SocketInputStream> socket_input_stream_; 67 scoped_ptr<SocketInputStream> socket_input_stream_;
66 scoped_ptr<SocketOutputStream> socket_output_stream_; 68 scoped_ptr<SocketOutputStream> socket_output_stream_;
67 69
68 // net:: components. 70 // net:: components.
69 scoped_ptr<net::StreamSocket> socket_; 71 scoped_ptr<net::StreamSocket> socket_;
70 net::MockClientSocketFactory socket_factory_; 72 net::MockClientSocketFactory socket_factory_;
71 net::AddressList address_list_; 73 net::AddressList address_list_;
72 74
73 base::MessageLoopForIO message_loop_; 75 base::MessageLoopForIO message_loop_;
74 }; 76 };
75 77
76 GCMSocketStreamTest::GCMSocketStreamTest() { 78 GCMSocketStreamTest::GCMSocketStreamTest() {
77 net::IPAddressNumber ip_number; 79 net::IPAddressNumber ip_number;
78 net::ParseIPLiteralToNumber("127.0.0.1", &ip_number); 80 net::ParseIPLiteralToNumber("127.0.0.1", &ip_number);
79 address_list_ = net::AddressList::CreateFromIPAddress(ip_number, 5228); 81 address_list_ = net::AddressList::CreateFromIPAddress(ip_number, 5228);
80 } 82 }
81 83
82 GCMSocketStreamTest::~GCMSocketStreamTest() {} 84 GCMSocketStreamTest::~GCMSocketStreamTest() {}
83 85
84 void GCMSocketStreamTest::BuildSocket(const ReadList& read_list, 86 void GCMSocketStreamTest::BuildSocket(const ReadList& read_list,
85 const WriteList& write_list) { 87 const WriteList& write_list) {
86 mock_reads_ = read_list; 88 mock_reads_ = read_list;
87 mock_writes_ = write_list; 89 mock_writes_ = write_list;
88 data_provider_.reset( 90 data_provider_.reset(
89 new net::DelayedSocketData( 91 new net::StaticSocketDataProvider(
90 0,
91 vector_as_array(&mock_reads_), mock_reads_.size(), 92 vector_as_array(&mock_reads_), mock_reads_.size(),
92 vector_as_array(&mock_writes_), mock_writes_.size())); 93 vector_as_array(&mock_writes_), mock_writes_.size()));
93 socket_factory_.AddSocketDataProvider(data_provider_.get()); 94 socket_factory_.AddSocketDataProvider(data_provider_.get());
94 OpenConnection(); 95 OpenConnection();
95 ResetInputStream(); 96 ResetInputStream();
96 ResetOutputStream(); 97 ResetOutputStream();
97 } 98 }
98 99
99 void GCMSocketStreamTest::PumpLoop() { 100 void GCMSocketStreamTest::PumpLoop() {
100 base::RunLoop run_loop; 101 base::RunLoop run_loop;
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 ASSERT_EQ(std::string(kReadData, kReadDataSize), 225 ASSERT_EQ(std::string(kReadData, kReadDataSize),
225 DoInputStreamRead(kReadDataSize)); 226 DoInputStreamRead(kReadDataSize));
226 } 227 }
227 228
228 // A read where no data is available at first (IO_PENDING will be returned). 229 // A read where no data is available at first (IO_PENDING will be returned).
229 TEST_F(GCMSocketStreamTest, ReadAsync) { 230 TEST_F(GCMSocketStreamTest, ReadAsync) {
230 int first_read_len = kReadDataSize / 2; 231 int first_read_len = kReadDataSize / 2;
231 int second_read_len = kReadDataSize - first_read_len; 232 int second_read_len = kReadDataSize - first_read_len;
232 ReadList read_list; 233 ReadList read_list;
233 read_list.push_back( 234 read_list.push_back(
234 net::MockRead(net::SYNCHRONOUS, net::ERR_IO_PENDING));
235 read_list.push_back(
236 net::MockRead(net::ASYNC, kReadData, first_read_len)); 235 net::MockRead(net::ASYNC, kReadData, first_read_len));
237 read_list.push_back( 236 read_list.push_back(
238 net::MockRead(net::ASYNC, &kReadData[first_read_len], second_read_len)); 237 net::MockRead(net::ASYNC, &kReadData[first_read_len], second_read_len));
239 BuildSocket(read_list, WriteList()); 238 BuildSocket(read_list, WriteList());
240
241 base::MessageLoop::current()->PostTask(
242 FROM_HERE,
243 base::Bind(&net::DelayedSocketData::ForceNextRead,
244 base::Unretained(data_provider())));
245 WaitForData(kReadDataSize); 239 WaitForData(kReadDataSize);
246 ASSERT_EQ(std::string(kReadData, kReadDataSize), 240 ASSERT_EQ(std::string(kReadData, kReadDataSize),
247 DoInputStreamRead(kReadDataSize)); 241 DoInputStreamRead(kReadDataSize));
248 } 242 }
249 243
250 // Simulate two packets arriving at once. Read them in two separate calls. 244 // Simulate two packets arriving at once. Read them in two separate calls.
251 TEST_F(GCMSocketStreamTest, TwoReadsAtOnce) { 245 TEST_F(GCMSocketStreamTest, TwoReadsAtOnce) {
252 std::string long_data = std::string(kReadData, kReadDataSize) + 246 std::string long_data = std::string(kReadData, kReadDataSize) +
253 std::string(kReadData2, kReadData2Size); 247 std::string(kReadData2, kReadData2Size);
254 BuildSocket(ReadList(1, net::MockRead(net::SYNCHRONOUS, 248 BuildSocket(ReadList(1, net::MockRead(net::SYNCHRONOUS,
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 TEST_F(GCMSocketStreamTest, WriteDisconnected) { 391 TEST_F(GCMSocketStreamTest, WriteDisconnected) {
398 BuildSocket(ReadList(), WriteList()); 392 BuildSocket(ReadList(), WriteList());
399 socket()->Disconnect(); 393 socket()->Disconnect();
400 DoOutputStreamWrite(base::StringPiece(kWriteData, kWriteDataSize)); 394 DoOutputStreamWrite(base::StringPiece(kWriteData, kWriteDataSize));
401 ASSERT_EQ(SocketOutputStream::CLOSED, output_stream()->GetState()); 395 ASSERT_EQ(SocketOutputStream::CLOSED, output_stream()->GetState());
402 ASSERT_EQ(net::ERR_CONNECTION_CLOSED, output_stream()->last_error()); 396 ASSERT_EQ(net::ERR_CONNECTION_CLOSED, output_stream()->last_error());
403 } 397 }
404 398
405 } // namespace 399 } // namespace
406 } // namespace gcm 400 } // namespace gcm
OLDNEW
« no previous file with comments | « no previous file | google_apis/gcm/engine/connection_handler_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698