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

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

Issue 320993003: [GCM] Add app handler support for connection events (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase 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
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 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 } 298 }
299 299
300 TEST_F(GCMDriverTest, CreateGCMDriverBeforeSignIn) { 300 TEST_F(GCMDriverTest, CreateGCMDriverBeforeSignIn) {
301 // Create GCMDriver first. GCM is not started. 301 // Create GCMDriver first. GCM is not started.
302 CreateDriver(FakeGCMClient::NO_DELAY_START); 302 CreateDriver(FakeGCMClient::NO_DELAY_START);
303 EXPECT_FALSE(driver()->IsStarted()); 303 EXPECT_FALSE(driver()->IsStarted());
304 304
305 // Sign in. GCM is still not started. 305 // Sign in. GCM is still not started.
306 SignIn(kTestAccountID1); 306 SignIn(kTestAccountID1);
307 EXPECT_FALSE(driver()->IsStarted()); 307 EXPECT_FALSE(driver()->IsStarted());
308 EXPECT_FALSE(driver()->IsConnected());
309 EXPECT_FALSE(gcm_app_handler()->connected());
308 310
309 // GCM will be started only after both sign-in and app handler being 311 // GCM will be started only after both sign-in and app handler being added.
310 AddAppHandlers(); 312 AddAppHandlers();
311 EXPECT_TRUE(driver()->IsStarted()); 313 EXPECT_TRUE(driver()->IsStarted());
314 PumpIOLoop();
315 EXPECT_TRUE(driver()->IsConnected());
316 EXPECT_TRUE(gcm_app_handler()->connected());
312 } 317 }
313 318
314 TEST_F(GCMDriverTest, CreateGCMDriverAfterSignIn) { 319 TEST_F(GCMDriverTest, CreateGCMDriverAfterSignIn) {
315 // Sign in. Nothings happens since GCMDriver is not created. 320 // Sign in. Nothings happens since GCMDriver is not created.
316 SignIn(kTestAccountID1); 321 SignIn(kTestAccountID1);
317 322
318 // Create GCMDriver after sign-in. GCM is not started. 323 // Create GCMDriver after sign-in. GCM is not started.
319 CreateDriver(FakeGCMClient::NO_DELAY_START); 324 CreateDriver(FakeGCMClient::NO_DELAY_START);
320 EXPECT_FALSE(driver()->IsStarted()); 325 EXPECT_FALSE(driver()->IsStarted());
326 EXPECT_FALSE(driver()->IsConnected());
327 EXPECT_FALSE(gcm_app_handler()->connected());
321 328
322 // GCM will be started only after both sign-in and app handler being 329 // GCM will be started only after both sign-in and app handler being added.
323 AddAppHandlers(); 330 AddAppHandlers();
324 EXPECT_TRUE(driver()->IsStarted()); 331 EXPECT_TRUE(driver()->IsStarted());
332 PumpIOLoop();
333 EXPECT_TRUE(driver()->IsConnected());
334 EXPECT_TRUE(gcm_app_handler()->connected());
325 } 335 }
326 336
327 TEST_F(GCMDriverTest, Shutdown) { 337 TEST_F(GCMDriverTest, Shutdown) {
328 CreateDriver(FakeGCMClient::NO_DELAY_START); 338 CreateDriver(FakeGCMClient::NO_DELAY_START);
329 EXPECT_FALSE(HasAppHandlers()); 339 EXPECT_FALSE(HasAppHandlers());
330 340
331 AddAppHandlers(); 341 AddAppHandlers();
332 EXPECT_TRUE(HasAppHandlers()); 342 EXPECT_TRUE(HasAppHandlers());
333 343
334 driver()->Shutdown(); 344 driver()->Shutdown();
335 EXPECT_FALSE(HasAppHandlers()); 345 EXPECT_FALSE(HasAppHandlers());
346 EXPECT_FALSE(driver()->IsConnected());
347 EXPECT_FALSE(gcm_app_handler()->connected());
336 } 348 }
337 349
338 TEST_F(GCMDriverTest, SignInAndSignOutOnGCMEnabled) { 350 TEST_F(GCMDriverTest, SignInAndSignOutOnGCMEnabled) {
339 // By default, GCM is enabled. 351 // By default, GCM is enabled.
340 CreateDriver(FakeGCMClient::NO_DELAY_START); 352 CreateDriver(FakeGCMClient::NO_DELAY_START);
341 AddAppHandlers(); 353 AddAppHandlers();
342 354
343 // GCMClient should be started after sign-in. 355 // GCMClient should be started after sign-in.
344 SignIn(kTestAccountID1); 356 SignIn(kTestAccountID1);
345 EXPECT_TRUE(driver()->IsGCMClientReady()); 357 EXPECT_TRUE(driver()->IsGCMClientReady());
(...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after
892 904
893 TEST_F(GCMDriverFunctionalTest, MessagesDeleted) { 905 TEST_F(GCMDriverFunctionalTest, MessagesDeleted) {
894 GetGCMClient()->DeleteMessages(kTestAppID1); 906 GetGCMClient()->DeleteMessages(kTestAppID1);
895 gcm_app_handler()->WaitForNotification(); 907 gcm_app_handler()->WaitForNotification();
896 EXPECT_EQ(FakeGCMAppHandler::MESSAGES_DELETED_EVENT, 908 EXPECT_EQ(FakeGCMAppHandler::MESSAGES_DELETED_EVENT,
897 gcm_app_handler()->received_event()); 909 gcm_app_handler()->received_event());
898 EXPECT_EQ(kTestAppID1, gcm_app_handler()->app_id()); 910 EXPECT_EQ(kTestAppID1, gcm_app_handler()->app_id());
899 } 911 }
900 912
901 } // namespace gcm 913 } // namespace gcm
OLDNEW
« no previous file with comments | « components/gcm_driver/gcm_driver_desktop.cc ('k') | components/invalidation/gcm_invalidation_bridge.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698