Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "remoting/protocol/pepper_session.h" | 5 #include "remoting/protocol/pepper_session.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "base/time.h" | 9 #include "base/time.h" |
| 10 #include "base/test/test_timeouts.h" | 10 #include "base/test/test_timeouts.h" |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 219 | 219 |
| 220 client_session_ = client_server_->Connect( | 220 client_session_ = client_server_->Connect( |
| 221 kHostJid, authenticator.Pass(), | 221 kHostJid, authenticator.Pass(), |
| 222 CandidateSessionConfig::CreateDefault(), | 222 CandidateSessionConfig::CreateDefault(), |
| 223 base::Bind(&MockSessionCallback::OnStateChange, | 223 base::Bind(&MockSessionCallback::OnStateChange, |
| 224 base::Unretained(&client_connection_callback_))); | 224 base::Unretained(&client_connection_callback_))); |
| 225 | 225 |
| 226 message_loop_.RunAllPending(); | 226 message_loop_.RunAllPending(); |
| 227 } | 227 } |
| 228 | 228 |
| 229 void CreateChannel() { | 229 void CreateChannel(bool expect_fail) { |
| 230 client_session_->CreateStreamChannel(kChannelName, base::Bind( | 230 client_session_->CreateStreamChannel(kChannelName, base::Bind( |
| 231 &PepperSessionTest::OnClientChannelCreated, base::Unretained(this))); | 231 &PepperSessionTest::OnClientChannelCreated, base::Unretained(this))); |
| 232 host_session_->CreateStreamChannel(kChannelName, base::Bind( | 232 host_session_->CreateStreamChannel(kChannelName, base::Bind( |
| 233 &PepperSessionTest::OnHostChannelCreated, base::Unretained(this))); | 233 &PepperSessionTest::OnHostChannelCreated, base::Unretained(this))); |
| 234 | 234 |
| 235 int counter = 2; | 235 int counter = 2; |
| 236 EXPECT_CALL(client_channel_callback_, OnDone(_)) | 236 EXPECT_CALL(client_channel_callback_, OnDone(_)) |
| 237 .WillOnce(QuitThreadOnCounter(&counter)); | 237 .WillOnce(QuitThreadOnCounter(&counter)); |
| 238 EXPECT_CALL(host_channel_callback_, OnDone(_)) | 238 EXPECT_CALL(host_channel_callback_, OnDone(_)) |
| 239 .WillOnce(QuitThreadOnCounter(&counter)); | 239 .WillOnce(QuitThreadOnCounter(&counter)); |
| 240 message_loop_.Run(); | 240 message_loop_.Run(); |
| 241 | |
| 242 if (expect_fail) { | |
| 243 EXPECT_TRUE(!client_socket_.get() || host_socket_.get()); | |
|
Wez
2012/02/23 19:33:42
Do you mean !(client_socket_.get() || host_socket_
Sergey Ulanov
2012/02/23 22:10:06
I meant (!client_socket_.get()) || (!host_socket_.
| |
| 244 } else { | |
| 245 EXPECT_TRUE(client_socket_.get()); | |
| 246 EXPECT_TRUE(host_socket_.get()); | |
| 247 } | |
| 241 } | 248 } |
| 242 | 249 |
| 243 JingleThreadMessageLoop message_loop_; | 250 JingleThreadMessageLoop message_loop_; |
| 244 | 251 |
| 245 scoped_ptr<FakeSignalStrategy> host_signal_strategy_; | 252 scoped_ptr<FakeSignalStrategy> host_signal_strategy_; |
| 246 scoped_ptr<FakeSignalStrategy> client_signal_strategy_; | 253 scoped_ptr<FakeSignalStrategy> client_signal_strategy_; |
| 247 | 254 |
| 248 scoped_ptr<PepperSessionManager> host_server_; | 255 scoped_ptr<PepperSessionManager> host_server_; |
| 249 MockSessionManagerListener host_server_listener_; | 256 MockSessionManagerListener host_server_listener_; |
| 250 scoped_ptr<PepperSessionManager> client_server_; | 257 scoped_ptr<PepperSessionManager> client_server_; |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 322 CreateSessionManagers(3, FakeAuthenticator::REJECT); | 329 CreateSessionManagers(3, FakeAuthenticator::REJECT); |
| 323 InitiateConnection(3, FakeAuthenticator::ACCEPT, true); | 330 InitiateConnection(3, FakeAuthenticator::ACCEPT, true); |
| 324 } | 331 } |
| 325 | 332 |
| 326 // Verify that data can sent over stream channel. | 333 // Verify that data can sent over stream channel. |
| 327 TEST_F(PepperSessionTest, TestStreamChannel) { | 334 TEST_F(PepperSessionTest, TestStreamChannel) { |
| 328 CreateSessionManagers(1, FakeAuthenticator::ACCEPT); | 335 CreateSessionManagers(1, FakeAuthenticator::ACCEPT); |
| 329 ASSERT_NO_FATAL_FAILURE( | 336 ASSERT_NO_FATAL_FAILURE( |
| 330 InitiateConnection(1, FakeAuthenticator::ACCEPT, false)); | 337 InitiateConnection(1, FakeAuthenticator::ACCEPT, false)); |
| 331 | 338 |
| 332 ASSERT_NO_FATAL_FAILURE(CreateChannel()); | 339 ASSERT_NO_FATAL_FAILURE(CreateChannel(false)); |
| 333 | 340 |
| 334 StreamConnectionTester tester(host_socket_.get(), client_socket_.get(), | 341 StreamConnectionTester tester(host_socket_.get(), client_socket_.get(), |
| 335 kMessageSize, kMessages); | 342 kMessageSize, kMessages); |
| 336 tester.Start(); | 343 tester.Start(); |
| 337 message_loop_.Run(); | 344 message_loop_.Run(); |
| 338 tester.CheckResults(); | 345 tester.CheckResults(); |
| 339 } | 346 } |
| 340 | 347 |
| 341 // Verify that we can connect channels with multistep auth. | 348 // Verify that we can connect channels with multistep auth. |
| 342 TEST_F(PepperSessionTest, TestMultistepAuthStreamChannel) { | 349 TEST_F(PepperSessionTest, TestMultistepAuthStreamChannel) { |
| 343 CreateSessionManagers(3, FakeAuthenticator::ACCEPT); | 350 CreateSessionManagers(3, FakeAuthenticator::ACCEPT); |
| 344 ASSERT_NO_FATAL_FAILURE( | 351 ASSERT_NO_FATAL_FAILURE( |
| 345 InitiateConnection(3, FakeAuthenticator::ACCEPT, false)); | 352 InitiateConnection(3, FakeAuthenticator::ACCEPT, false)); |
| 346 | 353 |
| 347 ASSERT_NO_FATAL_FAILURE(CreateChannel()); | 354 ASSERT_NO_FATAL_FAILURE(CreateChannel(false)); |
| 348 | 355 |
| 349 StreamConnectionTester tester(host_socket_.get(), client_socket_.get(), | 356 StreamConnectionTester tester(host_socket_.get(), client_socket_.get(), |
| 350 kMessageSize, kMessages); | 357 kMessageSize, kMessages); |
| 351 tester.Start(); | 358 tester.Start(); |
| 352 message_loop_.Run(); | 359 message_loop_.Run(); |
| 353 tester.CheckResults(); | 360 tester.CheckResults(); |
| 354 } | 361 } |
| 355 | 362 |
| 363 // Verify that data can sent over stream channel. | |
|
Wez
2012/02/23 19:33:42
typo: ... can be sent ...
Sergey Ulanov
2012/02/23 22:10:06
The comment was incorrect.
| |
| 364 TEST_F(PepperSessionTest, TestFailedChannelAuth) { | |
| 365 CreateSessionManagers(1, FakeAuthenticator::ACCEPT); | |
| 366 ASSERT_NO_FATAL_FAILURE( | |
| 367 InitiateConnection(1, FakeAuthenticator::REJECT_CHANNEL, false)); | |
| 368 | |
| 369 ASSERT_NO_FATAL_FAILURE(CreateChannel(true)); | |
| 370 } | |
| 371 | |
| 356 } // namespace protocol | 372 } // namespace protocol |
| 357 } // namespace remoting | 373 } // namespace remoting |
| OLD | NEW |