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

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

Issue 10795018: [Sync] Remove unneeded 'using syncer::' lines and 'syncer::' scopings (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fiix indent Created 8 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
« no previous file with comments | « sync/util/cryptographer.cc ('k') | sync/util/data_type_histogram.h » ('j') | 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) 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 "sync/util/cryptographer.h" 5 #include "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"
11 #include "sync/internal_api/public/base/model_type_test_util.h" 11 #include "sync/internal_api/public/base/model_type_test_util.h"
12 #include "sync/protocol/nigori_specifics.pb.h" 12 #include "sync/protocol/nigori_specifics.pb.h"
13 #include "sync/protocol/password_specifics.pb.h" 13 #include "sync/protocol/password_specifics.pb.h"
14 #include "sync/test/fake_encryptor.h" 14 #include "sync/test/fake_encryptor.h"
15 #include "testing/gmock/include/gmock/gmock.h" 15 #include "testing/gmock/include/gmock/gmock.h"
16 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
17 17
18 namespace syncer { 18 namespace syncer {
19 19
20 namespace { 20 namespace {
21 21
22 using ::testing::_; 22 using ::testing::_;
23 using ::testing::Mock; 23 using ::testing::Mock;
24 using ::testing::StrictMock; 24 using ::testing::StrictMock;
25 25
26 class MockObserver : public Cryptographer::Observer { 26 class MockObserver : public Cryptographer::Observer {
27 public: 27 public:
28 MOCK_METHOD2(OnEncryptedTypesChanged, 28 MOCK_METHOD2(OnEncryptedTypesChanged, void(ModelTypeSet, bool));
29 void(syncer::ModelTypeSet, bool));
30 }; 29 };
31 30
32 } // namespace 31 } // namespace
33 32
34 class SyncCryptographerTest : public ::testing::Test { 33 class SyncCryptographerTest : public ::testing::Test {
35 protected: 34 protected:
36 SyncCryptographerTest() : cryptographer_(&encryptor_) {} 35 SyncCryptographerTest() : cryptographer_(&encryptor_) {}
37 36
38 FakeEncryptor encryptor_; 37 FakeEncryptor encryptor_;
39 Cryptographer cryptographer_; 38 Cryptographer cryptographer_;
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 cryptographer_.UpdateNigoriFromEncryptedTypes(&nigori); 236 cryptographer_.UpdateNigoriFromEncryptedTypes(&nigori);
238 cryptographer2.UpdateEncryptedTypesFromNigori(nigori); 237 cryptographer2.UpdateEncryptedTypesFromNigori(nigori);
239 EXPECT_TRUE(encrypted_types.Equals(cryptographer_.GetEncryptedTypes())); 238 EXPECT_TRUE(encrypted_types.Equals(cryptographer_.GetEncryptedTypes()));
240 EXPECT_TRUE(encrypted_types.Equals(cryptographer2.GetEncryptedTypes())); 239 EXPECT_TRUE(encrypted_types.Equals(cryptographer2.GetEncryptedTypes()));
241 240
242 Mock::VerifyAndClearExpectations(&observer); 241 Mock::VerifyAndClearExpectations(&observer);
243 Mock::VerifyAndClearExpectations(&observer2); 242 Mock::VerifyAndClearExpectations(&observer2);
244 243
245 EXPECT_CALL(observer, 244 EXPECT_CALL(observer,
246 OnEncryptedTypesChanged( 245 OnEncryptedTypesChanged(
247 HasModelTypes(syncer::ModelTypeSet::All()), 246 HasModelTypes(ModelTypeSet::All()), false));
248 false));
249 EXPECT_CALL(observer2, 247 EXPECT_CALL(observer2,
250 OnEncryptedTypesChanged( 248 OnEncryptedTypesChanged(
251 HasModelTypes(syncer::ModelTypeSet::All()), 249 HasModelTypes(ModelTypeSet::All()), false));
252 false));
253 250
254 // Set all encrypted types 251 // Set all encrypted types
255 encrypted_types = syncer::ModelTypeSet::All(); 252 encrypted_types = ModelTypeSet::All();
256 cryptographer_.MergeEncryptedTypesForTest(encrypted_types); 253 cryptographer_.MergeEncryptedTypesForTest(encrypted_types);
257 cryptographer_.UpdateNigoriFromEncryptedTypes(&nigori); 254 cryptographer_.UpdateNigoriFromEncryptedTypes(&nigori);
258 cryptographer2.UpdateEncryptedTypesFromNigori(nigori); 255 cryptographer2.UpdateEncryptedTypesFromNigori(nigori);
259 EXPECT_TRUE(encrypted_types.Equals(cryptographer_.GetEncryptedTypes())); 256 EXPECT_TRUE(encrypted_types.Equals(cryptographer_.GetEncryptedTypes()));
260 EXPECT_TRUE(encrypted_types.Equals(cryptographer2.GetEncryptedTypes())); 257 EXPECT_TRUE(encrypted_types.Equals(cryptographer2.GetEncryptedTypes()));
261 258
262 // Receiving an empty nigori should not reset any encrypted types or trigger 259 // Receiving an empty nigori should not reset any encrypted types or trigger
263 // an observer notification. 260 // an observer notification.
264 Mock::VerifyAndClearExpectations(&observer); 261 Mock::VerifyAndClearExpectations(&observer);
265 nigori = sync_pb::NigoriSpecifics(); 262 nigori = sync_pb::NigoriSpecifics();
266 cryptographer_.UpdateEncryptedTypesFromNigori(nigori); 263 cryptographer_.UpdateEncryptedTypesFromNigori(nigori);
267 EXPECT_TRUE(encrypted_types.Equals(cryptographer_.GetEncryptedTypes())); 264 EXPECT_TRUE(encrypted_types.Equals(cryptographer_.GetEncryptedTypes()));
268 } 265 }
269 266
270 TEST_F(SyncCryptographerTest, EncryptEverythingExplicit) { 267 TEST_F(SyncCryptographerTest, EncryptEverythingExplicit) {
271 ModelTypeSet real_types = syncer::ModelTypeSet::All(); 268 ModelTypeSet real_types = ModelTypeSet::All();
272 sync_pb::NigoriSpecifics specifics; 269 sync_pb::NigoriSpecifics specifics;
273 specifics.set_encrypt_everything(true); 270 specifics.set_encrypt_everything(true);
274 271
275 StrictMock<MockObserver> observer; 272 StrictMock<MockObserver> observer;
276 cryptographer_.AddObserver(&observer); 273 cryptographer_.AddObserver(&observer);
277 274
278 EXPECT_CALL(observer, 275 EXPECT_CALL(observer,
279 OnEncryptedTypesChanged( 276 OnEncryptedTypesChanged(
280 HasModelTypes(syncer::ModelTypeSet::All()), true)); 277 HasModelTypes(ModelTypeSet::All()), true));
281 278
282 EXPECT_FALSE(cryptographer_.encrypt_everything()); 279 EXPECT_FALSE(cryptographer_.encrypt_everything());
283 ModelTypeSet encrypted_types = cryptographer_.GetEncryptedTypes(); 280 ModelTypeSet encrypted_types = cryptographer_.GetEncryptedTypes();
284 for (ModelTypeSet::Iterator iter = real_types.First(); 281 for (ModelTypeSet::Iterator iter = real_types.First();
285 iter.Good(); iter.Inc()) { 282 iter.Good(); iter.Inc()) {
286 if (iter.Get() == syncer::PASSWORDS || iter.Get() == syncer::NIGORI) 283 if (iter.Get() == PASSWORDS || iter.Get() == NIGORI)
287 EXPECT_TRUE(encrypted_types.Has(iter.Get())); 284 EXPECT_TRUE(encrypted_types.Has(iter.Get()));
288 else 285 else
289 EXPECT_FALSE(encrypted_types.Has(iter.Get())); 286 EXPECT_FALSE(encrypted_types.Has(iter.Get()));
290 } 287 }
291 288
292 cryptographer_.UpdateEncryptedTypesFromNigori(specifics); 289 cryptographer_.UpdateEncryptedTypesFromNigori(specifics);
293 290
294 EXPECT_TRUE(cryptographer_.encrypt_everything()); 291 EXPECT_TRUE(cryptographer_.encrypt_everything());
295 encrypted_types = cryptographer_.GetEncryptedTypes(); 292 encrypted_types = cryptographer_.GetEncryptedTypes();
296 for (ModelTypeSet::Iterator iter = real_types.First(); 293 for (ModelTypeSet::Iterator iter = real_types.First();
297 iter.Good(); iter.Inc()) { 294 iter.Good(); iter.Inc()) {
298 EXPECT_TRUE(encrypted_types.Has(iter.Get())); 295 EXPECT_TRUE(encrypted_types.Has(iter.Get()));
299 } 296 }
300 297
301 // Shouldn't trigger another notification. 298 // Shouldn't trigger another notification.
302 specifics.set_encrypt_everything(true); 299 specifics.set_encrypt_everything(true);
303 300
304 cryptographer_.RemoveObserver(&observer); 301 cryptographer_.RemoveObserver(&observer);
305 } 302 }
306 303
307 TEST_F(SyncCryptographerTest, EncryptEverythingImplicit) { 304 TEST_F(SyncCryptographerTest, EncryptEverythingImplicit) {
308 ModelTypeSet real_types = syncer::ModelTypeSet::All(); 305 ModelTypeSet real_types = ModelTypeSet::All();
309 sync_pb::NigoriSpecifics specifics; 306 sync_pb::NigoriSpecifics specifics;
310 specifics.set_encrypt_bookmarks(true); // Non-passwords = encrypt everything 307 specifics.set_encrypt_bookmarks(true); // Non-passwords = encrypt everything
311 308
312 StrictMock<MockObserver> observer; 309 StrictMock<MockObserver> observer;
313 cryptographer_.AddObserver(&observer); 310 cryptographer_.AddObserver(&observer);
314 311
315 EXPECT_CALL(observer, 312 EXPECT_CALL(observer,
316 OnEncryptedTypesChanged( 313 OnEncryptedTypesChanged(
317 HasModelTypes(syncer::ModelTypeSet::All()), true)); 314 HasModelTypes(ModelTypeSet::All()), true));
318 315
319 EXPECT_FALSE(cryptographer_.encrypt_everything()); 316 EXPECT_FALSE(cryptographer_.encrypt_everything());
320 ModelTypeSet encrypted_types = cryptographer_.GetEncryptedTypes(); 317 ModelTypeSet encrypted_types = cryptographer_.GetEncryptedTypes();
321 for (ModelTypeSet::Iterator iter = real_types.First(); 318 for (ModelTypeSet::Iterator iter = real_types.First();
322 iter.Good(); iter.Inc()) { 319 iter.Good(); iter.Inc()) {
323 if (iter.Get() == syncer::PASSWORDS || iter.Get() == syncer::NIGORI) 320 if (iter.Get() == PASSWORDS || iter.Get() == NIGORI)
324 EXPECT_TRUE(encrypted_types.Has(iter.Get())); 321 EXPECT_TRUE(encrypted_types.Has(iter.Get()));
325 else 322 else
326 EXPECT_FALSE(encrypted_types.Has(iter.Get())); 323 EXPECT_FALSE(encrypted_types.Has(iter.Get()));
327 } 324 }
328 325
329 cryptographer_.UpdateEncryptedTypesFromNigori(specifics); 326 cryptographer_.UpdateEncryptedTypesFromNigori(specifics);
330 327
331 EXPECT_TRUE(cryptographer_.encrypt_everything()); 328 EXPECT_TRUE(cryptographer_.encrypt_everything());
332 encrypted_types = cryptographer_.GetEncryptedTypes(); 329 encrypted_types = cryptographer_.GetEncryptedTypes();
333 for (ModelTypeSet::Iterator iter = real_types.First(); 330 for (ModelTypeSet::Iterator iter = real_types.First();
334 iter.Good(); iter.Inc()) { 331 iter.Good(); iter.Inc()) {
335 EXPECT_TRUE(encrypted_types.Has(iter.Get())); 332 EXPECT_TRUE(encrypted_types.Has(iter.Get()));
336 } 333 }
337 334
338 // Shouldn't trigger another notification. 335 // Shouldn't trigger another notification.
339 specifics.set_encrypt_everything(true); 336 specifics.set_encrypt_everything(true);
340 337
341 cryptographer_.RemoveObserver(&observer); 338 cryptographer_.RemoveObserver(&observer);
342 } 339 }
343 340
344 TEST_F(SyncCryptographerTest, UnknownSensitiveTypes) { 341 TEST_F(SyncCryptographerTest, UnknownSensitiveTypes) {
345 ModelTypeSet real_types = syncer::ModelTypeSet::All(); 342 ModelTypeSet real_types = ModelTypeSet::All();
346 sync_pb::NigoriSpecifics specifics; 343 sync_pb::NigoriSpecifics specifics;
347 // Explicitly setting encrypt everything should override logic for implicit 344 // Explicitly setting encrypt everything should override logic for implicit
348 // encrypt everything. 345 // encrypt everything.
349 specifics.set_encrypt_everything(false); 346 specifics.set_encrypt_everything(false);
350 specifics.set_encrypt_bookmarks(true); 347 specifics.set_encrypt_bookmarks(true);
351 348
352 StrictMock<MockObserver> observer; 349 StrictMock<MockObserver> observer;
353 cryptographer_.AddObserver(&observer); 350 cryptographer_.AddObserver(&observer);
354 351
355 syncer::ModelTypeSet expected_encrypted_types = 352 ModelTypeSet expected_encrypted_types = Cryptographer::SensitiveTypes();
356 Cryptographer::SensitiveTypes(); 353 expected_encrypted_types.Put(BOOKMARKS);
357 expected_encrypted_types.Put(syncer::BOOKMARKS);
358 354
359 EXPECT_CALL(observer, 355 EXPECT_CALL(observer,
360 OnEncryptedTypesChanged( 356 OnEncryptedTypesChanged(
361 HasModelTypes(expected_encrypted_types), false)); 357 HasModelTypes(expected_encrypted_types), false));
362 358
363 EXPECT_FALSE(cryptographer_.encrypt_everything()); 359 EXPECT_FALSE(cryptographer_.encrypt_everything());
364 ModelTypeSet encrypted_types = cryptographer_.GetEncryptedTypes(); 360 ModelTypeSet encrypted_types = cryptographer_.GetEncryptedTypes();
365 for (ModelTypeSet::Iterator iter = real_types.First(); 361 for (ModelTypeSet::Iterator iter = real_types.First();
366 iter.Good(); iter.Inc()) { 362 iter.Good(); iter.Inc()) {
367 if (iter.Get() == syncer::PASSWORDS || iter.Get() == syncer::NIGORI) 363 if (iter.Get() == PASSWORDS || iter.Get() == NIGORI)
368 EXPECT_TRUE(encrypted_types.Has(iter.Get())); 364 EXPECT_TRUE(encrypted_types.Has(iter.Get()));
369 else 365 else
370 EXPECT_FALSE(encrypted_types.Has(iter.Get())); 366 EXPECT_FALSE(encrypted_types.Has(iter.Get()));
371 } 367 }
372 368
373 cryptographer_.UpdateEncryptedTypesFromNigori(specifics); 369 cryptographer_.UpdateEncryptedTypesFromNigori(specifics);
374 370
375 EXPECT_FALSE(cryptographer_.encrypt_everything()); 371 EXPECT_FALSE(cryptographer_.encrypt_everything());
376 encrypted_types = cryptographer_.GetEncryptedTypes(); 372 encrypted_types = cryptographer_.GetEncryptedTypes();
377 for (ModelTypeSet::Iterator iter = real_types.First(); 373 for (ModelTypeSet::Iterator iter = real_types.First();
378 iter.Good(); iter.Inc()) { 374 iter.Good(); iter.Inc()) {
379 if (iter.Get() == syncer::PASSWORDS || 375 if (iter.Get() == PASSWORDS ||
380 iter.Get() == syncer::NIGORI || 376 iter.Get() == NIGORI ||
381 iter.Get() == syncer::BOOKMARKS) 377 iter.Get() == BOOKMARKS)
382 EXPECT_TRUE(encrypted_types.Has(iter.Get())); 378 EXPECT_TRUE(encrypted_types.Has(iter.Get()));
383 else 379 else
384 EXPECT_FALSE(encrypted_types.Has(iter.Get())); 380 EXPECT_FALSE(encrypted_types.Has(iter.Get()));
385 } 381 }
386 382
387 cryptographer_.RemoveObserver(&observer); 383 cryptographer_.RemoveObserver(&observer);
388 } 384 }
389 385
390 } // namespace syncer 386 } // namespace syncer
OLDNEW
« no previous file with comments | « sync/util/cryptographer.cc ('k') | sync/util/data_type_histogram.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698