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