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

Side by Side Diff: components/sync/device_info/device_info_service_unittest.cc

Issue 2310683002: Remove most ScopedVector usage from c/b/extensions. (Closed)
Patch Set: cleaned up Created 4 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/sync/device_info/device_info_service.h" 5 #include "components/sync/device_info/device_info_service.h"
6 6
7 #include <map> 7 #include <map>
8 #include <memory> 8 #include <memory>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 using syncer_v2::ModelTypeStore; 45 using syncer_v2::ModelTypeStore;
46 using syncer_v2::ModelTypeStoreTestUtil; 46 using syncer_v2::ModelTypeStoreTestUtil;
47 using syncer_v2::KeyAndData; 47 using syncer_v2::KeyAndData;
48 using sync_driver::DeviceInfo; 48 using sync_driver::DeviceInfo;
49 using sync_driver::DeviceInfoTracker; 49 using sync_driver::DeviceInfoTracker;
50 using sync_driver::LocalDeviceInfoProviderMock; 50 using sync_driver::LocalDeviceInfoProviderMock;
51 using sync_pb::DataTypeState; 51 using sync_pb::DataTypeState;
52 using sync_pb::DeviceInfoSpecifics; 52 using sync_pb::DeviceInfoSpecifics;
53 using sync_pb::EntitySpecifics; 53 using sync_pb::EntitySpecifics;
54 54
55 using DeviceInfoList = std::vector<std::unique_ptr<DeviceInfo>>;
55 using StorageKeyList = ModelTypeService::StorageKeyList; 56 using StorageKeyList = ModelTypeService::StorageKeyList;
56 using RecordList = ModelTypeStore::RecordList; 57 using RecordList = ModelTypeStore::RecordList;
57 using Result = ModelTypeStore::Result; 58 using Result = ModelTypeStore::Result;
58 using StartCallback = ModelTypeChangeProcessor::StartCallback; 59 using StartCallback = ModelTypeChangeProcessor::StartCallback;
59 using WriteBatch = ModelTypeStore::WriteBatch; 60 using WriteBatch = ModelTypeStore::WriteBatch;
60 61
61 namespace { 62 namespace {
62 63
63 std::unique_ptr<DeviceInfo> CreateDeviceInfo() { 64 std::unique_ptr<DeviceInfo> CreateDeviceInfo() {
64 return base::MakeUnique<DeviceInfo>( 65 return base::MakeUnique<DeviceInfo>(
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 // that is slightly different from eachother. 339 // that is slightly different from eachother.
339 int generated_count_ = 0; 340 int generated_count_ = 0;
340 }; 341 };
341 342
342 namespace { 343 namespace {
343 344
344 TEST_F(DeviceInfoServiceTest, EmptyDataReconciliation) { 345 TEST_F(DeviceInfoServiceTest, EmptyDataReconciliation) {
345 InitializeAndPump(); 346 InitializeAndPump();
346 ASSERT_EQ(0u, service()->GetAllDeviceInfo().size()); 347 ASSERT_EQ(0u, service()->GetAllDeviceInfo().size());
347 OnSyncStarting(); 348 OnSyncStarting();
348 ScopedVector<DeviceInfo> all_device_info(service()->GetAllDeviceInfo()); 349 DeviceInfoList all_device_info(service()->GetAllDeviceInfo());
349 ASSERT_EQ(1u, all_device_info.size()); 350 ASSERT_EQ(1u, all_device_info.size());
350 ASSERT_TRUE( 351 ASSERT_TRUE(
351 local_device()->GetLocalDeviceInfo()->Equals(*all_device_info[0])); 352 local_device()->GetLocalDeviceInfo()->Equals(*all_device_info[0]));
352 } 353 }
353 354
354 TEST_F(DeviceInfoServiceTest, EmptyDataReconciliationSlowLoad) { 355 TEST_F(DeviceInfoServiceTest, EmptyDataReconciliationSlowLoad) {
355 InitializeService(); 356 InitializeService();
356 OnSyncStarting(); 357 OnSyncStarting();
357 ASSERT_EQ(0u, service()->GetAllDeviceInfo().size()); 358 ASSERT_EQ(0u, service()->GetAllDeviceInfo().size());
358 base::RunLoop().RunUntilIdle(); 359 base::RunLoop().RunUntilIdle();
359 ScopedVector<DeviceInfo> all_device_info(service()->GetAllDeviceInfo()); 360 DeviceInfoList all_device_info(service()->GetAllDeviceInfo());
360 ASSERT_EQ(1u, all_device_info.size()); 361 ASSERT_EQ(1u, all_device_info.size());
361 ASSERT_TRUE( 362 ASSERT_TRUE(
362 local_device()->GetLocalDeviceInfo()->Equals(*all_device_info[0])); 363 local_device()->GetLocalDeviceInfo()->Equals(*all_device_info[0]));
363 } 364 }
364 365
365 TEST_F(DeviceInfoServiceTest, LocalProviderSubscription) { 366 TEST_F(DeviceInfoServiceTest, LocalProviderSubscription) {
366 set_local_device(base::MakeUnique<LocalDeviceInfoProviderMock>()); 367 set_local_device(base::MakeUnique<LocalDeviceInfoProviderMock>());
367 InitializeAndPumpAndStart(); 368 InitializeAndPumpAndStart();
368 369
369 ASSERT_EQ(0u, service()->GetAllDeviceInfo().size()); 370 ASSERT_EQ(0u, service()->GetAllDeviceInfo().size());
370 local_device()->Initialize(CreateDeviceInfo()); 371 local_device()->Initialize(CreateDeviceInfo());
371 base::RunLoop().RunUntilIdle(); 372 base::RunLoop().RunUntilIdle();
372 373
373 ScopedVector<DeviceInfo> all_device_info(service()->GetAllDeviceInfo()); 374 DeviceInfoList all_device_info(service()->GetAllDeviceInfo());
374 ASSERT_EQ(1u, all_device_info.size()); 375 ASSERT_EQ(1u, all_device_info.size());
375 ASSERT_TRUE( 376 ASSERT_TRUE(
376 local_device()->GetLocalDeviceInfo()->Equals(*all_device_info[0])); 377 local_device()->GetLocalDeviceInfo()->Equals(*all_device_info[0]));
377 } 378 }
378 379
379 // Metadata shouldn't be loaded before the provider is initialized. 380 // Metadata shouldn't be loaded before the provider is initialized.
380 TEST_F(DeviceInfoServiceTest, LocalProviderInitRace) { 381 TEST_F(DeviceInfoServiceTest, LocalProviderInitRace) {
381 set_local_device(base::WrapUnique(new LocalDeviceInfoProviderMock())); 382 set_local_device(base::WrapUnique(new LocalDeviceInfoProviderMock()));
382 InitializeAndPump(); 383 InitializeAndPump();
383 OnSyncStarting(); 384 OnSyncStarting();
384 EXPECT_FALSE(processor()->metadata()); 385 EXPECT_FALSE(processor()->metadata());
385 386
386 ASSERT_EQ(0u, service()->GetAllDeviceInfo().size()); 387 ASSERT_EQ(0u, service()->GetAllDeviceInfo().size());
387 local_device()->Initialize(CreateDeviceInfo()); 388 local_device()->Initialize(CreateDeviceInfo());
388 base::RunLoop().RunUntilIdle(); 389 base::RunLoop().RunUntilIdle();
389 390
390 ScopedVector<DeviceInfo> all_device_info(service()->GetAllDeviceInfo()); 391 DeviceInfoList all_device_info(service()->GetAllDeviceInfo());
391 ASSERT_EQ(1u, all_device_info.size()); 392 ASSERT_EQ(1u, all_device_info.size());
392 ASSERT_TRUE( 393 ASSERT_TRUE(
393 local_device()->GetLocalDeviceInfo()->Equals(*all_device_info[0])); 394 local_device()->GetLocalDeviceInfo()->Equals(*all_device_info[0]));
394 395
395 EXPECT_TRUE(processor()->metadata()); 396 EXPECT_TRUE(processor()->metadata());
396 } 397 }
397 398
398 TEST_F(DeviceInfoServiceTest, GetClientTagNormal) { 399 TEST_F(DeviceInfoServiceTest, GetClientTagNormal) {
399 InitializeService(); 400 InitializeService();
400 const std::string guid = "abc"; 401 const std::string guid = "abc";
(...skipping 16 matching lines...) Expand all
417 TEST_F(DeviceInfoServiceTest, TestWithLocalData) { 418 TEST_F(DeviceInfoServiceTest, TestWithLocalData) {
418 std::unique_ptr<WriteBatch> batch = store()->CreateWriteBatch(); 419 std::unique_ptr<WriteBatch> batch = store()->CreateWriteBatch();
419 DeviceInfoSpecifics specifics(GenerateTestSpecifics()); 420 DeviceInfoSpecifics specifics(GenerateTestSpecifics());
420 store()->WriteData(batch.get(), specifics.cache_guid(), 421 store()->WriteData(batch.get(), specifics.cache_guid(),
421 specifics.SerializeAsString()); 422 specifics.SerializeAsString());
422 store()->CommitWriteBatch(std::move(batch), 423 store()->CommitWriteBatch(std::move(batch),
423 base::Bind(&AssertResultIsSuccess)); 424 base::Bind(&AssertResultIsSuccess));
424 425
425 InitializeAndPump(); 426 InitializeAndPump();
426 427
427 ScopedVector<DeviceInfo> all_device_info(service()->GetAllDeviceInfo()); 428 DeviceInfoList all_device_info(service()->GetAllDeviceInfo());
428 ASSERT_EQ(1u, all_device_info.size()); 429 ASSERT_EQ(1u, all_device_info.size());
429 AssertEqual(specifics, *all_device_info[0]); 430 AssertEqual(specifics, *all_device_info[0]);
430 AssertEqual(specifics, 431 AssertEqual(specifics,
431 *service()->GetDeviceInfo(specifics.cache_guid()).get()); 432 *service()->GetDeviceInfo(specifics.cache_guid()).get());
432 } 433 }
433 434
434 TEST_F(DeviceInfoServiceTest, TestWithLocalMetadata) { 435 TEST_F(DeviceInfoServiceTest, TestWithLocalMetadata) {
435 std::unique_ptr<WriteBatch> batch = store()->CreateWriteBatch(); 436 std::unique_ptr<WriteBatch> batch = store()->CreateWriteBatch();
436 DataTypeState state; 437 DataTypeState state;
437 state.set_encryption_key_name("ekn"); 438 state.set_encryption_key_name("ekn");
438 store()->WriteGlobalMetadata(batch.get(), state.SerializeAsString()); 439 store()->WriteGlobalMetadata(batch.get(), state.SerializeAsString());
439 store()->CommitWriteBatch(std::move(batch), 440 store()->CommitWriteBatch(std::move(batch),
440 base::Bind(&AssertResultIsSuccess)); 441 base::Bind(&AssertResultIsSuccess));
441 InitializeAndPump(); 442 InitializeAndPump();
442 ScopedVector<DeviceInfo> all_device_info(service()->GetAllDeviceInfo()); 443 DeviceInfoList all_device_info(service()->GetAllDeviceInfo());
443 ASSERT_EQ(1u, all_device_info.size()); 444 ASSERT_EQ(1u, all_device_info.size());
444 ASSERT_TRUE( 445 ASSERT_TRUE(
445 local_device()->GetLocalDeviceInfo()->Equals(*all_device_info[0])); 446 local_device()->GetLocalDeviceInfo()->Equals(*all_device_info[0]));
446 EXPECT_EQ(1u, processor()->put_map().size()); 447 EXPECT_EQ(1u, processor()->put_map().size());
447 } 448 }
448 449
449 TEST_F(DeviceInfoServiceTest, TestWithLocalDataAndMetadata) { 450 TEST_F(DeviceInfoServiceTest, TestWithLocalDataAndMetadata) {
450 std::unique_ptr<WriteBatch> batch = store()->CreateWriteBatch(); 451 std::unique_ptr<WriteBatch> batch = store()->CreateWriteBatch();
451 DeviceInfoSpecifics specifics(GenerateTestSpecifics()); 452 DeviceInfoSpecifics specifics(GenerateTestSpecifics());
452 store()->WriteData(batch.get(), specifics.cache_guid(), 453 store()->WriteData(batch.get(), specifics.cache_guid(),
453 specifics.SerializeAsString()); 454 specifics.SerializeAsString());
454 DataTypeState state; 455 DataTypeState state;
455 state.set_encryption_key_name("ekn"); 456 state.set_encryption_key_name("ekn");
456 store()->WriteGlobalMetadata(batch.get(), state.SerializeAsString()); 457 store()->WriteGlobalMetadata(batch.get(), state.SerializeAsString());
457 store()->CommitWriteBatch(std::move(batch), 458 store()->CommitWriteBatch(std::move(batch),
458 base::Bind(&AssertResultIsSuccess)); 459 base::Bind(&AssertResultIsSuccess));
459 460
460 InitializeAndPump(); 461 InitializeAndPump();
461 462
462 ScopedVector<DeviceInfo> all_device_info(service()->GetAllDeviceInfo()); 463 DeviceInfoList all_device_info(service()->GetAllDeviceInfo());
463 ASSERT_EQ(2u, all_device_info.size()); 464 ASSERT_EQ(2u, all_device_info.size());
464 AssertEqual(specifics, 465 AssertEqual(specifics,
465 *service()->GetDeviceInfo(specifics.cache_guid()).get()); 466 *service()->GetDeviceInfo(specifics.cache_guid()).get());
466 ASSERT_TRUE(processor()->metadata()); 467 ASSERT_TRUE(processor()->metadata());
467 ASSERT_EQ(state.encryption_key_name(), 468 ASSERT_EQ(state.encryption_key_name(),
468 processor()->metadata()->GetDataTypeState().encryption_key_name()); 469 processor()->metadata()->GetDataTypeState().encryption_key_name());
469 } 470 }
470 471
471 TEST_F(DeviceInfoServiceTest, GetData) { 472 TEST_F(DeviceInfoServiceTest, GetData) {
472 std::unique_ptr<WriteBatch> batch = store()->CreateWriteBatch(); 473 std::unique_ptr<WriteBatch> batch = store()->CreateWriteBatch();
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
771 specifics.set_cache_guid("non-local"); 772 specifics.set_cache_guid("non-local");
772 PushBackEntityChangeAdd(specifics, &change_list); 773 PushBackEntityChangeAdd(specifics, &change_list);
773 service()->ApplySyncChanges(service()->CreateMetadataChangeList(), 774 service()->ApplySyncChanges(service()->CreateMetadataChangeList(),
774 change_list); 775 change_list);
775 EXPECT_EQ(1, service()->CountActiveDevices()); 776 EXPECT_EQ(1, service()->CountActiveDevices());
776 } 777 }
777 778
778 } // namespace 779 } // namespace
779 780
780 } // namespace sync_driver_v2 781 } // namespace sync_driver_v2
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698