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/jingle_session.h" | 5 #include "remoting/protocol/jingle_session.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
10 #include "base/test/test_timeouts.h" | 10 #include "base/test/test_timeouts.h" |
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
395 | 395 |
396 EXPECT_CALL(client_session_event_handler_, | 396 EXPECT_CALL(client_session_event_handler_, |
397 OnSessionStateChange(Session::FAILED)) | 397 OnSessionStateChange(Session::FAILED)) |
398 .Times(1); | 398 .Times(1); |
399 | 399 |
400 scoped_ptr<Authenticator> authenticator(new FakeAuthenticator( | 400 scoped_ptr<Authenticator> authenticator(new FakeAuthenticator( |
401 FakeAuthenticator::CLIENT, 1, FakeAuthenticator::ACCEPT, true)); | 401 FakeAuthenticator::CLIENT, 1, FakeAuthenticator::ACCEPT, true)); |
402 | 402 |
403 scoped_ptr<CandidateSessionConfig> config = | 403 scoped_ptr<CandidateSessionConfig> config = |
404 CandidateSessionConfig::CreateDefault(); | 404 CandidateSessionConfig::CreateDefault(); |
405 // Disable all video codecs so the host will reject connection | 405 // Disable all video codecs so the host will reject connection. |
406 config->mutable_video_configs()->clear(); | 406 config->mutable_video_configs()->clear(); |
407 client_server_->set_protocol_config(config.Pass()); | 407 client_server_->set_protocol_config(config.Pass()); |
408 client_session_ = client_server_->Connect(kHostJid, authenticator.Pass()); | 408 client_session_ = client_server_->Connect(kHostJid, authenticator.Pass()); |
409 client_session_->SetEventHandler(&client_session_event_handler_); | 409 client_session_->SetEventHandler(&client_session_event_handler_); |
410 | 410 |
411 base::RunLoop().RunUntilIdle(); | 411 base::RunLoop().RunUntilIdle(); |
412 | 412 |
413 EXPECT_EQ(INCOMPATIBLE_PROTOCOL, client_session_->error()); | 413 EXPECT_EQ(INCOMPATIBLE_PROTOCOL, client_session_->error()); |
414 EXPECT_FALSE(host_session_); | 414 EXPECT_FALSE(host_session_); |
415 } | 415 } |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
514 EXPECT_TRUE(client_socket_.get()); | 514 EXPECT_TRUE(client_socket_.get()); |
515 EXPECT_TRUE(host_socket_.get()); | 515 EXPECT_TRUE(host_socket_.get()); |
516 | 516 |
517 StreamConnectionTester tester(host_socket_.get(), client_socket_.get(), | 517 StreamConnectionTester tester(host_socket_.get(), client_socket_.get(), |
518 kMessageSize, kMessages); | 518 kMessageSize, kMessages); |
519 tester.Start(); | 519 tester.Start(); |
520 message_loop_->Run(); | 520 message_loop_->Run(); |
521 tester.CheckResults(); | 521 tester.CheckResults(); |
522 } | 522 } |
523 | 523 |
| 524 // Verify that data can be sent over a QUIC channel. |
| 525 TEST_F(JingleSessionTest, TestQuicStreamChannel) { |
| 526 CreateSessionManagers(1, FakeAuthenticator::ACCEPT); |
| 527 |
| 528 scoped_ptr<CandidateSessionConfig> config = |
| 529 CandidateSessionConfig::CreateDefault(); |
| 530 config->PreferTransport(ChannelConfig::TRANSPORT_QUIC_STREAM); |
| 531 client_server_->set_protocol_config(config.Pass()); |
| 532 |
| 533 ASSERT_NO_FATAL_FAILURE( |
| 534 InitiateConnection(1, FakeAuthenticator::ACCEPT, false)); |
| 535 |
| 536 int counter = 2; |
| 537 ExpectRouteChange(kQuicChannelName); |
| 538 EXPECT_CALL(client_channel_callback_, OnDone(_)) |
| 539 .WillOnce(QuitThreadOnCounter(&counter)); |
| 540 EXPECT_CALL(host_channel_callback_, OnDone(_)) |
| 541 .WillOnce(QuitThreadOnCounter(&counter)); |
| 542 |
| 543 client_session_->GetQuicChannelFactory()->CreateChannel( |
| 544 kChannelName, base::Bind(&JingleSessionTest::OnClientChannelCreated, |
| 545 base::Unretained(this))); |
| 546 host_session_->GetQuicChannelFactory()->CreateChannel( |
| 547 kChannelName, base::Bind(&JingleSessionTest::OnHostChannelCreated, |
| 548 base::Unretained(this))); |
| 549 |
| 550 message_loop_->Run(); |
| 551 |
| 552 EXPECT_TRUE(client_socket_.get()); |
| 553 EXPECT_TRUE(host_socket_.get()); |
| 554 |
| 555 StreamConnectionTester tester(host_socket_.get(), client_socket_.get(), |
| 556 kMessageSize, kMessages); |
| 557 tester.Start(); |
| 558 message_loop_->Run(); |
| 559 tester.CheckResults(); |
| 560 } |
| 561 |
524 // Verify that we can connect channels with multistep auth. | 562 // Verify that we can connect channels with multistep auth. |
525 TEST_F(JingleSessionTest, TestMultistepAuthStreamChannel) { | 563 TEST_F(JingleSessionTest, TestMultistepAuthStreamChannel) { |
526 CreateSessionManagers(3, FakeAuthenticator::ACCEPT); | 564 CreateSessionManagers(3, FakeAuthenticator::ACCEPT); |
527 ASSERT_NO_FATAL_FAILURE( | 565 ASSERT_NO_FATAL_FAILURE( |
528 InitiateConnection(3, FakeAuthenticator::ACCEPT, false)); | 566 InitiateConnection(3, FakeAuthenticator::ACCEPT, false)); |
529 | 567 |
530 ASSERT_NO_FATAL_FAILURE(CreateChannel()); | 568 ASSERT_NO_FATAL_FAILURE(CreateChannel()); |
531 | 569 |
532 StreamConnectionTester tester(host_socket_.get(), client_socket_.get(), | 570 StreamConnectionTester tester(host_socket_.get(), client_socket_.get(), |
533 kMessageSize, kMessages); | 571 kMessageSize, kMessages); |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
591 | 629 |
592 StreamConnectionTester tester(host_socket_.get(), client_socket_.get(), | 630 StreamConnectionTester tester(host_socket_.get(), client_socket_.get(), |
593 kMessageSize, 1); | 631 kMessageSize, 1); |
594 tester.Start(); | 632 tester.Start(); |
595 message_loop_->Run(); | 633 message_loop_->Run(); |
596 tester.CheckResults(); | 634 tester.CheckResults(); |
597 } | 635 } |
598 | 636 |
599 } // namespace protocol | 637 } // namespace protocol |
600 } // namespace remoting | 638 } // namespace remoting |
OLD | NEW |