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

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: Add basic tests 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());
jianli 2014/06/09 23:15:28 Could you please check driver()->IsConnected() and
Nicolas Zea 2014/06/09 23:28:25 Done.
321 326
322 // GCM will be started only after both sign-in and app handler being 327 // GCM will be started only after both sign-in and app handler being added.
323 AddAppHandlers(); 328 AddAppHandlers();
324 EXPECT_TRUE(driver()->IsStarted()); 329 EXPECT_TRUE(driver()->IsStarted());
330 PumpIOLoop();
331 EXPECT_TRUE(driver()->IsConnected());
332 EXPECT_TRUE(gcm_app_handler()->connected());
325 } 333 }
326 334
327 TEST_F(GCMDriverTest, Shutdown) { 335 TEST_F(GCMDriverTest, Shutdown) {
328 CreateDriver(FakeGCMClient::NO_DELAY_START); 336 CreateDriver(FakeGCMClient::NO_DELAY_START);
329 EXPECT_FALSE(HasAppHandlers()); 337 EXPECT_FALSE(HasAppHandlers());
330 338
331 AddAppHandlers(); 339 AddAppHandlers();
332 EXPECT_TRUE(HasAppHandlers()); 340 EXPECT_TRUE(HasAppHandlers());
333 341
334 driver()->Shutdown(); 342 driver()->Shutdown();
335 EXPECT_FALSE(HasAppHandlers()); 343 EXPECT_FALSE(HasAppHandlers());
344 EXPECT_FALSE(driver()->IsConnected());
345 EXPECT_FALSE(gcm_app_handler()->connected());
336 } 346 }
337 347
338 TEST_F(GCMDriverTest, SignInAndSignOutOnGCMEnabled) { 348 TEST_F(GCMDriverTest, SignInAndSignOutOnGCMEnabled) {
339 // By default, GCM is enabled. 349 // By default, GCM is enabled.
340 CreateDriver(FakeGCMClient::NO_DELAY_START); 350 CreateDriver(FakeGCMClient::NO_DELAY_START);
341 AddAppHandlers(); 351 AddAppHandlers();
342 352
343 // GCMClient should be started after sign-in. 353 // GCMClient should be started after sign-in.
344 SignIn(kTestAccountID1); 354 SignIn(kTestAccountID1);
345 EXPECT_TRUE(driver()->IsGCMClientReady()); 355 EXPECT_TRUE(driver()->IsGCMClientReady());
(...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after
892 902
893 TEST_F(GCMDriverFunctionalTest, MessagesDeleted) { 903 TEST_F(GCMDriverFunctionalTest, MessagesDeleted) {
894 GetGCMClient()->DeleteMessages(kTestAppID1); 904 GetGCMClient()->DeleteMessages(kTestAppID1);
895 gcm_app_handler()->WaitForNotification(); 905 gcm_app_handler()->WaitForNotification();
896 EXPECT_EQ(FakeGCMAppHandler::MESSAGES_DELETED_EVENT, 906 EXPECT_EQ(FakeGCMAppHandler::MESSAGES_DELETED_EVENT,
897 gcm_app_handler()->received_event()); 907 gcm_app_handler()->received_event());
898 EXPECT_EQ(kTestAppID1, gcm_app_handler()->app_id()); 908 EXPECT_EQ(kTestAppID1, gcm_app_handler()->app_id());
899 } 909 }
900 910
901 } // namespace gcm 911 } // namespace gcm
OLDNEW
« components/gcm_driver/gcm_driver_desktop.cc ('K') | « 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