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 "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
7 #include "base/message_loop_proxy.h" | 7 #include "base/message_loop_proxy.h" |
8 #include "base/task.h" | 8 #include "base/task.h" |
9 #include "remoting/host/capturer_fake.h" | 9 #include "remoting/host/capturer_fake.h" |
10 #include "remoting/host/chromoting_host.h" | 10 #include "remoting/host/chromoting_host.h" |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 access_verifier, false); | 105 access_verifier, false); |
106 credentials_.set_type(protocol::PASSWORD); | 106 credentials_.set_type(protocol::PASSWORD); |
107 credentials_.set_username("user"); | 107 credentials_.set_username("user"); |
108 credentials_.set_credential("password"); | 108 credentials_.set_credential("password"); |
109 connection_ = new MockConnectionToClient( | 109 connection_ = new MockConnectionToClient( |
110 &handler_, &host_stub_, event_executor_); | 110 &handler_, &host_stub_, event_executor_); |
111 connection2_ = new MockConnectionToClient( | 111 connection2_ = new MockConnectionToClient( |
112 &handler_, &host_stub2_, &event_executor2_); | 112 &handler_, &host_stub2_, &event_executor2_); |
113 session_.reset(new MockSession()); | 113 session_.reset(new MockSession()); |
114 session2_.reset(new MockSession()); | 114 session2_.reset(new MockSession()); |
115 session_config_.reset(SessionConfig::CreateDefault()); | 115 session_config_ = SessionConfig::GetDefault(); |
116 session_config2_.reset(SessionConfig::CreateDefault()); | 116 session_jid_ = "user@domain/rest-of-jid"; |
| 117 session_config2_ = SessionConfig::GetDefault(); |
117 | 118 |
118 ON_CALL(video_stub_, ProcessVideoPacket(_, _)) | 119 ON_CALL(video_stub_, ProcessVideoPacket(_, _)) |
119 .WillByDefault( | 120 .WillByDefault( |
120 DoAll(DeleteArg<0>(), DeleteArg<1>())); | 121 DoAll(DeleteArg<0>(), DeleteArg<1>())); |
121 ON_CALL(video_stub2_, ProcessVideoPacket(_, _)) | 122 ON_CALL(video_stub2_, ProcessVideoPacket(_, _)) |
122 .WillByDefault( | 123 .WillByDefault( |
123 DoAll(DeleteArg<0>(), DeleteArg<1>())); | 124 DoAll(DeleteArg<0>(), DeleteArg<1>())); |
124 ON_CALL(*connection_.get(), video_stub()) | 125 ON_CALL(*connection_.get(), video_stub()) |
125 .WillByDefault(Return(&video_stub_)); | 126 .WillByDefault(Return(&video_stub_)); |
126 ON_CALL(*connection_.get(), client_stub()) | 127 ON_CALL(*connection_.get(), client_stub()) |
127 .WillByDefault(Return(&client_stub_)); | 128 .WillByDefault(Return(&client_stub_)); |
128 ON_CALL(*connection_.get(), session()) | 129 ON_CALL(*connection_.get(), session()) |
129 .WillByDefault(Return(session_.get())); | 130 .WillByDefault(Return(session_.get())); |
130 ON_CALL(*connection2_.get(), video_stub()) | 131 ON_CALL(*connection2_.get(), video_stub()) |
131 .WillByDefault(Return(&video_stub2_)); | 132 .WillByDefault(Return(&video_stub2_)); |
132 ON_CALL(*connection2_.get(), client_stub()) | 133 ON_CALL(*connection2_.get(), client_stub()) |
133 .WillByDefault(Return(&client_stub2_)); | 134 .WillByDefault(Return(&client_stub2_)); |
134 ON_CALL(*connection2_.get(), session()) | 135 ON_CALL(*connection2_.get(), session()) |
135 .WillByDefault(Return(session2_.get())); | 136 .WillByDefault(Return(session2_.get())); |
136 ON_CALL(*session_.get(), config()) | 137 ON_CALL(*session_.get(), config()) |
137 .WillByDefault(Return(session_config_.get())); | 138 .WillByDefault(ReturnRef(session_config_)); |
| 139 ON_CALL(*session_, jid()) |
| 140 .WillByDefault(ReturnRef(session_jid_)); |
138 ON_CALL(*session2_.get(), config()) | 141 ON_CALL(*session2_.get(), config()) |
139 .WillByDefault(Return(session_config2_.get())); | 142 .WillByDefault(ReturnRef(session_config2_)); |
140 EXPECT_CALL(*connection_.get(), video_stub()) | 143 EXPECT_CALL(*connection_.get(), video_stub()) |
141 .Times(AnyNumber()); | 144 .Times(AnyNumber()); |
142 EXPECT_CALL(*connection_.get(), client_stub()) | 145 EXPECT_CALL(*connection_.get(), client_stub()) |
143 .Times(AnyNumber()); | 146 .Times(AnyNumber()); |
144 EXPECT_CALL(*connection_.get(), session()) | 147 EXPECT_CALL(*connection_.get(), session()) |
145 .Times(AnyNumber()); | 148 .Times(AnyNumber()); |
146 EXPECT_CALL(*connection2_.get(), video_stub()) | 149 EXPECT_CALL(*connection2_.get(), video_stub()) |
147 .Times(AnyNumber()); | 150 .Times(AnyNumber()); |
148 EXPECT_CALL(*connection2_.get(), client_stub()) | 151 EXPECT_CALL(*connection2_.get(), client_stub()) |
149 .Times(AnyNumber()); | 152 .Times(AnyNumber()); |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 protected: | 212 protected: |
210 MessageLoop message_loop_; | 213 MessageLoop message_loop_; |
211 scoped_refptr<base::MessageLoopProxy> message_loop_proxy_; | 214 scoped_refptr<base::MessageLoopProxy> message_loop_proxy_; |
212 MockConnectionToClientEventHandler handler_; | 215 MockConnectionToClientEventHandler handler_; |
213 scoped_ptr<DesktopEnvironment> desktop_environment_; | 216 scoped_ptr<DesktopEnvironment> desktop_environment_; |
214 scoped_refptr<ChromotingHost> host_; | 217 scoped_refptr<ChromotingHost> host_; |
215 scoped_refptr<InMemoryHostConfig> config_; | 218 scoped_refptr<InMemoryHostConfig> config_; |
216 MockChromotingHostContext context_; | 219 MockChromotingHostContext context_; |
217 protocol::LocalLoginCredentials credentials_; | 220 protocol::LocalLoginCredentials credentials_; |
218 scoped_refptr<MockConnectionToClient> connection_; | 221 scoped_refptr<MockConnectionToClient> connection_; |
| 222 std::string session_jid_; |
219 scoped_ptr<MockSession> session_; | 223 scoped_ptr<MockSession> session_; |
220 scoped_ptr<SessionConfig> session_config_; | 224 SessionConfig session_config_; |
221 MockVideoStub video_stub_; | 225 MockVideoStub video_stub_; |
222 MockClientStub client_stub_; | 226 MockClientStub client_stub_; |
223 MockHostStub host_stub_; | 227 MockHostStub host_stub_; |
224 scoped_refptr<MockConnectionToClient> connection2_; | 228 scoped_refptr<MockConnectionToClient> connection2_; |
225 scoped_ptr<MockSession> session2_; | 229 scoped_ptr<MockSession> session2_; |
226 scoped_ptr<SessionConfig> session_config2_; | 230 SessionConfig session_config2_; |
227 MockVideoStub video_stub2_; | 231 MockVideoStub video_stub2_; |
228 MockClientStub client_stub2_; | 232 MockClientStub client_stub2_; |
229 MockHostStub host_stub2_; | 233 MockHostStub host_stub2_; |
230 MockEventExecutor event_executor2_; | 234 MockEventExecutor event_executor2_; |
231 | 235 |
232 // Owned by |host_|. | 236 // Owned by |host_|. |
233 MockEventExecutor* event_executor_; | 237 MockEventExecutor* event_executor_; |
234 MockCurtain* curtain_; | 238 MockCurtain* curtain_; |
235 MockDisconnectWindow* disconnect_window_; | 239 MockDisconnectWindow* disconnect_window_; |
236 MockContinueWindow* continue_window_; | 240 MockContinueWindow* continue_window_; |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
454 TEST_F(ChromotingHostTest, CurtainModeIT2Me) { | 458 TEST_F(ChromotingHostTest, CurtainModeIT2Me) { |
455 host_->Start(); | 459 host_->Start(); |
456 host_->set_it2me(true); | 460 host_->set_it2me(true); |
457 | 461 |
458 EXPECT_CALL(client_stub_, BeginSessionResponse(_, _)) | 462 EXPECT_CALL(client_stub_, BeginSessionResponse(_, _)) |
459 .WillOnce(RunDoneTask()); | 463 .WillOnce(RunDoneTask()); |
460 | 464 |
461 // When the video packet is received we first shutdown ChromotingHost | 465 // When the video packet is received we first shutdown ChromotingHost |
462 // then execute the done task. | 466 // then execute the done task. |
463 bool curtain_activated = false; | 467 bool curtain_activated = false; |
464 std::string mockJid("user@domain/rest-of-jid"); | |
465 { | 468 { |
466 Sequence s1, s2; | 469 Sequence s1, s2; |
467 // Can't just expect Times(0) because if it fails then the host will | 470 // Can't just expect Times(0) because if it fails then the host will |
468 // not be shut down and the message loop will never exit. | 471 // not be shut down and the message loop will never exit. |
469 EXPECT_CALL(*curtain_, EnableCurtainMode(_)) | 472 EXPECT_CALL(*curtain_, EnableCurtainMode(_)) |
470 .Times(AnyNumber()) | 473 .Times(AnyNumber()) |
471 .WillRepeatedly(SetBool(&curtain_activated)); | 474 .WillRepeatedly(SetBool(&curtain_activated)); |
472 EXPECT_CALL(*session_, jid()) | |
473 .Times(1) | |
474 .InSequence(s1) | |
475 .WillOnce(ReturnRef(mockJid)); | |
476 EXPECT_CALL(*disconnect_window_, Show(_, "user@domain")) | 475 EXPECT_CALL(*disconnect_window_, Show(_, "user@domain")) |
477 .Times(1) | 476 .Times(1) |
478 .InSequence(s1); | 477 .InSequence(s1); |
479 EXPECT_CALL(*local_input_monitor_, Start(_)) | 478 EXPECT_CALL(*local_input_monitor_, Start(_)) |
480 .Times(1) | 479 .Times(1) |
481 .InSequence(s2); | 480 .InSequence(s2); |
482 EXPECT_CALL(video_stub_, ProcessVideoPacket(_, _)) | 481 EXPECT_CALL(video_stub_, ProcessVideoPacket(_, _)) |
483 .InSequence(s1, s2) | 482 .InSequence(s1, s2) |
484 .WillOnce(DoAll( | 483 .WillOnce(DoAll( |
485 InvokeWithoutArgs(this, &ChromotingHostTest::ShutdownHost), | 484 InvokeWithoutArgs(this, &ChromotingHostTest::ShutdownHost), |
486 RunDoneTask())) | 485 RunDoneTask())) |
487 .RetiresOnSaturation(); | 486 .RetiresOnSaturation(); |
488 EXPECT_CALL(video_stub_, ProcessVideoPacket(_, _)) | 487 EXPECT_CALL(video_stub_, ProcessVideoPacket(_, _)) |
489 .Times(AnyNumber()) | 488 .Times(AnyNumber()) |
490 .InSequence(s1, s2); | 489 .InSequence(s1, s2); |
491 EXPECT_CALL(*connection_.get(), Disconnect()) | 490 EXPECT_CALL(*connection_.get(), Disconnect()) |
492 .InSequence(s1, s2) | 491 .InSequence(s1, s2) |
493 .RetiresOnSaturation(); | 492 .RetiresOnSaturation(); |
494 } | 493 } |
495 SimulateClientConnection(0, true); | 494 SimulateClientConnection(0, true); |
496 message_loop_.Run(); | 495 message_loop_.Run(); |
497 host_->set_it2me(false); | 496 host_->set_it2me(false); |
498 EXPECT_THAT(curtain_activated, false); | 497 EXPECT_THAT(curtain_activated, false); |
499 } | 498 } |
500 } // namespace remoting | 499 } // namespace remoting |
OLD | NEW |