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

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: 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 12 matching lines...) Expand all
23 namespace { 23 namespace {
24 24
25 void ConvertDeviceInfoSpecifics( 25 void ConvertDeviceInfoSpecifics(
26 const DeviceInfo& device_info, 26 const DeviceInfo& device_info,
27 sync_pb::DeviceInfoSpecifics* specifics) { 27 sync_pb::DeviceInfoSpecifics* specifics) {
28 specifics->set_cache_guid(device_info.guid()); 28 specifics->set_cache_guid(device_info.guid());
29 specifics->set_client_name(device_info.client_name()); 29 specifics->set_client_name(device_info.client_name());
30 specifics->set_chrome_version(device_info.chrome_version()); 30 specifics->set_chrome_version(device_info.chrome_version());
31 specifics->set_sync_user_agent(device_info.sync_user_agent()); 31 specifics->set_sync_user_agent(device_info.sync_user_agent());
32 specifics->set_device_type(device_info.device_type()); 32 specifics->set_device_type(device_info.device_type());
33 specifics->set_signin_scoped_device_id(device_info.signin_scoped_device_id());
33 } 34 }
34 35
35 } // namespace 36 } // namespace
36 37
37 class SyncedDeviceTrackerTest : public ::testing::Test { 38 class SyncedDeviceTrackerTest : public ::testing::Test {
38 protected: 39 protected:
39 SyncedDeviceTrackerTest() : transaction_count_baseline_(0) { } 40 SyncedDeviceTrackerTest() : transaction_count_baseline_(0) { }
40 virtual ~SyncedDeviceTrackerTest() { } 41 virtual ~SyncedDeviceTrackerTest() { }
41 42
42 virtual void SetUp() { 43 virtual void SetUp() {
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 // New client scenario: set device info when no previous info existed. 103 // New client scenario: set device info when no previous info existed.
103 TEST_F(SyncedDeviceTrackerTest, CreateNewDeviceInfo) { 104 TEST_F(SyncedDeviceTrackerTest, CreateNewDeviceInfo) {
104 ASSERT_FALSE(synced_device_tracker_->ReadLocalDeviceInfo()); 105 ASSERT_FALSE(synced_device_tracker_->ReadLocalDeviceInfo());
105 106
106 ResetObservedChangesCounter(); 107 ResetObservedChangesCounter();
107 108
108 // Include the non-ASCII character "’" (typographic apostrophe) in the client 109 // Include the non-ASCII character "’" (typographic apostrophe) in the client
109 // name to ensure that SyncedDeviceTracker can properly handle non-ASCII 110 // name to ensure that SyncedDeviceTracker can properly handle non-ASCII
110 // characters, which client names can include on some platforms (e.g., Mac 111 // characters, which client names can include on some platforms (e.g., Mac
111 // and iOS). 112 // and iOS).
112 DeviceInfo write_device_info( 113 DeviceInfo write_device_info(user_share()->directory->cache_guid(),
113 user_share()->directory->cache_guid(), 114 "John’s Device",
114 "John’s Device", "Chromium 3000", "ChromeSyncAgent 3000", 115 "Chromium 3000",
115 sync_pb::SyncEnums_DeviceType_TYPE_LINUX); 116 "ChromeSyncAgent 3000",
117 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
118 "device_id");
116 WriteLocalDeviceInfo(write_device_info); 119 WriteLocalDeviceInfo(write_device_info);
117 120
118 scoped_ptr<DeviceInfo> read_device_info( 121 scoped_ptr<DeviceInfo> read_device_info(
119 synced_device_tracker_->ReadLocalDeviceInfo()); 122 synced_device_tracker_->ReadLocalDeviceInfo());
120 ASSERT_TRUE(read_device_info); 123 ASSERT_TRUE(read_device_info);
121 EXPECT_TRUE(write_device_info.Equals(*read_device_info.get())); 124 EXPECT_TRUE(write_device_info.Equals(*read_device_info.get()));
122 125
123 EXPECT_EQ(1, GetObservedChangesCounter()); 126 EXPECT_EQ(1, GetObservedChangesCounter());
124 } 127 }
125 128
126 // Restart scenario: update existing device info with identical data. 129 // Restart scenario: update existing device info with identical data.
127 TEST_F(SyncedDeviceTrackerTest, DontModifyExistingDeviceInfo) { 130 TEST_F(SyncedDeviceTrackerTest, DontModifyExistingDeviceInfo) {
128 // For writing. 131 // For writing.
129 DeviceInfo device_info( 132 DeviceInfo device_info(user_share()->directory->cache_guid(),
130 user_share()->directory->cache_guid(), 133 "John’s Device",
131 "John’s Device", "XYZ v1", "XYZ SyncAgent v1", 134 "XYZ v1",
132 sync_pb::SyncEnums_DeviceType_TYPE_LINUX); 135 "XYZ SyncAgent v1",
136 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
137 "device_id");
133 WriteLocalDeviceInfo(device_info); 138 WriteLocalDeviceInfo(device_info);
134 139
135 // First read. 140 // First read.
136 scoped_ptr<DeviceInfo> old_device_info( 141 scoped_ptr<DeviceInfo> old_device_info(
137 synced_device_tracker_->ReadLocalDeviceInfo()); 142 synced_device_tracker_->ReadLocalDeviceInfo());
138 ASSERT_TRUE(old_device_info); 143 ASSERT_TRUE(old_device_info);
139 144
140 ResetObservedChangesCounter(); 145 ResetObservedChangesCounter();
141 146
142 // Overwrite the device info with the same data as before. 147 // Overwrite the device info with the same data as before.
143 WriteLocalDeviceInfo(device_info); 148 WriteLocalDeviceInfo(device_info);
144 149
145 // Ensure that this didn't count as a change worth syncing. 150 // Ensure that this didn't count as a change worth syncing.
146 EXPECT_EQ(0, GetObservedChangesCounter()); 151 EXPECT_EQ(0, GetObservedChangesCounter());
147 152
148 // Second read. 153 // Second read.
149 scoped_ptr<DeviceInfo> new_device_info( 154 scoped_ptr<DeviceInfo> new_device_info(
150 synced_device_tracker_->ReadLocalDeviceInfo()); 155 synced_device_tracker_->ReadLocalDeviceInfo());
151 ASSERT_TRUE(new_device_info); 156 ASSERT_TRUE(new_device_info);
152 EXPECT_TRUE(old_device_info->Equals(*new_device_info.get())); 157 EXPECT_TRUE(old_device_info->Equals(*new_device_info.get()));
153 } 158 }
154 159
155 // Upgrade scenario: update existing device info with new version. 160 // Upgrade scenario: update existing device info with new version.
156 TEST_F(SyncedDeviceTrackerTest, UpdateExistingDeviceInfo) { 161 TEST_F(SyncedDeviceTrackerTest, UpdateExistingDeviceInfo) {
157 // Write v1 device info. 162 // Write v1 device info.
158 DeviceInfo device_info_v1( 163 DeviceInfo device_info_v1(user_share()->directory->cache_guid(),
159 user_share()->directory->cache_guid(), 164 "John’s Device",
160 "John’s Device", "XYZ v1", "XYZ SyncAgent v1", 165 "XYZ v1",
161 sync_pb::SyncEnums_DeviceType_TYPE_LINUX); 166 "XYZ SyncAgent v1",
167 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
168 "device_id1");
162 WriteLocalDeviceInfo(device_info_v1); 169 WriteLocalDeviceInfo(device_info_v1);
163 170
164 ResetObservedChangesCounter(); 171 ResetObservedChangesCounter();
165 172
166 // Write upgraded device info. 173 // Write upgraded device info.
167 DeviceInfo device_info_v2( 174 DeviceInfo device_info_v2(user_share()->directory->cache_guid(),
168 user_share()->directory->cache_guid(), 175 "John’s Device",
169 "John’s Device", "XYZ v2", "XYZ SyncAgent v2", 176 "XYZ v2",
170 sync_pb::SyncEnums_DeviceType_TYPE_LINUX); 177 "XYZ SyncAgent v2",
178 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
179 "device_id2");
171 WriteLocalDeviceInfo(device_info_v2); 180 WriteLocalDeviceInfo(device_info_v2);
172 181
173 // Verify result. 182 // Verify result.
174 scoped_ptr<DeviceInfo> result_device_info( 183 scoped_ptr<DeviceInfo> result_device_info(
175 synced_device_tracker_->ReadLocalDeviceInfo()); 184 synced_device_tracker_->ReadLocalDeviceInfo());
176 ASSERT_TRUE(result_device_info); 185 ASSERT_TRUE(result_device_info);
177 186
178 EXPECT_TRUE(result_device_info->Equals(device_info_v2)); 187 EXPECT_TRUE(result_device_info->Equals(device_info_v2));
179 188
180 // The update write should have sent a nudge. 189 // The update write should have sent a nudge.
181 EXPECT_EQ(1, GetObservedChangesCounter()); 190 EXPECT_EQ(1, GetObservedChangesCounter());
182 } 191 }
183 192
184 // Test retrieving DeviceInfos for all the syncing devices. 193 // Test retrieving DeviceInfos for all the syncing devices.
185 TEST_F(SyncedDeviceTrackerTest, GetAllDeviceInfo) { 194 TEST_F(SyncedDeviceTrackerTest, GetAllDeviceInfo) {
186 DeviceInfo device_info1( 195 DeviceInfo device_info1(base::GenerateGUID(),
187 base::GenerateGUID(), 196 "abc Device",
188 "abc Device", "XYZ v1", "XYZ SyncAgent v1", 197 "XYZ v1",
189 sync_pb::SyncEnums_DeviceType_TYPE_LINUX); 198 "XYZ SyncAgent v1",
199 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
200 "device_id1");
190 201
191 std::string guid1 = base::GenerateGUID(); 202 std::string guid1 = base::GenerateGUID();
192 203
193 DeviceInfo device_info2( 204 DeviceInfo device_info2(base::GenerateGUID(),
194 base::GenerateGUID(), 205 "def Device",
195 "def Device", "XYZ v2", "XYZ SyncAgent v2", 206 "XYZ v2",
196 sync_pb::SyncEnums_DeviceType_TYPE_LINUX); 207 "XYZ SyncAgent v2",
208 sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
209 "device_id2");
197 210
198 std::string guid2 = base::GenerateGUID(); 211 std::string guid2 = base::GenerateGUID();
199 212
200 WriteDeviceInfo(device_info1); 213 WriteDeviceInfo(device_info1);
201 WriteDeviceInfo(device_info2); 214 WriteDeviceInfo(device_info2);
202 215
203 ScopedVector<DeviceInfo> device_info; 216 ScopedVector<DeviceInfo> device_info;
204 synced_device_tracker_->GetAllSyncedDeviceInfo(&device_info); 217 synced_device_tracker_->GetAllSyncedDeviceInfo(&device_info);
205 218
206 EXPECT_EQ(device_info.size(), 2U); 219 EXPECT_EQ(device_info.size(), 2U);
207 EXPECT_TRUE(device_info[0]->Equals(device_info1)); 220 EXPECT_TRUE(device_info[0]->Equals(device_info1));
208 EXPECT_TRUE(device_info[1]->Equals(device_info2)); 221 EXPECT_TRUE(device_info[1]->Equals(device_info2));
209 } 222 }
210 223
211 } // namespace 224 } // namespace
212 225
213 } // namespace browser_sync 226 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698