diff options
author | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-05 05:19:27 +0000 |
---|---|---|
committer | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-05 05:19:27 +0000 |
commit | d7c6cc2c268b1dec8f3834220f2acb36a1799a76 (patch) | |
tree | bf3c25458670af664f08f70f2161e228b09bba60 /remoting/protocol/jingle_session_unittest.cc | |
parent | bf59eb89147f0479439f5d0672d9d8627c452758 (diff) | |
download | chromium_src-d7c6cc2c268b1dec8f3834220f2acb36a1799a76.zip chromium_src-d7c6cc2c268b1dec8f3834220f2acb36a1799a76.tar.gz chromium_src-d7c6cc2c268b1dec8f3834220f2acb36a1799a76.tar.bz2 |
Use scoped_ptr<> for channel creation callbacks.
Changed callbacks in Session and ChannelAuthenticator interfaces for
cleaner ownership semantics.
Review URL: https://chromiumcodereview.appspot.com/9316074
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120508 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/protocol/jingle_session_unittest.cc')
-rw-r--r-- | remoting/protocol/jingle_session_unittest.cc | 97 |
1 files changed, 24 insertions, 73 deletions
diff --git a/remoting/protocol/jingle_session_unittest.cc b/remoting/protocol/jingle_session_unittest.cc index 2dab493..5bc4e847 100644 --- a/remoting/protocol/jingle_session_unittest.cc +++ b/remoting/protocol/jingle_session_unittest.cc @@ -105,6 +105,16 @@ class JingleSessionTest : public testing::Test { session->set_config(SessionConfig::GetDefault()); } + void OnClientChannelCreated(scoped_ptr<net::StreamSocket> socket) { + client_channel_callback_.OnDone(socket.get()); + client_socket_ = socket.Pass(); + } + + void OnHostChannelCreated(scoped_ptr<net::StreamSocket> socket) { + host_channel_callback_.OnDone(socket.get()); + host_socket_ = socket.Pass(); + } + protected: virtual void SetUp() { } @@ -236,32 +246,17 @@ class JingleSessionTest : public testing::Test { } void CreateChannel() { - MockStreamChannelCallback client_callback; - MockStreamChannelCallback host_callback; - client_session_->CreateStreamChannel(kChannelName, base::Bind( - &MockStreamChannelCallback::OnDone, - base::Unretained(&host_callback))); + &JingleSessionTest::OnClientChannelCreated, base::Unretained(this))); host_session_->CreateStreamChannel(kChannelName, base::Bind( - &MockStreamChannelCallback::OnDone, - base::Unretained(&client_callback))); + &JingleSessionTest::OnHostChannelCreated, base::Unretained(this))); int counter = 2; - net::StreamSocket* client_socket = NULL; - net::StreamSocket* host_socket = NULL; - EXPECT_CALL(client_callback, OnDone(_)) - .WillOnce(DoAll(SaveArg<0>(&client_socket), - QuitThreadOnCounter(&counter))); - EXPECT_CALL(host_callback, OnDone(_)) - .WillOnce(DoAll(SaveArg<0>(&host_socket), - QuitThreadOnCounter(&counter))); + EXPECT_CALL(client_channel_callback_, OnDone(_)) + .WillOnce(QuitThreadOnCounter(&counter)); + EXPECT_CALL(host_channel_callback_, OnDone(_)) + .WillOnce(QuitThreadOnCounter(&counter)); message_loop_.Run(); - - ASSERT_TRUE(client_socket != NULL); - ASSERT_TRUE(host_socket != NULL); - - client_socket_.reset(client_socket); - host_socket_.reset(host_socket); } JingleThreadMessageLoop message_loop_; @@ -279,6 +274,9 @@ class JingleSessionTest : public testing::Test { scoped_ptr<Session> client_session_; MockSessionCallback client_connection_callback_; + MockStreamChannelCallback client_channel_callback_; + MockStreamChannelCallback host_channel_callback_; + scoped_ptr<net::StreamSocket> client_socket_; scoped_ptr<net::StreamSocket> host_socket_; }; @@ -347,20 +345,14 @@ TEST_F(JingleSessionTest, ConnectWithBadChannelAuth) { ASSERT_NO_FATAL_FAILURE( InitiateConnection(1, FakeAuthenticator::ACCEPT, false)); - MockStreamChannelCallback client_callback; - MockStreamChannelCallback host_callback; - client_session_->CreateStreamChannel(kChannelName, base::Bind( - &MockStreamChannelCallback::OnDone, - base::Unretained(&client_callback))); + &JingleSessionTest::OnClientChannelCreated, base::Unretained(this))); host_session_->CreateStreamChannel(kChannelName, base::Bind( - &MockStreamChannelCallback::OnDone, - base::Unretained(&host_callback))); + &JingleSessionTest::OnHostChannelCreated, base::Unretained(this))); - EXPECT_CALL(client_callback, OnDone(_)) - .Times(AtMost(1)) - .WillOnce(DeleteArg<0>()); - EXPECT_CALL(host_callback, OnDone(NULL)) + EXPECT_CALL(client_channel_callback_, OnDone(_)) + .Times(AtMost(1)); + EXPECT_CALL(host_channel_callback_, OnDone(NULL)) .WillOnce(QuitThread()); message_loop_.Run(); @@ -399,46 +391,5 @@ TEST_F(JingleSessionTest, TestMultistepAuthTcpChannel) { tester.CheckResults(); } -// Verify that data can be transmitted over the video RTP channel. -TEST_F(JingleSessionTest, TestUdpChannel) { - CreateSessionManagers(1, FakeAuthenticator::ACCEPT); - ASSERT_NO_FATAL_FAILURE( - InitiateConnection(1, FakeAuthenticator::ACCEPT, false)); - - MockDatagramChannelCallback client_callback; - MockDatagramChannelCallback host_callback; - - int counter = 2; - net::Socket* client_socket = NULL; - net::Socket* host_socket = NULL; - EXPECT_CALL(client_callback, OnDone(_)) - .WillOnce(DoAll(SaveArg<0>(&client_socket), - QuitThreadOnCounter(&counter))); - EXPECT_CALL(host_callback, OnDone(_)) - .WillOnce(DoAll(SaveArg<0>(&host_socket), - QuitThreadOnCounter(&counter))); - - client_session_->CreateDatagramChannel(kChannelName, base::Bind( - &MockDatagramChannelCallback::OnDone, - base::Unretained(&host_callback))); - host_session_->CreateDatagramChannel(kChannelName, base::Bind( - &MockDatagramChannelCallback::OnDone, - base::Unretained(&client_callback))); - - message_loop_.Run(); - - scoped_ptr<net::Socket> client_socket_ptr(client_socket); - scoped_ptr<net::Socket> host_socket_ptr(host_socket); - - ASSERT_TRUE(client_socket != NULL); - ASSERT_TRUE(host_socket != NULL); - - DatagramConnectionTester tester( - client_socket, host_socket, kMessageSize, kMessages, kUdpWriteDelayMs); - tester.Start(); - message_loop_.Run(); - tester.CheckResults(); -} - } // namespace protocol } // namespace remoting |