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.
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"
14 typedef testing::Test NigoriUtilTest
;
16 TEST(NigoriUtilTest
, SpecificsNeedsEncryption
) {
17 ModelTypeSet encrypted_types
;
18 encrypted_types
.Put(BOOKMARKS
);
19 encrypted_types
.Put(PASSWORDS
);
21 sync_pb::EntitySpecifics specifics
;
22 EXPECT_FALSE(SpecificsNeedsEncryption(ModelTypeSet(), specifics
));
23 EXPECT_FALSE(SpecificsNeedsEncryption(encrypted_types
, specifics
));
25 AddDefaultFieldValue(PREFERENCES
, &specifics
);
26 EXPECT_FALSE(SpecificsNeedsEncryption(encrypted_types
, specifics
));
28 sync_pb::EntitySpecifics bookmark_specifics
;
29 AddDefaultFieldValue(BOOKMARKS
, &bookmark_specifics
);
30 EXPECT_TRUE(SpecificsNeedsEncryption(encrypted_types
, bookmark_specifics
));
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
));
37 bookmark_specifics
.mutable_encrypted();
38 EXPECT_FALSE(SpecificsNeedsEncryption(encrypted_types
, bookmark_specifics
));
39 EXPECT_FALSE(SpecificsNeedsEncryption(ModelTypeSet(), bookmark_specifics
));
41 sync_pb::EntitySpecifics password_specifics
;
42 AddDefaultFieldValue(PASSWORDS
, &password_specifics
);
43 EXPECT_FALSE(SpecificsNeedsEncryption(encrypted_types
, password_specifics
));
46 // ProcessUnsyncedChangesForEncryption and other methods that rely on the syncer
47 // are tested in apply_updates_command_unittest.cc
49 } // namespace syncable