Home | History | Annotate | Download | only in syncable
      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
      3 // found in the LICENSE file.
      4 
      5 #include "sync/protocol/bookmark_specifics.pb.h"
      6 #include "sync/protocol/sync.pb.h"
      7 #include "sync/syncable/nigori_util.h"
      8 #include "sync/util/cryptographer.h"
      9 #include "testing/gtest/include/gtest/gtest.h"
     10 
     11 namespace syncer {
     12 namespace syncable {
     13 
     14 typedef testing::Test NigoriUtilTest;
     15 
     16 TEST(NigoriUtilTest, SpecificsNeedsEncryption) {
     17   ModelTypeSet encrypted_types;
     18   encrypted_types.Put(BOOKMARKS);
     19   encrypted_types.Put(PASSWORDS);
     20 
     21   sync_pb::EntitySpecifics specifics;
     22   EXPECT_FALSE(SpecificsNeedsEncryption(ModelTypeSet(), specifics));
     23   EXPECT_FALSE(SpecificsNeedsEncryption(encrypted_types, specifics));
     24 
     25   AddDefaultFieldValue(PREFERENCES, &specifics);
     26   EXPECT_FALSE(SpecificsNeedsEncryption(encrypted_types, specifics));
     27 
     28   sync_pb::EntitySpecifics bookmark_specifics;
     29   AddDefaultFieldValue(BOOKMARKS, &bookmark_specifics);
     30   EXPECT_TRUE(SpecificsNeedsEncryption(encrypted_types, bookmark_specifics));
     31 
     32   bookmark_specifics.mutable_bookmark()->set_title("title");
     33   bookmark_specifics.mutable_bookmark()->set_url("url");
     34   EXPECT_TRUE(SpecificsNeedsEncryption(encrypted_types, bookmark_specifics));
     35   EXPECT_FALSE(SpecificsNeedsEncryption(ModelTypeSet(), bookmark_specifics));
     36 
     37   bookmark_specifics.mutable_encrypted();
     38   EXPECT_FALSE(SpecificsNeedsEncryption(encrypted_types, bookmark_specifics));
     39   EXPECT_FALSE(SpecificsNeedsEncryption(ModelTypeSet(), bookmark_specifics));
     40 
     41   sync_pb::EntitySpecifics password_specifics;
     42   AddDefaultFieldValue(PASSWORDS, &password_specifics);
     43   EXPECT_FALSE(SpecificsNeedsEncryption(encrypted_types, password_specifics));
     44 }
     45 
     46 // ProcessUnsyncedChangesForEncryption and other methods that rely on the syncer
     47 // are tested in apply_updates_command_unittest.cc
     48 
     49 }  // namespace syncable
     50 }  // namespace syncer
     51