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

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

Issue 398273006: Revert 284234 "Pass signin_scoped_device_id to DeviceInfoSpecifics." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: 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 | Annotate | Revision Log
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(user_share()->directory->cache_guid(), 96 DeviceInfo write_device_info(
97 "John’s Device", 97 user_share()->directory->cache_guid(),
98 "Chromium 3000", 98 "John’s Device", "Chromium 3000", "ChromeSyncAgent 3000",
99 "ChromeSyncAgent 3000", 99 sync_pb::SyncEnums_DeviceType_TYPE_LINUX);
100 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
101 "device_id");
102 WriteLocalDeviceInfo(write_device_info); 100 WriteLocalDeviceInfo(write_device_info);
103 101
104 scoped_ptr<DeviceInfo> read_device_info( 102 scoped_ptr<DeviceInfo> read_device_info(
105 synced_device_tracker_->ReadLocalDeviceInfo()); 103 synced_device_tracker_->ReadLocalDeviceInfo());
106 ASSERT_TRUE(read_device_info); 104 ASSERT_TRUE(read_device_info);
107 EXPECT_TRUE(write_device_info.Equals(*read_device_info.get())); 105 EXPECT_TRUE(write_device_info.Equals(*read_device_info.get()));
108 106
109 EXPECT_EQ(1, GetObservedChangesCounter()); 107 EXPECT_EQ(1, GetObservedChangesCounter());
110 } 108 }
111 109
112 // Restart scenario: update existing device info with identical data. 110 // Restart scenario: update existing device info with identical data.
113 TEST_F(SyncedDeviceTrackerTest, DontModifyExistingDeviceInfo) { 111 TEST_F(SyncedDeviceTrackerTest, DontModifyExistingDeviceInfo) {
114 // For writing. 112 // For writing.
115 DeviceInfo device_info(user_share()->directory->cache_guid(), 113 DeviceInfo device_info(
116 "John’s Device", 114 user_share()->directory->cache_guid(),
117 "XYZ v1", 115 "John’s Device", "XYZ v1", "XYZ SyncAgent v1",
118 "XYZ SyncAgent v1", 116 sync_pb::SyncEnums_DeviceType_TYPE_LINUX);
119 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
120 "device_id");
121 WriteLocalDeviceInfo(device_info); 117 WriteLocalDeviceInfo(device_info);
122 118
123 // First read. 119 // First read.
124 scoped_ptr<DeviceInfo> old_device_info( 120 scoped_ptr<DeviceInfo> old_device_info(
125 synced_device_tracker_->ReadLocalDeviceInfo()); 121 synced_device_tracker_->ReadLocalDeviceInfo());
126 ASSERT_TRUE(old_device_info); 122 ASSERT_TRUE(old_device_info);
127 123
128 ResetObservedChangesCounter(); 124 ResetObservedChangesCounter();
129 125
130 // Overwrite the device info with the same data as before. 126 // Overwrite the device info with the same data as before.
131 WriteLocalDeviceInfo(device_info); 127 WriteLocalDeviceInfo(device_info);
132 128
133 // Ensure that this didn't count as a change worth syncing. 129 // Ensure that this didn't count as a change worth syncing.
134 EXPECT_EQ(0, GetObservedChangesCounter()); 130 EXPECT_EQ(0, GetObservedChangesCounter());
135 131
136 // Second read. 132 // Second read.
137 scoped_ptr<DeviceInfo> new_device_info( 133 scoped_ptr<DeviceInfo> new_device_info(
138 synced_device_tracker_->ReadLocalDeviceInfo()); 134 synced_device_tracker_->ReadLocalDeviceInfo());
139 ASSERT_TRUE(new_device_info); 135 ASSERT_TRUE(new_device_info);
140 EXPECT_TRUE(old_device_info->Equals(*new_device_info.get())); 136 EXPECT_TRUE(old_device_info->Equals(*new_device_info.get()));
141 } 137 }
142 138
143 // Upgrade scenario: update existing device info with new version. 139 // Upgrade scenario: update existing device info with new version.
144 TEST_F(SyncedDeviceTrackerTest, UpdateExistingDeviceInfo) { 140 TEST_F(SyncedDeviceTrackerTest, UpdateExistingDeviceInfo) {
145 // Write v1 device info. 141 // Write v1 device info.
146 DeviceInfo device_info_v1(user_share()->directory->cache_guid(), 142 DeviceInfo device_info_v1(
147 "John’s Device", 143 user_share()->directory->cache_guid(),
148 "XYZ v1", 144 "John’s Device", "XYZ v1", "XYZ SyncAgent v1",
149 "XYZ SyncAgent v1", 145 sync_pb::SyncEnums_DeviceType_TYPE_LINUX);
150 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
151 "device_id1");
152 WriteLocalDeviceInfo(device_info_v1); 146 WriteLocalDeviceInfo(device_info_v1);
153 147
154 ResetObservedChangesCounter(); 148 ResetObservedChangesCounter();
155 149
156 // Write upgraded device info. 150 // Write upgraded device info.
157 DeviceInfo device_info_v2(user_share()->directory->cache_guid(), 151 DeviceInfo device_info_v2(
158 "John’s Device", 152 user_share()->directory->cache_guid(),
159 "XYZ v2", 153 "John’s Device", "XYZ v2", "XYZ SyncAgent v2",
160 "XYZ SyncAgent v2", 154 sync_pb::SyncEnums_DeviceType_TYPE_LINUX);
161 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
162 "device_id2");
163 WriteLocalDeviceInfo(device_info_v2); 155 WriteLocalDeviceInfo(device_info_v2);
164 156
165 // Verify result. 157 // Verify result.
166 scoped_ptr<DeviceInfo> result_device_info( 158 scoped_ptr<DeviceInfo> result_device_info(
167 synced_device_tracker_->ReadLocalDeviceInfo()); 159 synced_device_tracker_->ReadLocalDeviceInfo());
168 ASSERT_TRUE(result_device_info); 160 ASSERT_TRUE(result_device_info);
169 161
170 EXPECT_TRUE(result_device_info->Equals(device_info_v2)); 162 EXPECT_TRUE(result_device_info->Equals(device_info_v2));
171 163
172 // The update write should have sent a nudge. 164 // The update write should have sent a nudge.
173 EXPECT_EQ(1, GetObservedChangesCounter()); 165 EXPECT_EQ(1, GetObservedChangesCounter());
174 } 166 }
175 167
176 // Test retrieving DeviceInfos for all the syncing devices. 168 // Test retrieving DeviceInfos for all the syncing devices.
177 TEST_F(SyncedDeviceTrackerTest, GetAllDeviceInfo) { 169 TEST_F(SyncedDeviceTrackerTest, GetAllDeviceInfo) {
178 DeviceInfo device_info1(base::GenerateGUID(), 170 DeviceInfo device_info1(
179 "abc Device", 171 base::GenerateGUID(),
180 "XYZ v1", 172 "abc Device", "XYZ v1", "XYZ SyncAgent v1",
181 "XYZ SyncAgent v1", 173 sync_pb::SyncEnums_DeviceType_TYPE_LINUX);
182 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
183 "device_id1");
184 174
185 std::string guid1 = base::GenerateGUID(); 175 std::string guid1 = base::GenerateGUID();
186 176
187 DeviceInfo device_info2(base::GenerateGUID(), 177 DeviceInfo device_info2(
188 "def Device", 178 base::GenerateGUID(),
189 "XYZ v2", 179 "def Device", "XYZ v2", "XYZ SyncAgent v2",
190 "XYZ SyncAgent v2", 180 sync_pb::SyncEnums_DeviceType_TYPE_LINUX);
191 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
192 "device_id2");
193 181
194 std::string guid2 = base::GenerateGUID(); 182 std::string guid2 = base::GenerateGUID();
195 183
196 WriteDeviceInfo(device_info1); 184 WriteDeviceInfo(device_info1);
197 WriteDeviceInfo(device_info2); 185 WriteDeviceInfo(device_info2);
198 186
199 ScopedVector<DeviceInfo> device_info; 187 ScopedVector<DeviceInfo> device_info;
200 synced_device_tracker_->GetAllSyncedDeviceInfo(&device_info); 188 synced_device_tracker_->GetAllSyncedDeviceInfo(&device_info);
201 189
202 EXPECT_EQ(device_info.size(), 2U); 190 EXPECT_EQ(device_info.size(), 2U);
203 EXPECT_TRUE(device_info[0]->Equals(device_info1)); 191 EXPECT_TRUE(device_info[0]->Equals(device_info1));
204 EXPECT_TRUE(device_info[1]->Equals(device_info2)); 192 EXPECT_TRUE(device_info[1]->Equals(device_info2));
205 } 193 }
206 194
207 TEST_F(SyncedDeviceTrackerTest, DeviceBackupTime) { 195 TEST_F(SyncedDeviceTrackerTest, DeviceBackupTime) {
208 DeviceInfo device_info(user_share()->directory->cache_guid(), 196 DeviceInfo device_info(
209 "John’s Device", 197 user_share()->directory->cache_guid(),
210 "XYZ v1", 198 "John’s Device", "XYZ v1", "XYZ SyncAgent v1",
211 "XYZ SyncAgent v1", 199 sync_pb::SyncEnums_DeviceType_TYPE_LINUX);
212 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
213 "device_id");
214 const base::Time test_backup_time = 200 const base::Time test_backup_time =
215 base::Time::UnixEpoch() + base::TimeDelta::FromDays(10000); 201 base::Time::UnixEpoch() + base::TimeDelta::FromDays(10000);
216 202
217 WriteLocalDeviceInfo(device_info); 203 WriteLocalDeviceInfo(device_info);
218 synced_device_tracker_->UpdateLocalDeviceBackupTime(test_backup_time); 204 synced_device_tracker_->UpdateLocalDeviceBackupTime(test_backup_time);
219 205
220 // Verify read of device info and backup time. 206 // Verify read of device info and backup time.
221 EXPECT_EQ(test_backup_time, 207 EXPECT_EQ(test_backup_time,
222 synced_device_tracker_->GetLocalDeviceBackupTime()); 208 synced_device_tracker_->GetLocalDeviceBackupTime());
223 scoped_ptr<DeviceInfo> device_info_out( 209 scoped_ptr<DeviceInfo> device_info_out(
224 synced_device_tracker_->ReadLocalDeviceInfo()); 210 synced_device_tracker_->ReadLocalDeviceInfo());
225 ASSERT_TRUE(device_info_out); 211 ASSERT_TRUE(device_info_out);
226 EXPECT_TRUE(device_info.Equals(*device_info_out.get())); 212 EXPECT_TRUE(device_info.Equals(*device_info_out.get()));
227 213
228 // Verify backup time is not lost after updating device info. 214 // Verify backup time is not lost after updating device info.
229 DeviceInfo device_info2(user_share()->directory->cache_guid(), 215 DeviceInfo device_info2(
230 "def Device", 216 user_share()->directory->cache_guid(),
231 "XYZ v2", 217 "def Device", "XYZ v2", "XYZ SyncAgent v2",
232 "XYZ SyncAgent v2", 218 sync_pb::SyncEnums_DeviceType_TYPE_LINUX);
233 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
234 "device_id");
235 WriteLocalDeviceInfo(device_info2); 219 WriteLocalDeviceInfo(device_info2);
236 EXPECT_EQ(test_backup_time, 220 EXPECT_EQ(test_backup_time,
237 synced_device_tracker_->GetLocalDeviceBackupTime()); 221 synced_device_tracker_->GetLocalDeviceBackupTime());
238 } 222 }
239 223
240 } // namespace 224 } // namespace
241 225
242 } // namespace browser_sync 226 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698