| Index: google_apis/gcm/engine/gcm_store_impl_unittest.cc
|
| diff --git a/google_apis/gcm/engine/gcm_store_impl_unittest.cc b/google_apis/gcm/engine/gcm_store_impl_unittest.cc
|
| index 0a34307f76183ba198c739ce8a2666fcf50020f1..8cc39cc18393e21aee498f1511b5d7948a6550ad 100644
|
| --- a/google_apis/gcm/engine/gcm_store_impl_unittest.cc
|
| +++ b/google_apis/gcm/engine/gcm_store_impl_unittest.cc
|
| @@ -108,8 +108,6 @@ TEST_F(GCMStoreImplTest, LoadNew) {
|
| EXPECT_EQ(0U, load_result->device_security_token);
|
| EXPECT_TRUE(load_result->incoming_messages.empty());
|
| EXPECT_TRUE(load_result->outgoing_messages.empty());
|
| - EXPECT_EQ(1LL, load_result->serial_number_mappings.next_serial_number);
|
| - EXPECT_TRUE(load_result->serial_number_mappings.user_serial_numbers.empty());
|
| }
|
|
|
| TEST_F(GCMStoreImplTest, DeviceCredentials) {
|
| @@ -134,6 +132,58 @@ TEST_F(GCMStoreImplTest, DeviceCredentials) {
|
| ASSERT_EQ(kDeviceToken, load_result->device_security_token);
|
| }
|
|
|
| +TEST_F(GCMStoreImplTest, Registrations) {
|
| + scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
|
| + scoped_ptr<GCMStore::LoadResult> load_result;
|
| + gcm_store->Load(base::Bind(
|
| + &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
|
| + PumpLoop();
|
| +
|
| + // Add one registration with one sender.
|
| + linked_ptr<RegistrationInfo> registration1(new RegistrationInfo);
|
| + registration1->sender_ids.push_back("sender1");
|
| + registration1->registration_id = "registration1";
|
| + gcm_store->AddRegistration(
|
| + "app1",
|
| + registration1,
|
| + base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this)));
|
| + PumpLoop();
|
| +
|
| + // Add one registration with multiple senders.
|
| + linked_ptr<RegistrationInfo> registration2(new RegistrationInfo);
|
| + registration2->sender_ids.push_back("sender2_1");
|
| + registration2->sender_ids.push_back("sender2_2");
|
| + registration2->registration_id = "registration2";
|
| + gcm_store->AddRegistration(
|
| + "app2",
|
| + registration2,
|
| + base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this)));
|
| + PumpLoop();
|
| +
|
| + gcm_store = BuildGCMStore().Pass();
|
| + gcm_store->Load(base::Bind(
|
| + &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
|
| + PumpLoop();
|
| +
|
| + ASSERT_EQ(2, load_result->registrations.size());
|
| + ASSERT_TRUE(load_result->registrations.find("app1") !=
|
| + load_result->registrations.end());
|
| + EXPECT_EQ(registration1->registration_id,
|
| + load_result->registrations["app1"]->registration_id);
|
| + ASSERT_EQ(1, load_result->registrations["app1"]->sender_ids.size());
|
| + EXPECT_EQ(registration1->sender_ids[0],
|
| + load_result->registrations["app1"]->sender_ids[0]);
|
| + ASSERT_TRUE(load_result->registrations.find("app2") !=
|
| + load_result->registrations.end());
|
| + EXPECT_EQ(registration2->registration_id,
|
| + load_result->registrations["app2"]->registration_id);
|
| + ASSERT_EQ(2, load_result->registrations["app2"]->sender_ids.size());
|
| + EXPECT_EQ(registration2->sender_ids[0],
|
| + load_result->registrations["app2"]->sender_ids[0]);
|
| + EXPECT_EQ(registration2->sender_ids[1],
|
| + load_result->registrations["app2"]->sender_ids[1]);
|
| +}
|
| +
|
| // Verify saving some incoming messages, reopening the directory, and then
|
| // removing those incoming messages.
|
| TEST_F(GCMStoreImplTest, IncomingMessages) {
|
| @@ -294,70 +344,6 @@ TEST_F(GCMStoreImplTest, IncomingAndOutgoingMessages) {
|
| ASSERT_TRUE(load_result->outgoing_messages.empty());
|
| }
|
|
|
| -// Verify that the next serial number of persisted properly.
|
| -TEST_F(GCMStoreImplTest, NextSerialNumber) {
|
| - const int64 kNextSerialNumber = 77LL;
|
| - scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
|
| - scoped_ptr<GCMStore::LoadResult> load_result;
|
| - gcm_store->Load(base::Bind(
|
| - &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
|
| - PumpLoop();
|
| -
|
| - gcm_store->SetNextSerialNumber(
|
| - kNextSerialNumber,
|
| - base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this)));
|
| - PumpLoop();
|
| -
|
| - gcm_store = BuildGCMStore().Pass();
|
| - gcm_store->Load(base::Bind(
|
| - &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
|
| - PumpLoop();
|
| -
|
| - EXPECT_EQ(kNextSerialNumber,
|
| - load_result->serial_number_mappings.next_serial_number);
|
| -}
|
| -
|
| -// Verify that user serial number mappings are persisted properly.
|
| -TEST_F(GCMStoreImplTest, UserSerialNumberMappings) {
|
| - scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
|
| - scoped_ptr<GCMStore::LoadResult> load_result;
|
| - gcm_store->Load(base::Bind(
|
| - &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
|
| - PumpLoop();
|
| -
|
| - std::string username1 = "username1";
|
| - int64 serial_number1 = 34LL;
|
| - gcm_store->AddUserSerialNumber(
|
| - username1,
|
| - serial_number1,
|
| - base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this)));
|
| -
|
| - std::string username2 = "username2";
|
| - int64 serial_number2 = 56LL;
|
| - gcm_store->AddUserSerialNumber(
|
| - username2,
|
| - serial_number2,
|
| - base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this)));
|
| - PumpLoop();
|
| -
|
| - gcm_store = BuildGCMStore().Pass();
|
| - gcm_store->Load(base::Bind(
|
| - &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
|
| - PumpLoop();
|
| -
|
| - ASSERT_EQ(2u, load_result->serial_number_mappings.user_serial_numbers.size());
|
| - ASSERT_NE(
|
| - load_result->serial_number_mappings.user_serial_numbers.end(),
|
| - load_result->serial_number_mappings.user_serial_numbers.find(username1));
|
| - EXPECT_EQ(serial_number1,
|
| - load_result->serial_number_mappings.user_serial_numbers[username1]);
|
| - ASSERT_NE(
|
| - load_result->serial_number_mappings.user_serial_numbers.end(),
|
| - load_result->serial_number_mappings.user_serial_numbers.find(username2));
|
| - EXPECT_EQ(serial_number2,
|
| - load_result->serial_number_mappings.user_serial_numbers[username2]);
|
| -}
|
| -
|
| // Test that per-app message limits are enforced, persisted across restarts,
|
| // and updated as messages are removed.
|
| TEST_F(GCMStoreImplTest, PerAppMessageLimits) {
|
|
|