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

Side by Side Diff: chrome/browser/sync/util/cryptographer_unittest.cc

Issue 8564032: [Sync] The cryptographer should be able to handle empty or old nigori nodes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments. Fix diff Created 9 years, 1 month 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
« no previous file with comments | « chrome/browser/sync/util/cryptographer.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "chrome/browser/sync/util/cryptographer.h" 5 #include "chrome/browser/sync/util/cryptographer.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/string_util.h" 10 #include "base/string_util.h"
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 sync_pb::NigoriSpecifics nigori; 200 sync_pb::NigoriSpecifics nigori;
201 201
202 StrictMock<MockObserver> observer; 202 StrictMock<MockObserver> observer;
203 cryptographer.AddObserver(&observer); 203 cryptographer.AddObserver(&observer);
204 StrictMock<MockObserver> observer2; 204 StrictMock<MockObserver> observer2;
205 cryptographer2.AddObserver(&observer2); 205 cryptographer2.AddObserver(&observer2);
206 206
207 // Just set the sensitive types (shouldn't trigger any 207 // Just set the sensitive types (shouldn't trigger any
208 // notifications). 208 // notifications).
209 ModelTypeSet encrypted_types(Cryptographer::SensitiveTypes()); 209 ModelTypeSet encrypted_types(Cryptographer::SensitiveTypes());
210 cryptographer.SetEncryptedTypesForTest(encrypted_types); 210 cryptographer.MergeEncryptedTypesForTest(encrypted_types);
211 cryptographer.UpdateNigoriFromEncryptedTypes(&nigori); 211 cryptographer.UpdateNigoriFromEncryptedTypes(&nigori);
212 cryptographer2.UpdateEncryptedTypesFromNigori(nigori); 212 cryptographer2.UpdateEncryptedTypesFromNigori(nigori);
213 EXPECT_EQ(encrypted_types, cryptographer.GetEncryptedTypes()); 213 EXPECT_EQ(encrypted_types, cryptographer.GetEncryptedTypes());
214 EXPECT_EQ(encrypted_types, cryptographer2.GetEncryptedTypes()); 214 EXPECT_EQ(encrypted_types, cryptographer2.GetEncryptedTypes());
215 215
216 Mock::VerifyAndClearExpectations(&observer); 216 Mock::VerifyAndClearExpectations(&observer);
217 Mock::VerifyAndClearExpectations(&observer2); 217 Mock::VerifyAndClearExpectations(&observer2);
218 218
219 EXPECT_CALL(observer, 219 EXPECT_CALL(observer,
220 OnEncryptedTypesChanged(syncable::GetAllRealModelTypes(), 220 OnEncryptedTypesChanged(syncable::GetAllRealModelTypes(),
221 false)); 221 false));
222 EXPECT_CALL(observer2, 222 EXPECT_CALL(observer2,
223 OnEncryptedTypesChanged(syncable::GetAllRealModelTypes(), 223 OnEncryptedTypesChanged(syncable::GetAllRealModelTypes(),
224 false)); 224 false));
225 225
226 // Set all encrypted types 226 // Set all encrypted types
227 encrypted_types = syncable::GetAllRealModelTypes(); 227 encrypted_types = syncable::GetAllRealModelTypes();
228 cryptographer.SetEncryptedTypesForTest(encrypted_types); 228 cryptographer.MergeEncryptedTypesForTest(encrypted_types);
229 cryptographer.UpdateNigoriFromEncryptedTypes(&nigori); 229 cryptographer.UpdateNigoriFromEncryptedTypes(&nigori);
230 cryptographer2.UpdateEncryptedTypesFromNigori(nigori); 230 cryptographer2.UpdateEncryptedTypesFromNigori(nigori);
231 EXPECT_EQ(encrypted_types, cryptographer.GetEncryptedTypes()); 231 EXPECT_EQ(encrypted_types, cryptographer.GetEncryptedTypes());
232 EXPECT_EQ(encrypted_types, cryptographer2.GetEncryptedTypes()); 232 EXPECT_EQ(encrypted_types, cryptographer2.GetEncryptedTypes());
233
234 // Receiving an empty nigori should not reset any encrypted types or trigger
235 // an observer notification.
236 Mock::VerifyAndClearExpectations(&observer);
237 nigori = sync_pb::NigoriSpecifics();
238 cryptographer.UpdateEncryptedTypesFromNigori(nigori);
239 EXPECT_EQ(encrypted_types, cryptographer.GetEncryptedTypes());
233 } 240 }
234 241
235 TEST(CryptographerTest, EncryptEverythingExplicit) { 242 TEST(CryptographerTest, EncryptEverythingExplicit) {
236 ModelTypeSet real_types = syncable::GetAllRealModelTypes(); 243 ModelTypeSet real_types = syncable::GetAllRealModelTypes();
237 sync_pb::NigoriSpecifics specifics; 244 sync_pb::NigoriSpecifics specifics;
238 specifics.set_encrypt_everything(true); 245 specifics.set_encrypt_everything(true);
239 246
240 Cryptographer cryptographer; 247 Cryptographer cryptographer;
241 StrictMock<MockObserver> observer; 248 StrictMock<MockObserver> observer;
242 cryptographer.AddObserver(&observer); 249 cryptographer.AddObserver(&observer);
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 *iter == syncable::BOOKMARKS) 362 *iter == syncable::BOOKMARKS)
356 EXPECT_EQ(1U, encrypted_types.count(*iter)); 363 EXPECT_EQ(1U, encrypted_types.count(*iter));
357 else 364 else
358 EXPECT_EQ(0U, encrypted_types.count(*iter)); 365 EXPECT_EQ(0U, encrypted_types.count(*iter));
359 } 366 }
360 367
361 cryptographer.RemoveObserver(&observer); 368 cryptographer.RemoveObserver(&observer);
362 } 369 }
363 370
364 } // namespace browser_sync 371 } // namespace browser_sync
OLDNEW
« no previous file with comments | « chrome/browser/sync/util/cryptographer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698