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

Side by Side Diff: google_apis/gcm/engine/gcm_store_impl_unittest.cc

Issue 491443004: [GCM] Adding GCMAccountMapper to link signed in profile to accounts. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressing feedback from Jian Li Created 6 years, 3 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 | « google_apis/gcm/engine/account_mapping_unittest.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 "google_apis/gcm/engine/gcm_store_impl.h" 5 #include "google_apis/gcm/engine/gcm_store_impl.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 gcm_store->Load(base::Bind( 525 gcm_store->Load(base::Bind(
526 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); 526 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
527 527
528 // Add account mappings. 528 // Add account mappings.
529 AccountMapping account_mapping1; 529 AccountMapping account_mapping1;
530 account_mapping1.account_id = "account_id_1"; 530 account_mapping1.account_id = "account_id_1";
531 account_mapping1.email = "account_id_1@gmail.com"; 531 account_mapping1.email = "account_id_1@gmail.com";
532 account_mapping1.access_token = "account_token1"; 532 account_mapping1.access_token = "account_token1";
533 account_mapping1.status = AccountMapping::ADDING; 533 account_mapping1.status = AccountMapping::ADDING;
534 account_mapping1.status_change_timestamp = base::Time(); 534 account_mapping1.status_change_timestamp = base::Time();
535 account_mapping1.last_message_type = AccountMapping::MSG_ADD;
536 account_mapping1.last_message_id = "message_1"; 535 account_mapping1.last_message_id = "message_1";
537 536
538 AccountMapping account_mapping2; 537 AccountMapping account_mapping2;
539 account_mapping2.account_id = "account_id_2"; 538 account_mapping2.account_id = "account_id_2";
540 account_mapping2.email = "account_id_2@gmail.com"; 539 account_mapping2.email = "account_id_2@gmail.com";
541 account_mapping2.access_token = "account_token1"; 540 account_mapping2.access_token = "account_token1";
542 account_mapping2.status = AccountMapping::REMOVING; 541 account_mapping2.status = AccountMapping::REMOVING;
543 account_mapping2.status_change_timestamp = 542 account_mapping2.status_change_timestamp =
544 base::Time::FromInternalValue(1305734521259935LL); 543 base::Time::FromInternalValue(1305734521259935LL);
545 account_mapping2.last_message_type = AccountMapping::MSG_REMOVE;
546 account_mapping2.last_message_id = "message_2"; 544 account_mapping2.last_message_id = "message_2";
547 545
548 gcm_store->AddAccountMapping( 546 gcm_store->AddAccountMapping(
549 account_mapping1, 547 account_mapping1,
550 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this))); 548 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this)));
551 PumpLoop(); 549 PumpLoop();
552 gcm_store->AddAccountMapping( 550 gcm_store->AddAccountMapping(
553 account_mapping2, 551 account_mapping2,
554 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this))); 552 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this)));
555 PumpLoop(); 553 PumpLoop();
556 554
557 gcm_store = BuildGCMStore().Pass(); 555 gcm_store = BuildGCMStore().Pass();
558 gcm_store->Load(base::Bind( 556 gcm_store->Load(base::Bind(
559 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); 557 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
560 PumpLoop(); 558 PumpLoop();
561 559
562 EXPECT_EQ(2UL, load_result->account_mappings.size()); 560 EXPECT_EQ(2UL, load_result->account_mappings.size());
563 GCMStore::AccountMappingMap::iterator iter = 561 GCMStore::AccountMappingMap::iterator iter =
564 load_result->account_mappings.begin(); 562 load_result->account_mappings.begin();
565 EXPECT_EQ("account_id_1", iter->first); 563 EXPECT_EQ("account_id_1", iter->first);
566 EXPECT_EQ(account_mapping1.account_id, iter->second.account_id); 564 EXPECT_EQ(account_mapping1.account_id, iter->second.account_id);
567 EXPECT_EQ(account_mapping1.email, iter->second.email); 565 EXPECT_EQ(account_mapping1.email, iter->second.email);
568 EXPECT_TRUE(iter->second.access_token.empty()); 566 EXPECT_TRUE(iter->second.access_token.empty());
569 EXPECT_EQ(AccountMapping::ADDING, iter->second.status); 567 EXPECT_EQ(AccountMapping::ADDING, iter->second.status);
570 EXPECT_EQ(account_mapping1.status_change_timestamp, 568 EXPECT_EQ(account_mapping1.status_change_timestamp,
571 iter->second.status_change_timestamp); 569 iter->second.status_change_timestamp);
572 EXPECT_EQ(account_mapping1.last_message_type, iter->second.last_message_type);
573 EXPECT_EQ(account_mapping1.last_message_id, iter->second.last_message_id); 570 EXPECT_EQ(account_mapping1.last_message_id, iter->second.last_message_id);
574 ++iter; 571 ++iter;
575 EXPECT_EQ("account_id_2", iter->first); 572 EXPECT_EQ("account_id_2", iter->first);
576 EXPECT_EQ(account_mapping2.account_id, iter->second.account_id); 573 EXPECT_EQ(account_mapping2.account_id, iter->second.account_id);
577 EXPECT_EQ(account_mapping2.email, iter->second.email); 574 EXPECT_EQ(account_mapping2.email, iter->second.email);
578 EXPECT_TRUE(iter->second.access_token.empty()); 575 EXPECT_TRUE(iter->second.access_token.empty());
579 EXPECT_EQ(AccountMapping::REMOVING, iter->second.status); 576 EXPECT_EQ(AccountMapping::REMOVING, iter->second.status);
580 EXPECT_EQ(account_mapping2.status_change_timestamp, 577 EXPECT_EQ(account_mapping2.status_change_timestamp,
581 iter->second.status_change_timestamp); 578 iter->second.status_change_timestamp);
582 EXPECT_EQ(account_mapping2.last_message_type, iter->second.last_message_type);
583 EXPECT_EQ(account_mapping2.last_message_id, iter->second.last_message_id); 579 EXPECT_EQ(account_mapping2.last_message_id, iter->second.last_message_id);
584 580
585 gcm_store->RemoveAccountMapping( 581 gcm_store->RemoveAccountMapping(
586 account_mapping1.account_id, 582 account_mapping1.account_id,
587 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this))); 583 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this)));
588 PumpLoop(); 584 PumpLoop();
589 585
590 gcm_store = BuildGCMStore().Pass(); 586 gcm_store = BuildGCMStore().Pass();
591 gcm_store->Load(base::Bind( 587 gcm_store->Load(base::Bind(
592 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); 588 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
593 PumpLoop(); 589 PumpLoop();
594 590
595 EXPECT_EQ(1UL, load_result->account_mappings.size()); 591 EXPECT_EQ(1UL, load_result->account_mappings.size());
596 iter = load_result->account_mappings.begin(); 592 iter = load_result->account_mappings.begin();
597 EXPECT_EQ("account_id_2", iter->first); 593 EXPECT_EQ("account_id_2", iter->first);
598 EXPECT_EQ(account_mapping2.account_id, iter->second.account_id); 594 EXPECT_EQ(account_mapping2.account_id, iter->second.account_id);
599 EXPECT_EQ(account_mapping2.email, iter->second.email); 595 EXPECT_EQ(account_mapping2.email, iter->second.email);
600 EXPECT_TRUE(iter->second.access_token.empty()); 596 EXPECT_TRUE(iter->second.access_token.empty());
601 EXPECT_EQ(AccountMapping::REMOVING, iter->second.status); 597 EXPECT_EQ(AccountMapping::REMOVING, iter->second.status);
602 EXPECT_EQ(account_mapping2.status_change_timestamp, 598 EXPECT_EQ(account_mapping2.status_change_timestamp,
603 iter->second.status_change_timestamp); 599 iter->second.status_change_timestamp);
604 EXPECT_EQ(account_mapping2.last_message_type, iter->second.last_message_type);
605 EXPECT_EQ(account_mapping2.last_message_id, iter->second.last_message_id); 600 EXPECT_EQ(account_mapping2.last_message_id, iter->second.last_message_id);
606 } 601 }
607 602
608 // When the database is destroyed, all database updates should fail. At the 603 // When the database is destroyed, all database updates should fail. At the
609 // same time, they per-app message counts should not go up, as failures should 604 // same time, they per-app message counts should not go up, as failures should
610 // result in decrementing the counts. 605 // result in decrementing the counts.
611 TEST_F(GCMStoreImplTest, AddMessageAfterDestroy) { 606 TEST_F(GCMStoreImplTest, AddMessageAfterDestroy) {
612 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); 607 scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
613 scoped_ptr<GCMStore::LoadResult> load_result; 608 scoped_ptr<GCMStore::LoadResult> load_result;
614 gcm_store->Load(base::Bind(&GCMStoreImplTest::LoadCallback, 609 gcm_store->Load(base::Bind(&GCMStoreImplTest::LoadCallback,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
647 642
648 gcm_store->Load(base::Bind(&GCMStoreImplTest::LoadCallback, 643 gcm_store->Load(base::Bind(&GCMStoreImplTest::LoadCallback,
649 base::Unretained(this), 644 base::Unretained(this),
650 &load_result)); 645 &load_result));
651 PumpLoop(); 646 PumpLoop();
652 } 647 }
653 648
654 } // namespace 649 } // namespace
655 650
656 } // namespace gcm 651 } // namespace gcm
OLDNEW
« no previous file with comments | « google_apis/gcm/engine/account_mapping_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698