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

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

Issue 8774031: Multi-step authentication support in JingleSession. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: - Created 9 years 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) 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/message_loop_proxy.h" 6 #include "base/message_loop_proxy.h"
7 #include "base/time.h" 7 #include "base/time.h"
8 #include "base/test/test_timeouts.h" 8 #include "base/test/test_timeouts.h"
9 #include "net/socket/socket.h" 9 #include "net/socket/socket.h"
10 #include "net/socket/stream_socket.h" 10 #include "net/socket/stream_socket.h"
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 178
179 EXPECT_CALL(host_server_listener_, OnIncomingSession(_, _)) 179 EXPECT_CALL(host_server_listener_, OnIncomingSession(_, _))
180 .WillOnce(DoAll( 180 .WillOnce(DoAll(
181 WithArg<0>(Invoke( 181 WithArg<0>(Invoke(
182 this, &JingleSessionTest::SetHostSession)), 182 this, &JingleSessionTest::SetHostSession)),
183 SetArgumentPointee<1>(protocol::SessionManager::ACCEPT))); 183 SetArgumentPointee<1>(protocol::SessionManager::ACCEPT)));
184 184
185 { 185 {
186 InSequence dummy; 186 InSequence dummy;
187 187
188 EXPECT_CALL(host_connection_callback_,
189 OnStateChange(Session::CONNECTED))
190 .Times(AtMost(1));
188 if (expect_fail) { 191 if (expect_fail) {
189 EXPECT_CALL(host_connection_callback_, 192 EXPECT_CALL(host_connection_callback_,
190 OnStateChange(Session::FAILED)) 193 OnStateChange(Session::FAILED))
191 .Times(1) 194 .Times(1)
192 .WillOnce(QuitThreadOnCounter(&not_connected_peers)); 195 .WillOnce(QuitThreadOnCounter(&not_connected_peers));
193 } else { 196 } else {
194 EXPECT_CALL(host_connection_callback_, 197 EXPECT_CALL(host_connection_callback_,
195 OnStateChange(Session::CONNECTED))
196 .Times(1);
197 EXPECT_CALL(host_connection_callback_,
198 OnStateChange(Session::AUTHENTICATED)) 198 OnStateChange(Session::AUTHENTICATED))
199 .Times(1) 199 .Times(1)
200 .WillOnce(QuitThreadOnCounter(&not_connected_peers)); 200 .WillOnce(QuitThreadOnCounter(&not_connected_peers));
201 // Expect that the connection will be closed eventually. 201 // Expect that the connection will be closed eventually.
202 EXPECT_CALL(host_connection_callback_, 202 EXPECT_CALL(host_connection_callback_,
203 OnStateChange(Session::CLOSED)) 203 OnStateChange(Session::CLOSED))
204 .Times(AtMost(1)); 204 .Times(AtMost(1));
205 } 205 }
206 } 206 }
207 207
208 { 208 {
209 InSequence dummy; 209 InSequence dummy;
210 210
211 EXPECT_CALL(client_connection_callback_, 211 EXPECT_CALL(client_connection_callback_,
212 OnStateChange(Session::CONNECTING)) 212 OnStateChange(Session::CONNECTING))
213 .Times(1); 213 .Times(1);
214 EXPECT_CALL(client_connection_callback_,
215 OnStateChange(Session::CONNECTED))
216 .Times(AtMost(1));
214 if (!expect_fail) { 217 if (!expect_fail) {
215 EXPECT_CALL(client_connection_callback_, 218 EXPECT_CALL(client_connection_callback_,
216 OnStateChange(Session::CONNECTED))
217 .Times(1);
218 EXPECT_CALL(client_connection_callback_,
219 OnStateChange(Session::AUTHENTICATED)) 219 OnStateChange(Session::AUTHENTICATED))
220 .Times(1) 220 .Times(1)
221 .WillOnce(QuitThreadOnCounter(&not_connected_peers)); 221 .WillOnce(QuitThreadOnCounter(&not_connected_peers));
222 } 222 }
223 // Expect that the connection will be closed eventually. 223 // Expect that the connection will be closed eventually.
224 EXPECT_CALL(client_connection_callback_, 224 EXPECT_CALL(client_connection_callback_,
225 OnStateChange(Session::CLOSED)) 225 OnStateChange(Session::CLOSED))
226 .Times(AtMost(1)); 226 .Times(AtMost(1));
227 } 227 }
228 228
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 343
344 ASSERT_TRUE(RunMessageLoopWithTimeout(TestTimeouts::action_max_timeout_ms())); 344 ASSERT_TRUE(RunMessageLoopWithTimeout(TestTimeouts::action_max_timeout_ms()));
345 } 345 }
346 346
347 // Verify that we can connect two endpoints. 347 // Verify that we can connect two endpoints.
348 TEST_F(JingleSessionTest, Connect) { 348 TEST_F(JingleSessionTest, Connect) {
349 CreateServerPair(FakeAuthenticator::ACCEPT, 1); 349 CreateServerPair(FakeAuthenticator::ACCEPT, 1);
350 ASSERT_TRUE(InitiateConnection(FakeAuthenticator::ACCEPT, 1, false)); 350 ASSERT_TRUE(InitiateConnection(FakeAuthenticator::ACCEPT, 1, false));
351 } 351 }
352 352
353 // Verify that we can't connect two endpoints with mismatched secrets. 353 // Verify that we can connect two endpoints with multi-step
354 // authentication.
Wez 2011/12/03 00:21:05 nit: premature line-wrap?
Sergey Ulanov 2011/12/06 19:37:07 Done.
355 TEST_F(JingleSessionTest, ConnectMultistep) {
356 CreateServerPair(FakeAuthenticator::ACCEPT, 3);
357 ASSERT_TRUE(InitiateConnection(FakeAuthenticator::ACCEPT, 3, false));
358 }
359
360 // Verify that connection is terminted when auth fails.
354 TEST_F(JingleSessionTest, ConnectBadAuth) { 361 TEST_F(JingleSessionTest, ConnectBadAuth) {
355 CreateServerPair(FakeAuthenticator::REJECT, 1); 362 CreateServerPair(FakeAuthenticator::REJECT, 1);
356 ASSERT_TRUE(InitiateConnection(FakeAuthenticator::ACCEPT, 1, true)); 363 ASSERT_TRUE(InitiateConnection(FakeAuthenticator::ACCEPT, 1, true));
357 } 364 }
358 365
366 // Verify that connection is terminted when multi-step auth fails.
Wez 2011/12/03 00:21:05 nit: terminated
Sergey Ulanov 2011/12/06 19:37:07 Done.
367 TEST_F(JingleSessionTest, ConnectBadMultistepAuth) {
368 CreateServerPair(FakeAuthenticator::REJECT, 3);
369 ASSERT_TRUE(InitiateConnection(FakeAuthenticator::ACCEPT, 3, true));
370 }
371
359 TEST_F(JingleSessionTest, ConnectBadChannelAuth) { 372 TEST_F(JingleSessionTest, ConnectBadChannelAuth) {
360 CreateServerPair(FakeAuthenticator::REJECT_CHANNEL, 1); 373 CreateServerPair(FakeAuthenticator::REJECT_CHANNEL, 1);
361 ASSERT_TRUE(InitiateConnection(FakeAuthenticator::ACCEPT, 1, false)); 374 ASSERT_TRUE(InitiateConnection(FakeAuthenticator::ACCEPT, 1, false));
362 375
363 MockStreamChannelCallback client_callback; 376 MockStreamChannelCallback client_callback;
364 MockStreamChannelCallback host_callback; 377 MockStreamChannelCallback host_callback;
365 378
366 client_session_->CreateStreamChannel(kChannelName, base::Bind( 379 client_session_->CreateStreamChannel(kChannelName, base::Bind(
367 &MockStreamChannelCallback::OnDone, 380 &MockStreamChannelCallback::OnDone,
368 base::Unretained(&client_callback))); 381 base::Unretained(&client_callback)));
(...skipping 20 matching lines...) Expand all
389 402
390 ASSERT_TRUE(CreateChannel()); 403 ASSERT_TRUE(CreateChannel());
391 404
392 StreamConnectionTester tester(host_socket_.get(), client_socket_.get(), 405 StreamConnectionTester tester(host_socket_.get(), client_socket_.get(),
393 kMessageSize, kMessages); 406 kMessageSize, kMessages);
394 tester.Start(); 407 tester.Start();
395 message_loop_.Run(); 408 message_loop_.Run();
396 tester.CheckResults(); 409 tester.CheckResults();
397 } 410 }
398 411
412 // Verify that we can connect channgels with multistep auth.
Wez 2011/12/03 00:21:05 nit: channels
Sergey Ulanov 2011/12/06 19:37:07 Done.
413 TEST_F(JingleSessionTest, TestMultistepAuthTcpChannel) {
414 CreateServerPair(FakeAuthenticator::ACCEPT, 3);
415 ASSERT_TRUE(InitiateConnection(FakeAuthenticator::ACCEPT, 3, false));
416
417 ASSERT_TRUE(CreateChannel());
418
419 StreamConnectionTester tester(host_socket_.get(), client_socket_.get(),
420 kMessageSize, kMessages);
421 tester.Start();
422 message_loop_.Run();
423 tester.CheckResults();
424 }
425
399 // Verify that data can be transmitted over the video RTP channel. 426 // Verify that data can be transmitted over the video RTP channel.
400 TEST_F(JingleSessionTest, TestUdpChannel) { 427 TEST_F(JingleSessionTest, TestUdpChannel) {
401 CreateServerPair(FakeAuthenticator::ACCEPT, 1); 428 CreateServerPair(FakeAuthenticator::ACCEPT, 1);
402 ASSERT_TRUE(InitiateConnection(FakeAuthenticator::ACCEPT, 1, false)); 429 ASSERT_TRUE(InitiateConnection(FakeAuthenticator::ACCEPT, 1, false));
403 430
404 MockDatagramChannelCallback client_callback; 431 MockDatagramChannelCallback client_callback;
405 MockDatagramChannelCallback host_callback; 432 MockDatagramChannelCallback host_callback;
406 433
407 int counter = 2; 434 int counter = 2;
408 net::Socket* client_socket = NULL; 435 net::Socket* client_socket = NULL;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 CreateServerPair(FakeAuthenticator::ACCEPT, 1); 469 CreateServerPair(FakeAuthenticator::ACCEPT, 1);
443 470
444 RunSpeedTest(512); 471 RunSpeedTest(512);
445 RunSpeedTest(1024); 472 RunSpeedTest(1024);
446 RunSpeedTest(51200); 473 RunSpeedTest(51200);
447 RunSpeedTest(512000); 474 RunSpeedTest(512000);
448 } 475 }
449 476
450 } // namespace protocol 477 } // namespace protocol
451 } // namespace remoting 478 } // namespace remoting
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698