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

Side by Side Diff: remoting/test/test_chromoting_client_unittest.cc

Issue 1237093004: Support for connecting to localhost on the chromoting test driver. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Indent fix. Created 5 years, 5 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 | « remoting/test/test_chromoting_client.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/message_loop/message_loop.h" 7 #include "base/message_loop/message_loop.h"
8 #include "remoting/protocol/fake_connection_to_host.h" 8 #include "remoting/protocol/fake_connection_to_host.h"
9 #include "remoting/test/connection_setup_info.h"
9 #include "remoting/test/test_chromoting_client.h" 10 #include "remoting/test/test_chromoting_client.h"
10 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
11 12
12 namespace { 13 namespace {
13 const char kTestUserName[] = "test_user@faux_address.com"; 14 const char kTestUserName[] = "test_user@faux_address.com";
14 const char kAccessToken[] = "faux_access_token"; 15 const char kAccessToken[] = "faux_access_token";
15 } 16 }
16 17
17 namespace remoting { 18 namespace remoting {
18 namespace test { 19 namespace test {
(...skipping 14 matching lines...) Expand all
33 // testing::Test interface. 34 // testing::Test interface.
34 void SetUp() override; 35 void SetUp() override;
35 void TearDown() override; 36 void TearDown() override;
36 37
37 // Used for result verification. 38 // Used for result verification.
38 bool is_connected_to_host_; 39 bool is_connected_to_host_;
39 protocol::ConnectionToHost::State connection_state_; 40 protocol::ConnectionToHost::State connection_state_;
40 protocol::ErrorCode error_code_; 41 protocol::ErrorCode error_code_;
41 42
42 // Used for simulating different conditions for the TestChromotingClient. 43 // Used for simulating different conditions for the TestChromotingClient.
43 RemoteHostInfo remote_host_info_; 44 ConnectionSetupInfo connection_setup_info_;
44 FakeConnectionToHost* fake_connection_to_host_; 45 FakeConnectionToHost* fake_connection_to_host_;
45 46
46 scoped_ptr<TestChromotingClient> test_chromoting_client_; 47 scoped_ptr<TestChromotingClient> test_chromoting_client_;
47 48
48 private: 49 private:
49 // RemoteConnectionObserver interface. 50 // RemoteConnectionObserver interface.
50 void ConnectionStateChanged(protocol::ConnectionToHost::State state, 51 void ConnectionStateChanged(protocol::ConnectionToHost::State state,
51 protocol::ErrorCode error_code) override; 52 protocol::ErrorCode error_code) override;
52 void ConnectionReady(bool ready) override; 53 void ConnectionReady(bool ready) override;
53 54
(...skipping 16 matching lines...) Expand all
70 test_chromoting_client_.reset(new TestChromotingClient()); 71 test_chromoting_client_.reset(new TestChromotingClient());
71 test_chromoting_client_->AddRemoteConnectionObserver(this); 72 test_chromoting_client_->AddRemoteConnectionObserver(this);
72 73
73 // Pass ownership of the FakeConnectionToHost to the chromoting instance but 74 // Pass ownership of the FakeConnectionToHost to the chromoting instance but
74 // keep the ptr around so we can use it to simulate state changes. It will 75 // keep the ptr around so we can use it to simulate state changes. It will
75 // remain valid until |test_chromoting_client_| is destroyed. 76 // remain valid until |test_chromoting_client_| is destroyed.
76 fake_connection_to_host_ = new FakeConnectionToHost(); 77 fake_connection_to_host_ = new FakeConnectionToHost();
77 test_chromoting_client_->SetConnectionToHostForTests( 78 test_chromoting_client_->SetConnectionToHostForTests(
78 make_scoped_ptr(fake_connection_to_host_)); 79 make_scoped_ptr(fake_connection_to_host_));
79 80
80 remote_host_info_.remote_host_status = kRemoteHostStatusReady; 81 connection_setup_info_.access_token = kAccessToken;
82 connection_setup_info_.user_name = kTestUserName;
83 connection_setup_info_.auth_methods.push_back(
84 protocol::AuthenticationMethod::ThirdParty());
81 } 85 }
82 86
83 void TestChromotingClientTest::TearDown() { 87 void TestChromotingClientTest::TearDown() {
84 test_chromoting_client_->RemoveRemoteConnectionObserver(this); 88 test_chromoting_client_->RemoveRemoteConnectionObserver(this);
85 fake_connection_to_host_ = nullptr; 89 fake_connection_to_host_ = nullptr;
86 90
87 // The chromoting instance must be destroyed before the message loop. 91 // The chromoting instance must be destroyed before the message loop.
88 test_chromoting_client_.reset(); 92 test_chromoting_client_.reset();
89 93
90 // The LibjingleTransportFactory destroys the PortAllocator via a DeleteSoon 94 // The LibjingleTransportFactory destroys the PortAllocator via a DeleteSoon
(...skipping 14 matching lines...) Expand all
105 } 109 }
106 } 110 }
107 111
108 void TestChromotingClientTest::ConnectionReady(bool ready) { 112 void TestChromotingClientTest::ConnectionReady(bool ready) {
109 if (ready) { 113 if (ready) {
110 is_connected_to_host_ = true; 114 is_connected_to_host_ = true;
111 } 115 }
112 } 116 }
113 117
114 TEST_F(TestChromotingClientTest, StartConnectionAndDisconnect) { 118 TEST_F(TestChromotingClientTest, StartConnectionAndDisconnect) {
115 test_chromoting_client_->StartConnection(kTestUserName, kAccessToken, 119 test_chromoting_client_->StartConnection(connection_setup_info_);
116 remote_host_info_);
117 EXPECT_EQ(protocol::ConnectionToHost::State::CONNECTING, connection_state_); 120 EXPECT_EQ(protocol::ConnectionToHost::State::CONNECTING, connection_state_);
118 EXPECT_EQ(protocol::OK, error_code_); 121 EXPECT_EQ(protocol::OK, error_code_);
119 EXPECT_FALSE(is_connected_to_host_); 122 EXPECT_FALSE(is_connected_to_host_);
120 123
121 // Simulate an AUTHENTICATED message being sent from the Jingle session. 124 // Simulate an AUTHENTICATED message being sent from the Jingle session.
122 fake_connection_to_host_->SignalStateChange(protocol::Session::AUTHENTICATED, 125 fake_connection_to_host_->SignalStateChange(protocol::Session::AUTHENTICATED,
123 protocol::OK); 126 protocol::OK);
124 EXPECT_EQ(protocol::ConnectionToHost::State::AUTHENTICATED, 127 EXPECT_EQ(protocol::ConnectionToHost::State::AUTHENTICATED,
125 connection_state_); 128 connection_state_);
126 EXPECT_EQ(protocol::OK, error_code_); 129 EXPECT_EQ(protocol::OK, error_code_);
(...skipping 12 matching lines...) Expand all
139 EXPECT_TRUE(is_connected_to_host_); 142 EXPECT_TRUE(is_connected_to_host_);
140 143
141 test_chromoting_client_->EndConnection(); 144 test_chromoting_client_->EndConnection();
142 EXPECT_EQ(protocol::ConnectionToHost::State::CLOSED, connection_state_); 145 EXPECT_EQ(protocol::ConnectionToHost::State::CLOSED, connection_state_);
143 EXPECT_EQ(protocol::OK, error_code_); 146 EXPECT_EQ(protocol::OK, error_code_);
144 EXPECT_FALSE(is_connected_to_host_); 147 EXPECT_FALSE(is_connected_to_host_);
145 } 148 }
146 149
147 TEST_F(TestChromotingClientTest, 150 TEST_F(TestChromotingClientTest,
148 StartConnectionThenFailWithAuthenticationError) { 151 StartConnectionThenFailWithAuthenticationError) {
149 test_chromoting_client_->StartConnection(kTestUserName, kAccessToken, 152 test_chromoting_client_->StartConnection(connection_setup_info_);
150 remote_host_info_);
151 EXPECT_EQ(protocol::ConnectionToHost::State::CONNECTING, connection_state_); 153 EXPECT_EQ(protocol::ConnectionToHost::State::CONNECTING, connection_state_);
152 EXPECT_EQ(protocol::OK, error_code_); 154 EXPECT_EQ(protocol::OK, error_code_);
153 EXPECT_FALSE(is_connected_to_host_); 155 EXPECT_FALSE(is_connected_to_host_);
154 156
155 fake_connection_to_host_->SignalStateChange(protocol::Session::FAILED, 157 fake_connection_to_host_->SignalStateChange(protocol::Session::FAILED,
156 protocol::AUTHENTICATION_FAILED); 158 protocol::AUTHENTICATION_FAILED);
157 EXPECT_EQ(protocol::ConnectionToHost::State::FAILED, connection_state_); 159 EXPECT_EQ(protocol::ConnectionToHost::State::FAILED, connection_state_);
158 EXPECT_EQ(protocol::ErrorCode::AUTHENTICATION_FAILED, error_code_); 160 EXPECT_EQ(protocol::ErrorCode::AUTHENTICATION_FAILED, error_code_);
159 EXPECT_FALSE(is_connected_to_host_); 161 EXPECT_FALSE(is_connected_to_host_);
160 162
161 // Close the connection via the TestChromotingClient and verify the error 163 // Close the connection via the TestChromotingClient and verify the error
162 // state is persisted. 164 // state is persisted.
163 test_chromoting_client_->EndConnection(); 165 test_chromoting_client_->EndConnection();
164 EXPECT_EQ(protocol::ConnectionToHost::State::FAILED, connection_state_); 166 EXPECT_EQ(protocol::ConnectionToHost::State::FAILED, connection_state_);
165 EXPECT_EQ(protocol::ErrorCode::AUTHENTICATION_FAILED, error_code_); 167 EXPECT_EQ(protocol::ErrorCode::AUTHENTICATION_FAILED, error_code_);
166 EXPECT_FALSE(is_connected_to_host_); 168 EXPECT_FALSE(is_connected_to_host_);
167 } 169 }
168 170
169 TEST_F(TestChromotingClientTest, StartConnectionThenFailWithUnknownError) { 171 TEST_F(TestChromotingClientTest, StartConnectionThenFailWithUnknownError) {
170 test_chromoting_client_->StartConnection(kTestUserName, kAccessToken, 172 test_chromoting_client_->StartConnection(connection_setup_info_);
171 remote_host_info_);
172 EXPECT_EQ(protocol::ConnectionToHost::State::CONNECTING, connection_state_); 173 EXPECT_EQ(protocol::ConnectionToHost::State::CONNECTING, connection_state_);
173 EXPECT_EQ(protocol::OK, error_code_); 174 EXPECT_EQ(protocol::OK, error_code_);
174 EXPECT_FALSE(is_connected_to_host_); 175 EXPECT_FALSE(is_connected_to_host_);
175 176
176 // Simulate an AUTHENTICATED message being sent from the Jingle session. 177 // Simulate an AUTHENTICATED message being sent from the Jingle session.
177 fake_connection_to_host_->SignalStateChange(protocol::Session::AUTHENTICATED, 178 fake_connection_to_host_->SignalStateChange(protocol::Session::AUTHENTICATED,
178 protocol::OK); 179 protocol::OK);
179 EXPECT_EQ(protocol::ConnectionToHost::State::AUTHENTICATED, 180 EXPECT_EQ(protocol::ConnectionToHost::State::AUTHENTICATED,
180 connection_state_); 181 connection_state_);
181 EXPECT_EQ(protocol::OK, error_code_); 182 EXPECT_EQ(protocol::OK, error_code_);
(...skipping 20 matching lines...) Expand all
202 // Close the connection via the TestChromotingClient and verify the error 203 // Close the connection via the TestChromotingClient and verify the error
203 // state is persisted. 204 // state is persisted.
204 test_chromoting_client_->EndConnection(); 205 test_chromoting_client_->EndConnection();
205 EXPECT_EQ(protocol::ConnectionToHost::State::FAILED, connection_state_); 206 EXPECT_EQ(protocol::ConnectionToHost::State::FAILED, connection_state_);
206 EXPECT_EQ(protocol::ErrorCode::UNKNOWN_ERROR, error_code_); 207 EXPECT_EQ(protocol::ErrorCode::UNKNOWN_ERROR, error_code_);
207 EXPECT_FALSE(is_connected_to_host_); 208 EXPECT_FALSE(is_connected_to_host_);
208 } 209 }
209 210
210 } // namespace test 211 } // namespace test
211 } // namespace remoting 212 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/test/test_chromoting_client.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698