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

Unified Diff: components/sync_driver/device_info_service_unittest.cc

Issue 1888923003: [Sync] DeviceInfoService should format ClientTag in backwards compatible way (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address Sky's and Max's comments. Created 4 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/sync_driver/device_info_service.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/sync_driver/device_info_service_unittest.cc
diff --git a/components/sync_driver/device_info_service_unittest.cc b/components/sync_driver/device_info_service_unittest.cc
index c41c320592fd77ea5d22b3cc5f5610b07c5b7cc0..81039c0e735fc3be16e12821c592cca5b4dafebd 100644
--- a/components/sync_driver/device_info_service_unittest.cc
+++ b/components/sync_driver/device_info_service_unittest.cc
@@ -113,6 +113,10 @@ EntityDataPtr SpecificsToEntity(const DeviceInfoSpecifics& specifics) {
return data.PassToPtr();
}
+std::string CacheGuidToTag(const std::string& guid) {
+ return "DeviceInfo_" + guid;
+}
+
// Instead of actually processing anything, simply accumulates all instructions
// in members that can then be accessed. TODO(skym): If this ends up being
// useful for other model type unittests it should be moved out to a shared
@@ -363,7 +367,7 @@ TEST_F(DeviceInfoServiceTest, GetClientTagNormal) {
entity_specifics.mutable_device_info()->set_cache_guid(guid);
EntityData entity_data;
entity_data.specifics = entity_specifics;
- EXPECT_EQ(guid, service()->GetClientTag(entity_data));
+ EXPECT_EQ(CacheGuidToTag(guid), service()->GetClientTag(entity_data));
}
TEST_F(DeviceInfoServiceTest, GetClientTagEmpty) {
@@ -372,13 +376,14 @@ TEST_F(DeviceInfoServiceTest, GetClientTagEmpty) {
entity_specifics.mutable_device_info();
EntityData entity_data;
entity_data.specifics = entity_specifics;
- EXPECT_EQ("", service()->GetClientTag(entity_data));
+ EXPECT_EQ(CacheGuidToTag(""), service()->GetClientTag(entity_data));
}
TEST_F(DeviceInfoServiceTest, TestWithLocalData) {
scoped_ptr<WriteBatch> batch = store()->CreateWriteBatch();
DeviceInfoSpecifics specifics(GenerateTestSpecifics());
- store()->WriteData(batch.get(), "tag", specifics.SerializeAsString());
+ store()->WriteData(batch.get(), specifics.cache_guid(),
+ specifics.SerializeAsString());
store()->CommitWriteBatch(std::move(batch),
base::Bind(&AssertResultIsSuccess));
@@ -387,7 +392,8 @@ TEST_F(DeviceInfoServiceTest, TestWithLocalData) {
ScopedVector<DeviceInfo> all_device_info(service()->GetAllDeviceInfo());
ASSERT_EQ(1u, all_device_info.size());
AssertEqual(specifics, *all_device_info[0]);
- AssertEqual(specifics, *service()->GetDeviceInfo("tag").get());
+ AssertEqual(specifics,
+ *service()->GetDeviceInfo(specifics.cache_guid()).get());
}
TEST_F(DeviceInfoServiceTest, TestWithLocalMetadata) {
@@ -408,7 +414,8 @@ TEST_F(DeviceInfoServiceTest, TestWithLocalMetadata) {
TEST_F(DeviceInfoServiceTest, TestWithLocalDataAndMetadata) {
scoped_ptr<WriteBatch> batch = store()->CreateWriteBatch();
DeviceInfoSpecifics specifics(GenerateTestSpecifics());
- store()->WriteData(batch.get(), "tag", specifics.SerializeAsString());
+ store()->WriteData(batch.get(), specifics.cache_guid(),
+ specifics.SerializeAsString());
DataTypeState state;
state.set_encryption_key_name("ekn");
store()->WriteGlobalMetadata(batch.get(), state.SerializeAsString());
@@ -419,7 +426,8 @@ TEST_F(DeviceInfoServiceTest, TestWithLocalDataAndMetadata) {
ScopedVector<DeviceInfo> all_device_info(service()->GetAllDeviceInfo());
ASSERT_EQ(2u, all_device_info.size());
- AssertEqual(specifics, *service()->GetDeviceInfo("tag").get());
+ AssertEqual(specifics,
+ *service()->GetDeviceInfo(specifics.cache_guid()).get());
ASSERT_TRUE(processor()->metadata());
ASSERT_EQ(state.encryption_key_name(),
processor()->metadata()->GetDataTypeState().encryption_key_name());
@@ -428,22 +436,25 @@ TEST_F(DeviceInfoServiceTest, TestWithLocalDataAndMetadata) {
TEST_F(DeviceInfoServiceTest, GetData) {
scoped_ptr<WriteBatch> batch = store()->CreateWriteBatch();
DeviceInfoSpecifics specifics1(GenerateTestSpecifics());
+ DeviceInfoSpecifics specifics2(GenerateTestSpecifics());
DeviceInfoSpecifics specifics3(GenerateTestSpecifics());
- store()->WriteData(batch.get(), "tag1", specifics1.SerializeAsString());
- store()->WriteData(batch.get(), "tag2",
- GenerateTestSpecifics().SerializeAsString());
- store()->WriteData(batch.get(), "tag3", specifics3.SerializeAsString());
+ store()->WriteData(batch.get(), specifics1.cache_guid(),
+ specifics1.SerializeAsString());
+ store()->WriteData(batch.get(), specifics2.cache_guid(),
+ specifics2.SerializeAsString());
+ store()->WriteData(batch.get(), specifics3.cache_guid(),
+ specifics3.SerializeAsString());
store()->CommitWriteBatch(std::move(batch),
base::Bind(&AssertResultIsSuccess));
InitializeAndPump();
std::map<std::string, DeviceInfoSpecifics> expected;
- expected["tag1"] = specifics1;
- expected["tag3"] = specifics3;
+ expected[CacheGuidToTag(specifics1.cache_guid())] = specifics1;
+ expected[CacheGuidToTag(specifics3.cache_guid())] = specifics3;
ClientTagList client_tags;
- client_tags.push_back("tag1");
- client_tags.push_back("tag3");
+ client_tags.push_back(CacheGuidToTag(specifics1.cache_guid()));
+ client_tags.push_back(CacheGuidToTag(specifics3.cache_guid()));
service()->GetData(client_tags,
base::Bind(&AssertExpectedFromDataBatch, expected));
}
@@ -452,7 +463,7 @@ TEST_F(DeviceInfoServiceTest, GetDataMissing) {
InitializeAndPump();
std::map<std::string, DeviceInfoSpecifics> expected;
ClientTagList client_tags;
- client_tags.push_back("tag1");
+ client_tags.push_back(CacheGuidToTag("tag1"));
service()->GetData(client_tags,
base::Bind(&AssertExpectedFromDataBatch, expected));
}
@@ -467,19 +478,23 @@ TEST_F(DeviceInfoServiceTest, GetAllData) {
scoped_ptr<WriteBatch> batch = store()->CreateWriteBatch();
DeviceInfoSpecifics specifics1(GenerateTestSpecifics());
DeviceInfoSpecifics specifics2(GenerateTestSpecifics());
- store()->WriteData(batch.get(), "tag1", specifics1.SerializeAsString());
- store()->WriteData(batch.get(), "tag2", specifics2.SerializeAsString());
+ const std::string& tag1 = CacheGuidToTag(specifics1.cache_guid());
+ const std::string& tag2 = CacheGuidToTag(specifics2.cache_guid());
+ store()->WriteData(batch.get(), specifics1.cache_guid(),
+ specifics1.SerializeAsString());
+ store()->WriteData(batch.get(), specifics2.cache_guid(),
+ specifics2.SerializeAsString());
store()->CommitWriteBatch(std::move(batch),
base::Bind(&AssertResultIsSuccess));
InitializeAndPump();
std::map<std::string, DeviceInfoSpecifics> expected;
- expected["tag1"] = specifics1;
- expected["tag2"] = specifics2;
+ expected[tag1] = specifics1;
+ expected[tag2] = specifics2;
ClientTagList client_tags;
- client_tags.push_back("tag1");
- client_tags.push_back("tag2");
+ client_tags.push_back(tag1);
+ client_tags.push_back(tag2);
service()->GetData(client_tags,
base::Bind(&AssertExpectedFromDataBatch, expected));
}
@@ -515,7 +530,8 @@ TEST_F(DeviceInfoServiceTest, ApplySyncChangesInMemory) {
service()->CreateMetadataChangeList(), add_changes);
EXPECT_FALSE(error.IsSet());
- scoped_ptr<DeviceInfo> info = service()->GetDeviceInfo(tag);
+ scoped_ptr<DeviceInfo> info =
+ service()->GetDeviceInfo(specifics.cache_guid());
ASSERT_TRUE(info);
AssertEqual(specifics, *info.get());
EXPECT_EQ(1, change_count());
@@ -526,7 +542,7 @@ TEST_F(DeviceInfoServiceTest, ApplySyncChangesInMemory) {
delete_changes);
EXPECT_FALSE(error.IsSet());
- EXPECT_FALSE(service()->GetDeviceInfo(tag));
+ EXPECT_FALSE(service()->GetDeviceInfo(specifics.cache_guid()));
EXPECT_EQ(2, change_count());
}
@@ -550,7 +566,8 @@ TEST_F(DeviceInfoServiceTest, ApplySyncChangesStore) {
PumpAndShutdown();
InitializeAndPump();
- scoped_ptr<DeviceInfo> info = service()->GetDeviceInfo(tag);
+ scoped_ptr<DeviceInfo> info =
+ service()->GetDeviceInfo(specifics.cache_guid());
ASSERT_TRUE(info);
AssertEqual(specifics, *info.get());
// TODO(skym): Uncomment once SimpleMetadataChangeList::TransferChanges is
@@ -572,7 +589,8 @@ TEST_F(DeviceInfoServiceTest, ApplySyncChangesWithLocalGuid) {
const std::string tag = PushBackEntityChangeAdd(specifics, &change_list);
// Should have a single change from reconciliation.
- EXPECT_TRUE(service()->GetDeviceInfo(tag));
+ EXPECT_TRUE(
+ service()->GetDeviceInfo(local_device()->GetLocalDeviceInfo()->guid()));
EXPECT_EQ(1, change_count());
EXPECT_FALSE(
@@ -594,7 +612,7 @@ TEST_F(DeviceInfoServiceTest, ApplyDeleteNonexistent) {
InitializeAndPumpAndStart();
EXPECT_EQ(1, change_count());
EntityChangeList delete_changes;
- delete_changes.push_back(EntityChange::CreateDelete("tag"));
+ delete_changes.push_back(EntityChange::CreateDelete(CacheGuidToTag("tag")));
const SyncError error = service()->ApplySyncChanges(
service()->CreateMetadataChangeList(), delete_changes);
EXPECT_FALSE(error.IsSet());
@@ -638,9 +656,10 @@ TEST_F(DeviceInfoServiceTest, MergeWithData) {
EXPECT_EQ(1, change_count());
EntityDataMap remote_input;
- remote_input[conflict_remote.cache_guid()] =
+ remote_input[CacheGuidToTag(conflict_remote.cache_guid())] =
SpecificsToEntity(conflict_remote);
- remote_input[unique_remote.cache_guid()] = SpecificsToEntity(unique_remote);
+ remote_input[CacheGuidToTag(unique_remote.cache_guid())] =
+ SpecificsToEntity(unique_remote);
DataTypeState state;
state.set_encryption_key_name("ekn");
@@ -662,7 +681,7 @@ TEST_F(DeviceInfoServiceTest, MergeWithData) {
// Service should have told the processor about the existance of unique_local.
EXPECT_TRUE(processor()->delete_set().empty());
EXPECT_EQ(2u, processor()->put_map().size());
- const auto& it = processor()->put_map().find("unique_local");
+ const auto& it = processor()->put_map().find(CacheGuidToTag("unique_local"));
ASSERT_NE(processor()->put_map().end(), it);
AssertEqual(unique_local, it->second->specifics.device_info());
@@ -676,17 +695,17 @@ TEST_F(DeviceInfoServiceTest, MergeLocalGuid) {
const DeviceInfo* local_device_info = local_device()->GetLocalDeviceInfo();
scoped_ptr<DeviceInfoSpecifics> specifics(
CopyToSpecifics(*local_device_info));
- const std::string tag = local_device_info->guid();
+ const std::string guid = local_device_info->guid();
scoped_ptr<WriteBatch> batch = store()->CreateWriteBatch();
- store()->WriteData(batch.get(), tag, specifics->SerializeAsString());
+ store()->WriteData(batch.get(), guid, specifics->SerializeAsString());
store()->CommitWriteBatch(std::move(batch),
base::Bind(&AssertResultIsSuccess));
InitializeAndPumpAndStart();
EntityDataMap remote_input;
- remote_input[tag] = SpecificsToEntity(*specifics);
+ remote_input[CacheGuidToTag(guid)] = SpecificsToEntity(*specifics);
const SyncError error = service()->MergeSyncData(
service()->CreateMetadataChangeList(), remote_input);
« no previous file with comments | « components/sync_driver/device_info_service.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698