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
TEST(NigoriUtilTest,SpecificsNeedsEncryption)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