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

Side by Side Diff: remoting/host/chromoting_host_unittest.cc

Issue 6724033: Remove authenticated_ fields from stubs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix .gyp file for unit tests. Created 9 years, 9 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 | Annotate | Revision Log
OLDNEW
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 "base/bind.h"
5 #include "base/task.h" 6 #include "base/task.h"
6 #include "remoting/host/capturer_fake.h" 7 #include "remoting/host/capturer_fake.h"
7 #include "remoting/host/chromoting_host.h" 8 #include "remoting/host/chromoting_host.h"
8 #include "remoting/host/chromoting_host_context.h" 9 #include "remoting/host/chromoting_host_context.h"
9 #include "remoting/host/host_mock_objects.h" 10 #include "remoting/host/host_mock_objects.h"
10 #include "remoting/host/in_memory_host_config.h" 11 #include "remoting/host/in_memory_host_config.h"
12 #include "remoting/host/user_authenticator_fake.h"
11 #include "remoting/proto/video.pb.h" 13 #include "remoting/proto/video.pb.h"
12 #include "remoting/protocol/protocol_mock_objects.h" 14 #include "remoting/protocol/protocol_mock_objects.h"
13 #include "remoting/protocol/session_config.h" 15 #include "remoting/protocol/session_config.h"
14 #include "testing/gmock_mutant.h" 16 #include "testing/gmock_mutant.h"
15 #include "testing/gmock/include/gmock/gmock.h" 17 #include "testing/gmock/include/gmock/gmock.h"
16 #include "testing/gtest/include/gtest/gtest.h" 18 #include "testing/gtest/include/gtest/gtest.h"
17 19
18 using ::remoting::protocol::LocalLoginCredentials; 20 using ::remoting::protocol::LocalLoginCredentials;
19 using ::remoting::protocol::MockClientStub; 21 using ::remoting::protocol::MockClientStub;
20 using ::remoting::protocol::MockConnectionToClient; 22 using ::remoting::protocol::MockConnectionToClient;
(...skipping 10 matching lines...) Expand all
31 using testing::DeleteArg; 33 using testing::DeleteArg;
32 using testing::DoAll; 34 using testing::DoAll;
33 using testing::InSequence; 35 using testing::InSequence;
34 using testing::InvokeWithoutArgs; 36 using testing::InvokeWithoutArgs;
35 using testing::Return; 37 using testing::Return;
36 38
37 namespace remoting { 39 namespace remoting {
38 40
39 namespace { 41 namespace {
40 42
43 UserAuthenticator* MakeUserAuthenticator() {
44 return new UserAuthenticatorFake();
45 }
46
41 void PostQuitTask(MessageLoop* message_loop) { 47 void PostQuitTask(MessageLoop* message_loop) {
42 message_loop->PostTask(FROM_HERE, new MessageLoop::QuitTask()); 48 message_loop->PostTask(FROM_HERE, new MessageLoop::QuitTask());
43 } 49 }
44 50
45 // Run the task and delete it afterwards. This action is used to deal with 51 // Run the task and delete it afterwards. This action is used to deal with
46 // done callbacks. 52 // done callbacks.
47 ACTION(RunDoneTask) { 53 ACTION(RunDoneTask) {
48 arg1->Run(); 54 arg1->Run();
49 delete arg1; 55 delete arg1;
50 } 56 }
51 57
52 ACTION_P(QuitMainMessageLoop, message_loop) { 58 ACTION_P(QuitMainMessageLoop, message_loop) {
53 PostQuitTask(message_loop); 59 PostQuitTask(message_loop);
54 } 60 }
55 61
62 // A task that does nothing.
63 class DummyTask : public Task {
Alpha Left Google 2011/03/28 16:22:26 Alternatively you can also do: void DummyTask() {
simonmorris 2011/03/29 17:07:51 Done.
64 public:
65 void Run() {}
66 };
67
56 } // namespace 68 } // namespace
57 69
58 class ChromotingHostTest : public testing::Test { 70 class ChromotingHostTest : public testing::Test {
59 public: 71 public:
60 ChromotingHostTest() { 72 ChromotingHostTest() {
61 } 73 }
62 74
63 virtual void SetUp() { 75 virtual void SetUp() {
64 config_ = new InMemoryHostConfig(); 76 config_ = new InMemoryHostConfig();
65 ON_CALL(context_, main_message_loop()) 77 ON_CALL(context_, main_message_loop())
(...skipping 10 matching lines...) Expand all
76 .Times(AnyNumber()); 88 .Times(AnyNumber());
77 89
78 Capturer* capturer = new CapturerFake(context_.main_message_loop()); 90 Capturer* capturer = new CapturerFake(context_.main_message_loop());
79 host_stub_ = new MockHostStub(); 91 host_stub_ = new MockHostStub();
80 host_stub2_ = new MockHostStub(); 92 host_stub2_ = new MockHostStub();
81 input_stub_ = new MockInputStub(); 93 input_stub_ = new MockInputStub();
82 input_stub2_ = new MockInputStub(); 94 input_stub2_ = new MockInputStub();
83 DesktopEnvironment* desktop = 95 DesktopEnvironment* desktop =
84 new DesktopEnvironment(capturer, input_stub_); 96 new DesktopEnvironment(capturer, input_stub_);
85 host_ = ChromotingHost::Create(&context_, config_, desktop); 97 host_ = ChromotingHost::Create(&context_, config_, desktop);
98 credentials_.set_type(protocol::PASSWORD);
99 credentials_.set_username("user");
100 credentials_.set_credential("password");
86 connection_ = new MockConnectionToClient( 101 connection_ = new MockConnectionToClient(
87 &message_loop_, &handler_, host_stub_, input_stub_); 102 &message_loop_, &handler_, host_stub_, input_stub_);
88 connection2_ = new MockConnectionToClient( 103 connection2_ = new MockConnectionToClient(
89 &message_loop_, &handler_, host_stub2_, input_stub2_); 104 &message_loop_, &handler_, host_stub2_, input_stub2_);
90 session_ = new MockSession(); 105 session_ = new MockSession();
91 session2_ = new MockSession(); 106 session2_ = new MockSession();
92 session_config_.reset(SessionConfig::CreateDefault()); 107 session_config_.reset(SessionConfig::CreateDefault());
93 session_config2_.reset(SessionConfig::CreateDefault()); 108 session_config2_.reset(SessionConfig::CreateDefault());
94 109
95 ON_CALL(video_stub_, ProcessVideoPacket(_, _)) 110 ON_CALL(video_stub_, ProcessVideoPacket(_, _))
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 148
134 } 149 }
135 150
136 virtual void TearDown() { 151 virtual void TearDown() {
137 } 152 }
138 153
139 // Helper method to pretend a client is connected to ChromotingHost. 154 // Helper method to pretend a client is connected to ChromotingHost.
140 void SimulateClientConnection(int connection_index) { 155 void SimulateClientConnection(int connection_index) {
141 scoped_refptr<MockConnectionToClient> connection = 156 scoped_refptr<MockConnectionToClient> connection =
142 (connection_index == 0) ? connection_ : connection2_; 157 (connection_index == 0) ? connection_ : connection2_;
143 scoped_refptr<ClientSession> client = new ClientSession(host_.get(), 158 scoped_refptr<ClientSession> client = new ClientSession(
144 connection); 159 host_.get(),
160 base::Bind(MakeUserAuthenticator),
161 connection,
162 input_stub_);
145 connection->set_host_stub(client.get()); 163 connection->set_host_stub(client.get());
146 164
147 context_.network_message_loop()->PostTask( 165 context_.network_message_loop()->PostTask(
148 FROM_HERE, 166 FROM_HERE,
149 NewRunnableMethod(host_.get(), 167 NewRunnableMethod(host_.get(),
150 &ChromotingHost::AddClient, 168 &ChromotingHost::AddClient,
151 client)); 169 client));
152 context_.network_message_loop()->PostTask( 170 context_.network_message_loop()->PostTask(
153 FROM_HERE, 171 FROM_HERE,
154 NewRunnableMethod(host_.get(), 172 NewRunnableMethod(host_.get(),
155 &ChromotingHost::OnClientConnected, 173 &ChromotingHost::OnClientConnected,
156 connection)); 174 connection));
157 context_.network_message_loop()->PostTask( 175 context_.network_message_loop()->PostTask(
158 FROM_HERE, 176 FROM_HERE,
159 NewRunnableMethod(host_.get(), 177 NewRunnableMethod(client.get(),
160 &ChromotingHost::LocalLoginSucceeded, 178 &ClientSession::BeginSessionRequest,
161 connection)); 179 &credentials_,
180 new DummyTask()));
162 } 181 }
163 182
164 // Helper method to remove a client connection from ChromotingHost. 183 // Helper method to remove a client connection from ChromotingHost.
165 void RemoveClientConnection() { 184 void RemoveClientConnection() {
166 context_.network_message_loop()->PostTask( 185 context_.network_message_loop()->PostTask(
167 FROM_HERE, 186 FROM_HERE,
168 NewRunnableMethod(host_.get(), 187 NewRunnableMethod(host_.get(),
169 &ChromotingHost::OnClientDisconnected, 188 &ChromotingHost::OnClientDisconnected,
170 connection_)); 189 connection_));
171 } 190 }
172 191
173 protected: 192 protected:
174 MessageLoop message_loop_; 193 MessageLoop message_loop_;
175 MockConnectionToClientEventHandler handler_; 194 MockConnectionToClientEventHandler handler_;
176 scoped_refptr<ChromotingHost> host_; 195 scoped_refptr<ChromotingHost> host_;
177 scoped_refptr<InMemoryHostConfig> config_; 196 scoped_refptr<InMemoryHostConfig> config_;
178 MockChromotingHostContext context_; 197 MockChromotingHostContext context_;
198 protocol::LocalLoginCredentials credentials_;
179 scoped_refptr<MockConnectionToClient> connection_; 199 scoped_refptr<MockConnectionToClient> connection_;
180 scoped_refptr<MockSession> session_; 200 scoped_refptr<MockSession> session_;
181 scoped_ptr<SessionConfig> session_config_; 201 scoped_ptr<SessionConfig> session_config_;
182 MockVideoStub video_stub_; 202 MockVideoStub video_stub_;
183 MockClientStub client_stub_; 203 MockClientStub client_stub_;
184 MockHostStub* host_stub_; 204 MockHostStub* host_stub_;
185 MockInputStub* input_stub_; 205 MockInputStub* input_stub_;
186 scoped_refptr<MockConnectionToClient> connection2_; 206 scoped_refptr<MockConnectionToClient> connection2_;
187 scoped_refptr<MockSession> session2_; 207 scoped_refptr<MockSession> session2_;
188 scoped_ptr<SessionConfig> session_config2_; 208 scoped_ptr<SessionConfig> session_config2_;
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 EXPECT_CALL(*connection_.get(), Disconnect()) 327 EXPECT_CALL(*connection_.get(), Disconnect())
308 .RetiresOnSaturation(); 328 .RetiresOnSaturation();
309 EXPECT_CALL(*connection2_.get(), Disconnect()) 329 EXPECT_CALL(*connection2_.get(), Disconnect())
310 .RetiresOnSaturation(); 330 .RetiresOnSaturation();
311 331
312 SimulateClientConnection(0); 332 SimulateClientConnection(0);
313 message_loop_.Run(); 333 message_loop_.Run();
314 } 334 }
315 335
316 } // namespace remoting 336 } // namespace remoting
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698