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

Side by Side Diff: blimp/net/tcp_transport_unittest.cc

Issue 1696563002: Blimp: add support for SSL connections. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: std::move'd another scoped_refptr. Created 4 years, 10 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 <string> 5 #include <string>
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "blimp/common/create_blimp_message.h" 9 #include "blimp/common/create_blimp_message.h"
10 #include "blimp/common/proto/blimp_message.pb.h" 10 #include "blimp/common/proto/blimp_message.pb.h"
(...skipping 17 matching lines...) Expand all
28 28
29 // Integration test for TCPEngineTransport and TCPClientTransport. 29 // Integration test for TCPEngineTransport and TCPClientTransport.
30 class TCPTransportTest : public testing::Test { 30 class TCPTransportTest : public testing::Test {
31 protected: 31 protected:
32 TCPTransportTest() { 32 TCPTransportTest() {
33 net::IPEndPoint local_address; 33 net::IPEndPoint local_address;
34 ParseAddress("127.0.0.1", 0, &local_address); 34 ParseAddress("127.0.0.1", 0, &local_address);
35 engine_.reset(new TCPEngineTransport(local_address, nullptr)); 35 engine_.reset(new TCPEngineTransport(local_address, nullptr));
36 } 36 }
37 37
38 net::AddressList GetLocalAddressList() const { 38 net::IPEndPoint GetLocalEndpoint() const {
39 net::IPEndPoint local_address; 39 net::IPEndPoint local_address;
40 engine_->GetLocalAddressForTesting(&local_address); 40 CHECK_EQ(net::OK, engine_->GetLocalAddressForTesting(&local_address));
41 return net::AddressList(local_address); 41 return local_address;
42 } 42 }
43 43
44 void ParseAddress(const std::string& ip_str, 44 void ParseAddress(const std::string& ip_str,
45 uint16_t port, 45 uint16_t port,
46 net::IPEndPoint* address) { 46 net::IPEndPoint* address) {
47 net::IPAddressNumber ip_number; 47 net::IPAddressNumber ip_number;
48 bool rv = net::ParseIPLiteralToNumber(ip_str, &ip_number); 48 bool rv = net::ParseIPLiteralToNumber(ip_str, &ip_number);
49 if (!rv) 49 if (!rv)
50 return; 50 return;
51 *address = net::IPEndPoint(ip_number, port); 51 *address = net::IPEndPoint(ip_number, port);
52 } 52 }
53 53
54 base::MessageLoopForIO message_loop_; 54 base::MessageLoopForIO message_loop_;
55 scoped_ptr<TCPEngineTransport> engine_; 55 scoped_ptr<TCPEngineTransport> engine_;
56 }; 56 };
57 57
58 TEST_F(TCPTransportTest, Connect) { 58 TEST_F(TCPTransportTest, Connect) {
59 net::TestCompletionCallback accept_callback; 59 net::TestCompletionCallback accept_callback;
60 engine_->Connect(accept_callback.callback()); 60 engine_->Connect(accept_callback.callback());
61 61
62 net::TestCompletionCallback connect_callback; 62 net::TestCompletionCallback connect_callback;
63 TCPClientTransport client(GetLocalAddressList(), nullptr); 63 TCPClientTransport client(GetLocalEndpoint(), nullptr);
64 client.Connect(connect_callback.callback()); 64 client.Connect(connect_callback.callback());
65 65
66 EXPECT_EQ(net::OK, connect_callback.WaitForResult()); 66 EXPECT_EQ(net::OK, connect_callback.WaitForResult());
67 EXPECT_EQ(net::OK, accept_callback.WaitForResult()); 67 EXPECT_EQ(net::OK, accept_callback.WaitForResult());
68 EXPECT_TRUE(engine_->TakeConnection() != nullptr); 68 EXPECT_TRUE(engine_->TakeConnection() != nullptr);
69 } 69 }
70 70
71 TEST_F(TCPTransportTest, TwoClientConnections) { 71 TEST_F(TCPTransportTest, TwoClientConnections) {
72 net::TestCompletionCallback accept_callback1; 72 net::TestCompletionCallback accept_callback1;
73 engine_->Connect(accept_callback1.callback()); 73 engine_->Connect(accept_callback1.callback());
74 74
75 net::TestCompletionCallback connect_callback1; 75 net::TestCompletionCallback connect_callback1;
76 TCPClientTransport client1(GetLocalAddressList(), nullptr); 76 TCPClientTransport client1(GetLocalEndpoint(), nullptr);
77 client1.Connect(connect_callback1.callback()); 77 client1.Connect(connect_callback1.callback());
78 78
79 net::TestCompletionCallback connect_callback2; 79 net::TestCompletionCallback connect_callback2;
80 TCPClientTransport client2(GetLocalAddressList(), nullptr); 80 TCPClientTransport client2(GetLocalEndpoint(), nullptr);
81 client2.Connect(connect_callback2.callback()); 81 client2.Connect(connect_callback2.callback());
82 82
83 EXPECT_EQ(net::OK, connect_callback1.WaitForResult()); 83 EXPECT_EQ(net::OK, connect_callback1.WaitForResult());
84 EXPECT_EQ(net::OK, accept_callback1.WaitForResult()); 84 EXPECT_EQ(net::OK, accept_callback1.WaitForResult());
85 EXPECT_TRUE(engine_->TakeConnection() != nullptr); 85 EXPECT_TRUE(engine_->TakeConnection() != nullptr);
86 86
87 net::TestCompletionCallback accept_callback2; 87 net::TestCompletionCallback accept_callback2;
88 engine_->Connect(accept_callback2.callback()); 88 engine_->Connect(accept_callback2.callback());
89 EXPECT_EQ(net::OK, connect_callback2.WaitForResult()); 89 EXPECT_EQ(net::OK, connect_callback2.WaitForResult());
90 EXPECT_EQ(net::OK, accept_callback2.WaitForResult()); 90 EXPECT_EQ(net::OK, accept_callback2.WaitForResult());
91 EXPECT_TRUE(engine_->TakeConnection() != nullptr); 91 EXPECT_TRUE(engine_->TakeConnection() != nullptr);
92 } 92 }
93 93
94 TEST_F(TCPTransportTest, ExchangeMessages) { 94 TEST_F(TCPTransportTest, ExchangeMessages) {
95 // Start the Engine transport and connect a client to it. 95 // Start the Engine transport and connect a client to it.
96 net::TestCompletionCallback accept_callback; 96 net::TestCompletionCallback accept_callback;
97 engine_->Connect(accept_callback.callback()); 97 engine_->Connect(accept_callback.callback());
98 net::TestCompletionCallback client_connect_callback; 98 net::TestCompletionCallback client_connect_callback;
99 TCPClientTransport client(GetLocalAddressList(), nullptr /* NetLog */); 99 TCPClientTransport client(GetLocalEndpoint(), nullptr /* NetLog */);
100 client.Connect(client_connect_callback.callback()); 100 client.Connect(client_connect_callback.callback());
101 EXPECT_EQ(net::OK, client_connect_callback.WaitForResult()); 101 EXPECT_EQ(net::OK, client_connect_callback.WaitForResult());
102 EXPECT_EQ(net::OK, accept_callback.WaitForResult()); 102 EXPECT_EQ(net::OK, accept_callback.WaitForResult());
103 103
104 // Expect the engine to get two messages from the client, and the client to 104 // Expect the engine to get two messages from the client, and the client to
105 // get one from the engine. 105 // get one from the engine.
106 MockBlimpMessageProcessor engine_incoming_processor; 106 MockBlimpMessageProcessor engine_incoming_processor;
107 MockBlimpMessageProcessor client_incoming_processor; 107 MockBlimpMessageProcessor client_incoming_processor;
108 net::CompletionCallback engine_process_message_cb; 108 net::CompletionCallback engine_process_message_cb;
109 scoped_ptr<BlimpMessage> client_message1 = 109 scoped_ptr<BlimpMessage> client_message1 =
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 // Client sends the second message. 145 // Client sends the second message.
146 net::TestCompletionCallback client_send_callback2; 146 net::TestCompletionCallback client_send_callback2;
147 client_connnection->GetOutgoingMessageProcessor()->ProcessMessage( 147 client_connnection->GetOutgoingMessageProcessor()->ProcessMessage(
148 std::move(client_message2), client_send_callback2.callback()); 148 std::move(client_message2), client_send_callback2.callback());
149 EXPECT_EQ(net::OK, client_send_callback2.WaitForResult()); 149 EXPECT_EQ(net::OK, client_send_callback2.WaitForResult());
150 } 150 }
151 151
152 } // namespace 152 } // namespace
153 153
154 } // namespace blimp 154 } // namespace blimp
OLDNEW
« blimp/net/ssl_client_transport.cc ('K') | « blimp/net/tcp_client_transport.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698