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

Side by Side Diff: chrome/browser/sync/glue/synced_device_tracker_unittest.cc

Issue 395013002: Pass signin_scoped_device_id to DeviceInfoSpecifics. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Revers chrome_signin_client Created 6 years, 5 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <string> 5 #include <string>
6 6
7 #include "base/guid.h" 7 #include "base/guid.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/memory/scoped_vector.h" 9 #include "base/memory/scoped_vector.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 // New client scenario: set device info when no previous info existed. 86 // New client scenario: set device info when no previous info existed.
87 TEST_F(SyncedDeviceTrackerTest, CreateNewDeviceInfo) { 87 TEST_F(SyncedDeviceTrackerTest, CreateNewDeviceInfo) {
88 ASSERT_FALSE(synced_device_tracker_->ReadLocalDeviceInfo()); 88 ASSERT_FALSE(synced_device_tracker_->ReadLocalDeviceInfo());
89 89
90 ResetObservedChangesCounter(); 90 ResetObservedChangesCounter();
91 91
92 // Include the non-ASCII character "’" (typographic apostrophe) in the client 92 // Include the non-ASCII character "’" (typographic apostrophe) in the client
93 // name to ensure that SyncedDeviceTracker can properly handle non-ASCII 93 // name to ensure that SyncedDeviceTracker can properly handle non-ASCII
94 // characters, which client names can include on some platforms (e.g., Mac 94 // characters, which client names can include on some platforms (e.g., Mac
95 // and iOS). 95 // and iOS).
96 DeviceInfo write_device_info( 96 DeviceInfo write_device_info(user_share()->directory->cache_guid(),
97 user_share()->directory->cache_guid(), 97 "John’s Device",
98 "John’s Device", "Chromium 3000", "ChromeSyncAgent 3000", 98 "Chromium 3000",
99 sync_pb::SyncEnums_DeviceType_TYPE_LINUX); 99 "ChromeSyncAgent 3000",
100 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
101 "device_id");
100 WriteLocalDeviceInfo(write_device_info); 102 WriteLocalDeviceInfo(write_device_info);
101 103
102 scoped_ptr<DeviceInfo> read_device_info( 104 scoped_ptr<DeviceInfo> read_device_info(
103 synced_device_tracker_->ReadLocalDeviceInfo()); 105 synced_device_tracker_->ReadLocalDeviceInfo());
104 ASSERT_TRUE(read_device_info); 106 ASSERT_TRUE(read_device_info);
105 EXPECT_TRUE(write_device_info.Equals(*read_device_info.get())); 107 EXPECT_TRUE(write_device_info.Equals(*read_device_info.get()));
106 108
107 EXPECT_EQ(1, GetObservedChangesCounter()); 109 EXPECT_EQ(1, GetObservedChangesCounter());
108 } 110 }
109 111
110 // Restart scenario: update existing device info with identical data. 112 // Restart scenario: update existing device info with identical data.
111 TEST_F(SyncedDeviceTrackerTest, DontModifyExistingDeviceInfo) { 113 TEST_F(SyncedDeviceTrackerTest, DontModifyExistingDeviceInfo) {
112 // For writing. 114 // For writing.
113 DeviceInfo device_info( 115 DeviceInfo device_info(user_share()->directory->cache_guid(),
114 user_share()->directory->cache_guid(), 116 "John’s Device",
115 "John’s Device", "XYZ v1", "XYZ SyncAgent v1", 117 "XYZ v1",
116 sync_pb::SyncEnums_DeviceType_TYPE_LINUX); 118 "XYZ SyncAgent v1",
119 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
120 "device_id");
117 WriteLocalDeviceInfo(device_info); 121 WriteLocalDeviceInfo(device_info);
118 122
119 // First read. 123 // First read.
120 scoped_ptr<DeviceInfo> old_device_info( 124 scoped_ptr<DeviceInfo> old_device_info(
121 synced_device_tracker_->ReadLocalDeviceInfo()); 125 synced_device_tracker_->ReadLocalDeviceInfo());
122 ASSERT_TRUE(old_device_info); 126 ASSERT_TRUE(old_device_info);
123 127
124 ResetObservedChangesCounter(); 128 ResetObservedChangesCounter();
125 129
126 // Overwrite the device info with the same data as before. 130 // Overwrite the device info with the same data as before.
127 WriteLocalDeviceInfo(device_info); 131 WriteLocalDeviceInfo(device_info);
128 132
129 // Ensure that this didn't count as a change worth syncing. 133 // Ensure that this didn't count as a change worth syncing.
130 EXPECT_EQ(0, GetObservedChangesCounter()); 134 EXPECT_EQ(0, GetObservedChangesCounter());
131 135
132 // Second read. 136 // Second read.
133 scoped_ptr<DeviceInfo> new_device_info( 137 scoped_ptr<DeviceInfo> new_device_info(
134 synced_device_tracker_->ReadLocalDeviceInfo()); 138 synced_device_tracker_->ReadLocalDeviceInfo());
135 ASSERT_TRUE(new_device_info); 139 ASSERT_TRUE(new_device_info);
136 EXPECT_TRUE(old_device_info->Equals(*new_device_info.get())); 140 EXPECT_TRUE(old_device_info->Equals(*new_device_info.get()));
137 } 141 }
138 142
139 // Upgrade scenario: update existing device info with new version. 143 // Upgrade scenario: update existing device info with new version.
140 TEST_F(SyncedDeviceTrackerTest, UpdateExistingDeviceInfo) { 144 TEST_F(SyncedDeviceTrackerTest, UpdateExistingDeviceInfo) {
141 // Write v1 device info. 145 // Write v1 device info.
142 DeviceInfo device_info_v1( 146 DeviceInfo device_info_v1(user_share()->directory->cache_guid(),
143 user_share()->directory->cache_guid(), 147 "John’s Device",
144 "John’s Device", "XYZ v1", "XYZ SyncAgent v1", 148 "XYZ v1",
145 sync_pb::SyncEnums_DeviceType_TYPE_LINUX); 149 "XYZ SyncAgent v1",
150 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
151 "device_id1");
146 WriteLocalDeviceInfo(device_info_v1); 152 WriteLocalDeviceInfo(device_info_v1);
147 153
148 ResetObservedChangesCounter(); 154 ResetObservedChangesCounter();
149 155
150 // Write upgraded device info. 156 // Write upgraded device info.
151 DeviceInfo device_info_v2( 157 DeviceInfo device_info_v2(user_share()->directory->cache_guid(),
152 user_share()->directory->cache_guid(), 158 "John’s Device",
153 "John’s Device", "XYZ v2", "XYZ SyncAgent v2", 159 "XYZ v2",
154 sync_pb::SyncEnums_DeviceType_TYPE_LINUX); 160 "XYZ SyncAgent v2",
161 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
162 "device_id2");
155 WriteLocalDeviceInfo(device_info_v2); 163 WriteLocalDeviceInfo(device_info_v2);
156 164
157 // Verify result. 165 // Verify result.
158 scoped_ptr<DeviceInfo> result_device_info( 166 scoped_ptr<DeviceInfo> result_device_info(
159 synced_device_tracker_->ReadLocalDeviceInfo()); 167 synced_device_tracker_->ReadLocalDeviceInfo());
160 ASSERT_TRUE(result_device_info); 168 ASSERT_TRUE(result_device_info);
161 169
162 EXPECT_TRUE(result_device_info->Equals(device_info_v2)); 170 EXPECT_TRUE(result_device_info->Equals(device_info_v2));
163 171
164 // The update write should have sent a nudge. 172 // The update write should have sent a nudge.
165 EXPECT_EQ(1, GetObservedChangesCounter()); 173 EXPECT_EQ(1, GetObservedChangesCounter());
166 } 174 }
167 175
168 // Test retrieving DeviceInfos for all the syncing devices. 176 // Test retrieving DeviceInfos for all the syncing devices.
169 TEST_F(SyncedDeviceTrackerTest, GetAllDeviceInfo) { 177 TEST_F(SyncedDeviceTrackerTest, GetAllDeviceInfo) {
170 DeviceInfo device_info1( 178 DeviceInfo device_info1(base::GenerateGUID(),
171 base::GenerateGUID(), 179 "abc Device",
172 "abc Device", "XYZ v1", "XYZ SyncAgent v1", 180 "XYZ v1",
173 sync_pb::SyncEnums_DeviceType_TYPE_LINUX); 181 "XYZ SyncAgent v1",
182 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
183 "device_id1");
174 184
175 std::string guid1 = base::GenerateGUID(); 185 std::string guid1 = base::GenerateGUID();
176 186
177 DeviceInfo device_info2( 187 DeviceInfo device_info2(base::GenerateGUID(),
178 base::GenerateGUID(), 188 "def Device",
179 "def Device", "XYZ v2", "XYZ SyncAgent v2", 189 "XYZ v2",
180 sync_pb::SyncEnums_DeviceType_TYPE_LINUX); 190 "XYZ SyncAgent v2",
191 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
192 "device_id2");
181 193
182 std::string guid2 = base::GenerateGUID(); 194 std::string guid2 = base::GenerateGUID();
183 195
184 WriteDeviceInfo(device_info1); 196 WriteDeviceInfo(device_info1);
185 WriteDeviceInfo(device_info2); 197 WriteDeviceInfo(device_info2);
186 198
187 ScopedVector<DeviceInfo> device_info; 199 ScopedVector<DeviceInfo> device_info;
188 synced_device_tracker_->GetAllSyncedDeviceInfo(&device_info); 200 synced_device_tracker_->GetAllSyncedDeviceInfo(&device_info);
189 201
190 EXPECT_EQ(device_info.size(), 2U); 202 EXPECT_EQ(device_info.size(), 2U);
191 EXPECT_TRUE(device_info[0]->Equals(device_info1)); 203 EXPECT_TRUE(device_info[0]->Equals(device_info1));
192 EXPECT_TRUE(device_info[1]->Equals(device_info2)); 204 EXPECT_TRUE(device_info[1]->Equals(device_info2));
193 } 205 }
194 206
195 TEST_F(SyncedDeviceTrackerTest, DeviceBackupTime) { 207 TEST_F(SyncedDeviceTrackerTest, DeviceBackupTime) {
196 DeviceInfo device_info( 208 DeviceInfo device_info(user_share()->directory->cache_guid(),
197 user_share()->directory->cache_guid(), 209 "John’s Device",
198 "John’s Device", "XYZ v1", "XYZ SyncAgent v1", 210 "XYZ v1",
199 sync_pb::SyncEnums_DeviceType_TYPE_LINUX); 211 "XYZ SyncAgent v1",
212 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
213 "device_id");
200 const base::Time test_backup_time = 214 const base::Time test_backup_time =
201 base::Time::UnixEpoch() + base::TimeDelta::FromDays(10000); 215 base::Time::UnixEpoch() + base::TimeDelta::FromDays(10000);
202 216
203 WriteLocalDeviceInfo(device_info); 217 WriteLocalDeviceInfo(device_info);
204 synced_device_tracker_->UpdateLocalDeviceBackupTime(test_backup_time); 218 synced_device_tracker_->UpdateLocalDeviceBackupTime(test_backup_time);
205 219
206 // Verify read of device info and backup time. 220 // Verify read of device info and backup time.
207 EXPECT_EQ(test_backup_time, 221 EXPECT_EQ(test_backup_time,
208 synced_device_tracker_->GetLocalDeviceBackupTime()); 222 synced_device_tracker_->GetLocalDeviceBackupTime());
209 scoped_ptr<DeviceInfo> device_info_out( 223 scoped_ptr<DeviceInfo> device_info_out(
210 synced_device_tracker_->ReadLocalDeviceInfo()); 224 synced_device_tracker_->ReadLocalDeviceInfo());
211 ASSERT_TRUE(device_info_out); 225 ASSERT_TRUE(device_info_out);
212 EXPECT_TRUE(device_info.Equals(*device_info_out.get())); 226 EXPECT_TRUE(device_info.Equals(*device_info_out.get()));
213 227
214 // Verify backup time is not lost after updating device info. 228 // Verify backup time is not lost after updating device info.
215 DeviceInfo device_info2( 229 DeviceInfo device_info2(user_share()->directory->cache_guid(),
216 user_share()->directory->cache_guid(), 230 "def Device",
217 "def Device", "XYZ v2", "XYZ SyncAgent v2", 231 "XYZ v2",
218 sync_pb::SyncEnums_DeviceType_TYPE_LINUX); 232 "XYZ SyncAgent v2",
233 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
234 "device_id");
219 WriteLocalDeviceInfo(device_info2); 235 WriteLocalDeviceInfo(device_info2);
220 EXPECT_EQ(test_backup_time, 236 EXPECT_EQ(test_backup_time,
221 synced_device_tracker_->GetLocalDeviceBackupTime()); 237 synced_device_tracker_->GetLocalDeviceBackupTime());
222 } 238 }
223 239
224 } // namespace 240 } // namespace
225 241
226 } // namespace browser_sync 242 } // namespace browser_sync
OLDNEW
« no previous file with comments | « chrome/browser/sync/glue/synced_device_tracker.cc ('k') | chrome/browser/sync/profile_sync_service_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698