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

Side by Side Diff: remoting/protocol/pepper_session_unittest.cc

Issue 9433027: Delete Session and SessionManager object synchronously. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add tests Created 8 years, 10 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) 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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698