| OLD | NEW |
| 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 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 225 } | 225 } |
| 226 | 226 |
| 227 TEST_F(GCMStoreImplTest, Registrations) { | 227 TEST_F(GCMStoreImplTest, Registrations) { |
| 228 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); | 228 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); |
| 229 scoped_ptr<GCMStore::LoadResult> load_result; | 229 scoped_ptr<GCMStore::LoadResult> load_result; |
| 230 gcm_store->Load(base::Bind( | 230 gcm_store->Load(base::Bind( |
| 231 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); | 231 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); |
| 232 PumpLoop(); | 232 PumpLoop(); |
| 233 | 233 |
| 234 // Add one registration with one sender. | 234 // Add one registration with one sender. |
| 235 linked_ptr<RegistrationInfo> registration1(new RegistrationInfo); | 235 std::string registration = "sender1=registration1"; |
| 236 registration1->sender_ids.push_back("sender1"); | |
| 237 registration1->registration_id = "registration1"; | |
| 238 gcm_store->AddRegistration( | 236 gcm_store->AddRegistration( |
| 239 "app1", | 237 kAppName, |
| 240 registration1, | 238 registration, |
| 241 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this))); | 239 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this))); |
| 242 PumpLoop(); | 240 PumpLoop(); |
| 243 | 241 |
| 244 // Add one registration with multiple senders. | 242 // Add one registration with multiple senders. |
| 245 linked_ptr<RegistrationInfo> registration2(new RegistrationInfo); | 243 std::string registration2 = "sender1,sender2=registration2"; |
| 246 registration2->sender_ids.push_back("sender2_1"); | |
| 247 registration2->sender_ids.push_back("sender2_2"); | |
| 248 registration2->registration_id = "registration2"; | |
| 249 gcm_store->AddRegistration( | 244 gcm_store->AddRegistration( |
| 250 "app2", | 245 kAppName2, |
| 251 registration2, | 246 registration2, |
| 252 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this))); | 247 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this))); |
| 253 PumpLoop(); | 248 PumpLoop(); |
| 254 | 249 |
| 255 gcm_store = BuildGCMStore().Pass(); | 250 gcm_store = BuildGCMStore().Pass(); |
| 256 gcm_store->Load(base::Bind( | 251 gcm_store->Load(base::Bind( |
| 257 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); | 252 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); |
| 258 PumpLoop(); | 253 PumpLoop(); |
| 259 | 254 |
| 260 ASSERT_EQ(2u, load_result->registrations.size()); | 255 ASSERT_EQ(2u, load_result->registrations.size()); |
| 261 ASSERT_TRUE(load_result->registrations.find("app1") != | 256 ASSERT_TRUE(load_result->registrations.find(kAppName) != |
| 262 load_result->registrations.end()); | 257 load_result->registrations.end()); |
| 263 EXPECT_EQ(registration1->registration_id, | 258 EXPECT_EQ(registration, load_result->registrations[kAppName]); |
| 264 load_result->registrations["app1"]->registration_id); | 259 ASSERT_TRUE(load_result->registrations.find(kAppName2) != |
| 265 ASSERT_EQ(1u, load_result->registrations["app1"]->sender_ids.size()); | |
| 266 EXPECT_EQ(registration1->sender_ids[0], | |
| 267 load_result->registrations["app1"]->sender_ids[0]); | |
| 268 ASSERT_TRUE(load_result->registrations.find("app2") != | |
| 269 load_result->registrations.end()); | 260 load_result->registrations.end()); |
| 270 EXPECT_EQ(registration2->registration_id, | 261 EXPECT_EQ(registration2, load_result->registrations[kAppName2]); |
| 271 load_result->registrations["app2"]->registration_id); | |
| 272 ASSERT_EQ(2u, load_result->registrations["app2"]->sender_ids.size()); | |
| 273 EXPECT_EQ(registration2->sender_ids[0], | |
| 274 load_result->registrations["app2"]->sender_ids[0]); | |
| 275 EXPECT_EQ(registration2->sender_ids[1], | |
| 276 load_result->registrations["app2"]->sender_ids[1]); | |
| 277 | 262 |
| 278 gcm_store->RemoveRegistration( | 263 gcm_store->RemoveRegistration( |
| 279 "app2", | 264 kAppName2, |
| 280 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this))); | 265 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this))); |
| 281 PumpLoop(); | 266 PumpLoop(); |
| 282 | 267 |
| 283 gcm_store = BuildGCMStore().Pass(); | 268 gcm_store = BuildGCMStore().Pass(); |
| 284 gcm_store->Load(base::Bind( | 269 gcm_store->Load(base::Bind( |
| 285 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); | 270 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); |
| 286 PumpLoop(); | 271 PumpLoop(); |
| 287 | 272 |
| 288 ASSERT_EQ(1u, load_result->registrations.size()); | 273 ASSERT_EQ(1u, load_result->registrations.size()); |
| 289 ASSERT_TRUE(load_result->registrations.find("app1") != | 274 ASSERT_TRUE(load_result->registrations.find(kAppName) != |
| 290 load_result->registrations.end()); | 275 load_result->registrations.end()); |
| 291 EXPECT_EQ(registration1->registration_id, | 276 EXPECT_EQ(registration, load_result->registrations[kAppName]); |
| 292 load_result->registrations["app1"]->registration_id); | |
| 293 ASSERT_EQ(1u, load_result->registrations["app1"]->sender_ids.size()); | |
| 294 EXPECT_EQ(registration1->sender_ids[0], | |
| 295 load_result->registrations["app1"]->sender_ids[0]); | |
| 296 } | 277 } |
| 297 | 278 |
| 298 // Verify saving some incoming messages, reopening the directory, and then | 279 // Verify saving some incoming messages, reopening the directory, and then |
| 299 // removing those incoming messages. | 280 // removing those incoming messages. |
| 300 TEST_F(GCMStoreImplTest, IncomingMessages) { | 281 TEST_F(GCMStoreImplTest, IncomingMessages) { |
| 301 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); | 282 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); |
| 302 scoped_ptr<GCMStore::LoadResult> load_result; | 283 scoped_ptr<GCMStore::LoadResult> load_result; |
| 303 gcm_store->Load(base::Bind( | 284 gcm_store->Load(base::Bind( |
| 304 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); | 285 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); |
| 305 PumpLoop(); | 286 PumpLoop(); |
| (...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 788 | 769 |
| 789 ASSERT_EQ(1u, load_result->instance_id_data.size()); | 770 ASSERT_EQ(1u, load_result->instance_id_data.size()); |
| 790 ASSERT_TRUE(load_result->instance_id_data.find(kAppName2) != | 771 ASSERT_TRUE(load_result->instance_id_data.find(kAppName2) != |
| 791 load_result->instance_id_data.end()); | 772 load_result->instance_id_data.end()); |
| 792 EXPECT_EQ(instance_id_data2, load_result->instance_id_data[kAppName2]); | 773 EXPECT_EQ(instance_id_data2, load_result->instance_id_data[kAppName2]); |
| 793 } | 774 } |
| 794 | 775 |
| 795 } // namespace | 776 } // namespace |
| 796 | 777 |
| 797 } // namespace gcm | 778 } // namespace gcm |
| OLD | NEW |