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

Side by Side Diff: components/gcm_driver/gcm_driver_desktop_unittest.cc

Issue 344033002: Remove GCMDriver::IsGCMClientReady (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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
« no previous file with comments | « components/gcm_driver/gcm_driver_desktop.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/gcm_driver/gcm_driver_desktop.h" 5 #include "components/gcm_driver/gcm_driver_desktop.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/files/scoped_temp_dir.h" 9 #include "base/files/scoped_temp_dir.h"
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 EXPECT_FALSE(gcm_app_handler()->connected()); 319 EXPECT_FALSE(gcm_app_handler()->connected());
320 } 320 }
321 321
322 TEST_F(GCMDriverTest, SignInAndSignOutOnGCMEnabled) { 322 TEST_F(GCMDriverTest, SignInAndSignOutOnGCMEnabled) {
323 // By default, GCM is enabled. 323 // By default, GCM is enabled.
324 CreateDriver(FakeGCMClient::NO_DELAY_START); 324 CreateDriver(FakeGCMClient::NO_DELAY_START);
325 AddAppHandlers(); 325 AddAppHandlers();
326 326
327 // GCMClient should be started after sign-in. 327 // GCMClient should be started after sign-in.
328 SignIn(kTestAccountID1); 328 SignIn(kTestAccountID1);
329 EXPECT_TRUE(driver()->IsGCMClientReady());
330 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status()); 329 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status());
331 330
332 // GCMClient should be checked out after sign-out. 331 // GCMClient should be checked out after sign-out.
333 SignOut(); 332 SignOut();
334 EXPECT_FALSE(driver()->IsGCMClientReady());
335 EXPECT_EQ(FakeGCMClient::CHECKED_OUT, GetGCMClient()->status()); 333 EXPECT_EQ(FakeGCMClient::CHECKED_OUT, GetGCMClient()->status());
336 } 334 }
337 335
338 TEST_F(GCMDriverTest, SignInAndSignOutOnGCMDisabled) { 336 TEST_F(GCMDriverTest, SignInAndSignOutOnGCMDisabled) {
339 // By default, GCM is enabled. 337 // By default, GCM is enabled.
340 CreateDriver(FakeGCMClient::NO_DELAY_START); 338 CreateDriver(FakeGCMClient::NO_DELAY_START);
341 AddAppHandlers(); 339 AddAppHandlers();
342 340
343 // Disable GCM. 341 // Disable GCM.
344 driver()->Disable(); 342 driver()->Disable();
345 343
346 // GCMClient should not be started after sign-in. 344 // GCMClient should not be started after sign-in.
347 SignIn(kTestAccountID1); 345 SignIn(kTestAccountID1);
348 EXPECT_FALSE(driver()->IsGCMClientReady());
349 EXPECT_EQ(FakeGCMClient::UNINITIALIZED, GetGCMClient()->status()); 346 EXPECT_EQ(FakeGCMClient::UNINITIALIZED, GetGCMClient()->status());
350 347
351 // Check-out should still be performed after sign-out. 348 // Check-out should still be performed after sign-out.
352 SignOut(); 349 SignOut();
353 EXPECT_FALSE(driver()->IsGCMClientReady());
354 EXPECT_EQ(FakeGCMClient::CHECKED_OUT, GetGCMClient()->status()); 350 EXPECT_EQ(FakeGCMClient::CHECKED_OUT, GetGCMClient()->status());
355 } 351 }
356 352
357 TEST_F(GCMDriverTest, SignOutAndThenSignIn) { 353 TEST_F(GCMDriverTest, SignOutAndThenSignIn) {
358 CreateDriver(FakeGCMClient::NO_DELAY_START); 354 CreateDriver(FakeGCMClient::NO_DELAY_START);
359 AddAppHandlers(); 355 AddAppHandlers();
360 356
361 // GCMClient should be started after sign-in. 357 // GCMClient should be started after sign-in.
362 SignIn(kTestAccountID1); 358 SignIn(kTestAccountID1);
363 EXPECT_TRUE(driver()->IsGCMClientReady());
364 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status()); 359 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status());
365 360
366 // GCMClient should be checked out after sign-out. 361 // GCMClient should be checked out after sign-out.
367 SignOut(); 362 SignOut();
368 EXPECT_FALSE(driver()->IsGCMClientReady());
369 EXPECT_EQ(FakeGCMClient::CHECKED_OUT, GetGCMClient()->status()); 363 EXPECT_EQ(FakeGCMClient::CHECKED_OUT, GetGCMClient()->status());
370 364
371 // Sign-in with a different account. 365 // Sign-in with a different account.
372 SignIn(kTestAccountID2); 366 SignIn(kTestAccountID2);
373 367
374 // GCMClient should be started again. 368 // GCMClient should be started again.
375 EXPECT_TRUE(driver()->IsGCMClientReady());
376 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status()); 369 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status());
377 } 370 }
378 371
379 TEST_F(GCMDriverTest, DisableAndReenableGCM) { 372 TEST_F(GCMDriverTest, DisableAndReenableGCM) {
380 CreateDriver(FakeGCMClient::NO_DELAY_START); 373 CreateDriver(FakeGCMClient::NO_DELAY_START);
381 AddAppHandlers(); 374 AddAppHandlers();
382 SignIn(kTestAccountID1); 375 SignIn(kTestAccountID1);
383 376
384 // GCMClient should be started. 377 // GCMClient should be started.
385 EXPECT_TRUE(driver()->IsGCMClientReady());
386 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status()); 378 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status());
387 379
388 // Disables the GCM. 380 // Disables the GCM.
389 driver()->Disable(); 381 driver()->Disable();
390 PumpIOLoop(); 382 PumpIOLoop();
391 PumpUILoop(); 383 PumpUILoop();
392 384
393 // GCMClient should be stopped. 385 // GCMClient should be stopped.
394 EXPECT_FALSE(driver()->IsGCMClientReady());
395 EXPECT_EQ(FakeGCMClient::STOPPED, GetGCMClient()->status()); 386 EXPECT_EQ(FakeGCMClient::STOPPED, GetGCMClient()->status());
396 387
397 // Enables the GCM. 388 // Enables the GCM.
398 driver()->Enable(); 389 driver()->Enable();
399 PumpIOLoop(); 390 PumpIOLoop();
400 PumpUILoop(); 391 PumpUILoop();
401 392
402 // GCMClient should be started. 393 // GCMClient should be started.
403 EXPECT_TRUE(driver()->IsGCMClientReady());
404 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status()); 394 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status());
405 395
406 // Disables the GCM. 396 // Disables the GCM.
407 driver()->Disable(); 397 driver()->Disable();
408 PumpIOLoop(); 398 PumpIOLoop();
409 PumpUILoop(); 399 PumpUILoop();
410 400
411 // GCMClient should be stopped. 401 // GCMClient should be stopped.
412 EXPECT_FALSE(driver()->IsGCMClientReady());
413 EXPECT_EQ(FakeGCMClient::STOPPED, GetGCMClient()->status()); 402 EXPECT_EQ(FakeGCMClient::STOPPED, GetGCMClient()->status());
414 403
415 // Sign out. 404 // Sign out.
416 SignOut(); 405 SignOut();
417 406
418 // GCMClient should be checked out. 407 // GCMClient should be checked out.
419 EXPECT_FALSE(driver()->IsGCMClientReady());
420 EXPECT_EQ(FakeGCMClient::CHECKED_OUT, GetGCMClient()->status()); 408 EXPECT_EQ(FakeGCMClient::CHECKED_OUT, GetGCMClient()->status());
421 } 409 }
422 410
423 TEST_F(GCMDriverTest, StartOrStopGCMOnDemand) { 411 TEST_F(GCMDriverTest, StartOrStopGCMOnDemand) {
424 CreateDriver(FakeGCMClient::NO_DELAY_START); 412 CreateDriver(FakeGCMClient::NO_DELAY_START);
425 SignIn(kTestAccountID1); 413 SignIn(kTestAccountID1);
426 414
427 // GCMClient is not started. 415 // GCMClient is not started.
428 EXPECT_FALSE(driver()->IsGCMClientReady());
429 EXPECT_EQ(FakeGCMClient::UNINITIALIZED, GetGCMClient()->status()); 416 EXPECT_EQ(FakeGCMClient::UNINITIALIZED, GetGCMClient()->status());
430 417
431 // GCMClient is started after an app handler has been added. 418 // GCMClient is started after an app handler has been added.
432 driver()->AddAppHandler(kTestAppID1, gcm_app_handler()); 419 driver()->AddAppHandler(kTestAppID1, gcm_app_handler());
433 PumpIOLoop(); 420 PumpIOLoop();
434 PumpUILoop(); 421 PumpUILoop();
435 EXPECT_TRUE(driver()->IsGCMClientReady());
436 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status()); 422 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status());
437 423
438 // Add another app handler. 424 // Add another app handler.
439 driver()->AddAppHandler(kTestAppID2, gcm_app_handler()); 425 driver()->AddAppHandler(kTestAppID2, gcm_app_handler());
440 PumpIOLoop(); 426 PumpIOLoop();
441 PumpUILoop(); 427 PumpUILoop();
442 EXPECT_TRUE(driver()->IsGCMClientReady());
443 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status()); 428 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status());
444 429
445 // GCMClient remains active after one app handler is gone. 430 // GCMClient remains active after one app handler is gone.
446 driver()->RemoveAppHandler(kTestAppID1); 431 driver()->RemoveAppHandler(kTestAppID1);
447 PumpIOLoop(); 432 PumpIOLoop();
448 PumpUILoop(); 433 PumpUILoop();
449 EXPECT_TRUE(driver()->IsGCMClientReady());
450 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status()); 434 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status());
451 435
452 // GCMClient should be stopped after the last app handler is gone. 436 // GCMClient should be stopped after the last app handler is gone.
453 driver()->RemoveAppHandler(kTestAppID2); 437 driver()->RemoveAppHandler(kTestAppID2);
454 PumpIOLoop(); 438 PumpIOLoop();
455 PumpUILoop(); 439 PumpUILoop();
456 EXPECT_FALSE(driver()->IsGCMClientReady());
457 EXPECT_EQ(FakeGCMClient::STOPPED, GetGCMClient()->status()); 440 EXPECT_EQ(FakeGCMClient::STOPPED, GetGCMClient()->status());
458 441
459 // GCMClient is restarted after an app handler has been added. 442 // GCMClient is restarted after an app handler has been added.
460 driver()->AddAppHandler(kTestAppID2, gcm_app_handler()); 443 driver()->AddAppHandler(kTestAppID2, gcm_app_handler());
461 PumpIOLoop(); 444 PumpIOLoop();
462 PumpUILoop(); 445 PumpUILoop();
463 EXPECT_TRUE(driver()->IsGCMClientReady());
464 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status()); 446 EXPECT_EQ(FakeGCMClient::STARTED, GetGCMClient()->status());
465 } 447 }
466 448
467 TEST_F(GCMDriverTest, RegisterFailed) { 449 TEST_F(GCMDriverTest, RegisterFailed) {
468 std::vector<std::string> sender_ids; 450 std::vector<std::string> sender_ids;
469 sender_ids.push_back("sender1"); 451 sender_ids.push_back("sender1");
470 452
471 CreateDriver(FakeGCMClient::NO_DELAY_START); 453 CreateDriver(FakeGCMClient::NO_DELAY_START);
472 454
473 // Registration fails when GCM is disabled. 455 // Registration fails when GCM is disabled.
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after
876 858
877 TEST_F(GCMDriverFunctionalTest, MessagesDeleted) { 859 TEST_F(GCMDriverFunctionalTest, MessagesDeleted) {
878 GetGCMClient()->DeleteMessages(kTestAppID1); 860 GetGCMClient()->DeleteMessages(kTestAppID1);
879 gcm_app_handler()->WaitForNotification(); 861 gcm_app_handler()->WaitForNotification();
880 EXPECT_EQ(FakeGCMAppHandler::MESSAGES_DELETED_EVENT, 862 EXPECT_EQ(FakeGCMAppHandler::MESSAGES_DELETED_EVENT,
881 gcm_app_handler()->received_event()); 863 gcm_app_handler()->received_event());
882 EXPECT_EQ(kTestAppID1, gcm_app_handler()->app_id()); 864 EXPECT_EQ(kTestAppID1, gcm_app_handler()->app_id());
883 } 865 }
884 866
885 } // namespace gcm 867 } // namespace gcm
OLDNEW
« no previous file with comments | « components/gcm_driver/gcm_driver_desktop.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698