• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #include "chrome/browser/sync/syncable/nigori_util.h"
6 #include "testing/gtest/include/gtest/gtest.h"
7 
8 namespace syncable {
9 
10 typedef testing::Test NigoriUtilTest;
11 
TEST_F(NigoriUtilTest,NigoriEncryptionTypes)12 TEST_F(NigoriUtilTest, NigoriEncryptionTypes) {
13   sync_pb::NigoriSpecifics nigori;
14   ModelTypeSet encrypted_types;
15   FillNigoriEncryptedTypes(encrypted_types, &nigori);
16   ModelTypeSet test_types = GetEncryptedDataTypesFromNigori(nigori);
17   EXPECT_EQ(encrypted_types, test_types);
18 
19   for (int i = FIRST_REAL_MODEL_TYPE; i < MODEL_TYPE_COUNT; ++i) {
20     encrypted_types.insert(ModelTypeFromInt(i));
21   }
22   FillNigoriEncryptedTypes(encrypted_types, &nigori);
23   test_types = GetEncryptedDataTypesFromNigori(nigori);
24   encrypted_types.erase(syncable::NIGORI);     // Should not get set.
25   encrypted_types.erase(syncable::PASSWORDS);  // Should not get set.
26   EXPECT_EQ(encrypted_types, test_types);
27 
28   encrypted_types.erase(syncable::BOOKMARKS);
29   encrypted_types.erase(syncable::SESSIONS);
30   FillNigoriEncryptedTypes(encrypted_types, &nigori);
31   test_types = GetEncryptedDataTypesFromNigori(nigori);
32   EXPECT_EQ(encrypted_types, test_types);
33 }
34 
35 // ProcessUnsyncedChangesForEncryption and other methods that rely on the syncer
36 // are tested in apply_updates_command_unittest.cc
37 
38 }  // namespace syncable
39