Home | History | Annotate | Download | only in syncable
      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 
     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