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 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); | 102 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); |
103 GCMStore::LoadResult load_result; | 103 GCMStore::LoadResult load_result; |
104 gcm_store->Load(base::Bind( | 104 gcm_store->Load(base::Bind( |
105 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); | 105 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); |
106 PumpLoop(); | 106 PumpLoop(); |
107 | 107 |
108 EXPECT_EQ(0U, load_result.device_android_id); | 108 EXPECT_EQ(0U, load_result.device_android_id); |
109 EXPECT_EQ(0U, load_result.device_security_token); | 109 EXPECT_EQ(0U, load_result.device_security_token); |
110 EXPECT_TRUE(load_result.incoming_messages.empty()); | 110 EXPECT_TRUE(load_result.incoming_messages.empty()); |
111 EXPECT_TRUE(load_result.outgoing_messages.empty()); | 111 EXPECT_TRUE(load_result.outgoing_messages.empty()); |
112 EXPECT_EQ(1LL, load_result.next_serial_number); | 112 EXPECT_EQ(1LL, load_result.serial_number_mappings.next_serial_number); |
113 EXPECT_TRUE(load_result.user_serial_numbers.empty()); | 113 EXPECT_TRUE(load_result.serial_number_mappings.user_serial_numbers.empty()); |
114 } | 114 } |
115 | 115 |
116 TEST_F(GCMStoreImplTest, DeviceCredentials) { | 116 TEST_F(GCMStoreImplTest, DeviceCredentials) { |
117 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); | 117 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); |
118 GCMStore::LoadResult load_result; | 118 GCMStore::LoadResult load_result; |
119 gcm_store->Load(base::Bind( | 119 gcm_store->Load(base::Bind( |
120 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); | 120 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); |
121 PumpLoop(); | 121 PumpLoop(); |
122 | 122 |
123 gcm_store->SetDeviceCredentials( | 123 gcm_store->SetDeviceCredentials( |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
307 gcm_store->SetNextSerialNumber( | 307 gcm_store->SetNextSerialNumber( |
308 kNextSerialNumber, | 308 kNextSerialNumber, |
309 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this))); | 309 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this))); |
310 PumpLoop(); | 310 PumpLoop(); |
311 | 311 |
312 gcm_store = BuildGCMStore().Pass(); | 312 gcm_store = BuildGCMStore().Pass(); |
313 gcm_store->Load(base::Bind( | 313 gcm_store->Load(base::Bind( |
314 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); | 314 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); |
315 PumpLoop(); | 315 PumpLoop(); |
316 | 316 |
317 EXPECT_EQ(kNextSerialNumber, load_result.next_serial_number); | 317 EXPECT_EQ(kNextSerialNumber, |
| 318 load_result.serial_number_mappings.next_serial_number); |
318 } | 319 } |
319 | 320 |
320 // Verify that user serial number mappings are persisted properly. | 321 // Verify that user serial number mappings are persisted properly. |
321 TEST_F(GCMStoreImplTest, UserSerialNumberMappings) { | 322 TEST_F(GCMStoreImplTest, UserSerialNumberMappings) { |
322 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); | 323 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); |
323 GCMStore::LoadResult load_result; | 324 GCMStore::LoadResult load_result; |
324 gcm_store->Load(base::Bind( | 325 gcm_store->Load(base::Bind( |
325 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); | 326 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); |
326 PumpLoop(); | 327 PumpLoop(); |
327 | 328 |
(...skipping 10 matching lines...) Expand all Loading... |
338 username2, | 339 username2, |
339 serial_number2, | 340 serial_number2, |
340 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this))); | 341 base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this))); |
341 PumpLoop(); | 342 PumpLoop(); |
342 | 343 |
343 gcm_store = BuildGCMStore().Pass(); | 344 gcm_store = BuildGCMStore().Pass(); |
344 gcm_store->Load(base::Bind( | 345 gcm_store->Load(base::Bind( |
345 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); | 346 &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result)); |
346 PumpLoop(); | 347 PumpLoop(); |
347 | 348 |
348 ASSERT_EQ(2u, load_result.user_serial_numbers.size()); | 349 ASSERT_EQ(2u, load_result.serial_number_mappings.user_serial_numbers.size()); |
349 ASSERT_NE(load_result.user_serial_numbers.end(), | 350 ASSERT_NE( |
350 load_result.user_serial_numbers.find(username1)); | 351 load_result.serial_number_mappings.user_serial_numbers.end(), |
351 EXPECT_EQ(serial_number1, load_result.user_serial_numbers[username1]); | 352 load_result.serial_number_mappings.user_serial_numbers.find(username1)); |
352 ASSERT_NE(load_result.user_serial_numbers.end(), | 353 EXPECT_EQ(serial_number1, |
353 load_result.user_serial_numbers.find(username2)); | 354 load_result.serial_number_mappings.user_serial_numbers[username1]); |
354 EXPECT_EQ(serial_number2, load_result.user_serial_numbers[username2]); | 355 ASSERT_NE( |
| 356 load_result.serial_number_mappings.user_serial_numbers.end(), |
| 357 load_result.serial_number_mappings.user_serial_numbers.find(username2)); |
| 358 EXPECT_EQ(serial_number2, |
| 359 load_result.serial_number_mappings.user_serial_numbers[username2]); |
355 } | 360 } |
356 | 361 |
357 // Test that per-app message limits are enforced, persisted across restarts, | 362 // Test that per-app message limits are enforced, persisted across restarts, |
358 // and updated as messages are removed. | 363 // and updated as messages are removed. |
359 TEST_F(GCMStoreImplTest, PerAppMessageLimits) { | 364 TEST_F(GCMStoreImplTest, PerAppMessageLimits) { |
360 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); | 365 scoped_ptr<GCMStore> gcm_store(BuildGCMStore()); |
361 GCMStore::LoadResult load_result; | 366 GCMStore::LoadResult load_result; |
362 gcm_store->Load(base::Bind(&GCMStoreImplTest::LoadCallback, | 367 gcm_store->Load(base::Bind(&GCMStoreImplTest::LoadCallback, |
363 base::Unretained(this), | 368 base::Unretained(this), |
364 &load_result)); | 369 &load_result)); |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
457 MCSMessage(message), | 462 MCSMessage(message), |
458 base::Bind(&GCMStoreImplTest::UpdateCallback, | 463 base::Bind(&GCMStoreImplTest::UpdateCallback, |
459 base::Unretained(this)))); | 464 base::Unretained(this)))); |
460 PumpLoop(); | 465 PumpLoop(); |
461 } | 466 } |
462 } | 467 } |
463 | 468 |
464 } // namespace | 469 } // namespace |
465 | 470 |
466 } // namespace gcm | 471 } // namespace gcm |
OLD | NEW |