ChildAccountService: get service flags from AccountTrackerService instead of fetching...
[chromium-blink-merge.git] / sync / syncable / nigori_util_unittest.cc
blob52e39a0f92bc6f2c8fe35e4f6cdee302386483bc
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"
11 namespace syncer {
12 namespace syncable {
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
50 } // namespace syncer