Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(234)

Side by Side Diff: components/policy/core/browser/managed_bookmarks_tracker_unittest.cc

Issue 769153007: Managed bookmarks for supervised users (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: new string&icons; rebase Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/policy/core/browser/managed_bookmarks_tracker.h" 5 #include "components/policy/core/browser/managed_bookmarks_tracker.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 19 matching lines...) Expand all
30 30
31 namespace policy { 31 namespace policy {
32 32
33 class ManagedBookmarksTrackerTest : public testing::Test { 33 class ManagedBookmarksTrackerTest : public testing::Test {
34 public: 34 public:
35 ManagedBookmarksTrackerTest() : managed_node_(NULL) {} 35 ManagedBookmarksTrackerTest() : managed_node_(NULL) {}
36 ~ManagedBookmarksTrackerTest() override {} 36 ~ManagedBookmarksTrackerTest() override {}
37 37
38 void SetUp() override { 38 void SetUp() override {
39 prefs_.registry()->RegisterListPref(bookmarks::prefs::kManagedBookmarks); 39 prefs_.registry()->RegisterListPref(bookmarks::prefs::kManagedBookmarks);
40 prefs_.registry()->RegisterListPref(bookmarks::prefs::kSupervisedBookmarks);
40 prefs_.registry()->RegisterListPref( 41 prefs_.registry()->RegisterListPref(
41 bookmarks::prefs::kBookmarkEditorExpandedNodes); 42 bookmarks::prefs::kBookmarkEditorExpandedNodes);
42 } 43 }
43 44
44 void TearDown() override { 45 void TearDown() override {
45 if (model_) 46 if (model_)
46 model_->RemoveObserver(&observer_); 47 model_->RemoveObserver(&observer_);
47 } 48 }
48 49
49 void CreateModel() { 50 void CreateModel() {
bartfab (slow) 2015/01/26 15:40:14 Nit: Please remove this method and replace all cal
Marc Treib 2015/01/26 16:16:48 Done.
51 CreateModel(false);
52 }
53
54 void CreateModel(bool is_supervised) {
50 // Simulate the creation of the managed node by the BookmarkClient. 55 // Simulate the creation of the managed node by the BookmarkClient.
51 BookmarkPermanentNode* managed_node = new BookmarkPermanentNode(100); 56 BookmarkPermanentNode* managed_node = new BookmarkPermanentNode(100);
52 policy::ManagedBookmarksTracker::LoadInitial( 57 policy::ManagedBookmarksTracker::LoadInitial(
53 managed_node, prefs_.GetList(bookmarks::prefs::kManagedBookmarks), 101); 58 managed_node,
59 prefs_.GetList(ManagedBookmarksTracker::GetPrefName(is_supervised)),
60 101);
54 managed_node->set_visible(!managed_node->empty()); 61 managed_node->set_visible(!managed_node->empty());
55 managed_node->SetTitle(l10n_util::GetStringUTF16( 62 managed_node->SetTitle(l10n_util::GetStringUTF16(
56 IDS_BOOKMARK_BAR_MANAGED_FOLDER_DEFAULT_NAME)); 63 is_supervised ? IDS_BOOKMARK_BAR_SUPERVISED_FOLDER_DEFAULT_NAME
64 : IDS_BOOKMARK_BAR_MANAGED_FOLDER_DEFAULT_NAME));
57 65
58 bookmarks::BookmarkPermanentNodeList extra_nodes; 66 bookmarks::BookmarkPermanentNodeList extra_nodes;
59 extra_nodes.push_back(managed_node); 67 extra_nodes.push_back(managed_node);
60 client_.SetExtraNodesToLoad(extra_nodes.Pass()); 68 client_.SetExtraNodesToLoad(extra_nodes.Pass());
61 69
62 model_.reset(new BookmarkModel(&client_)); 70 model_.reset(new BookmarkModel(&client_));
63 model_->AddObserver(&observer_); 71 model_->AddObserver(&observer_);
64 EXPECT_CALL(observer_, BookmarkModelLoaded(model_.get(), _)); 72 EXPECT_CALL(observer_, BookmarkModelLoaded(model_.get(), _));
65 model_->Load(&prefs_, 73 model_->Load(&prefs_,
66 std::string(), 74 std::string(),
67 base::FilePath(), 75 base::FilePath(),
68 base::MessageLoopProxy::current(), 76 base::MessageLoopProxy::current(),
69 base::MessageLoopProxy::current()); 77 base::MessageLoopProxy::current());
70 bookmarks::test::WaitForBookmarkModelToLoad(model_.get()); 78 bookmarks::test::WaitForBookmarkModelToLoad(model_.get());
71 Mock::VerifyAndClearExpectations(&observer_); 79 Mock::VerifyAndClearExpectations(&observer_);
72 80
73 ASSERT_EQ(1u, client_.extra_nodes().size()); 81 ASSERT_EQ(1u, client_.extra_nodes().size());
74 managed_node_ = client_.extra_nodes()[0]; 82 managed_node_ = client_.extra_nodes()[0];
75 ASSERT_EQ(managed_node, managed_node_); 83 ASSERT_EQ(managed_node, managed_node_);
76 84
77 managed_bookmarks_tracker_.reset(new ManagedBookmarksTracker( 85 managed_bookmarks_tracker_.reset(new ManagedBookmarksTracker(
78 model_.get(), 86 model_.get(),
79 &prefs_, 87 &prefs_,
88 is_supervised,
80 base::Bind(&ManagedBookmarksTrackerTest::GetManagementDomain))); 89 base::Bind(&ManagedBookmarksTrackerTest::GetManagementDomain)));
81 managed_bookmarks_tracker_->Init(managed_node_); 90 managed_bookmarks_tracker_->Init(managed_node_);
82 } 91 }
83 92
84 const BookmarkNode* managed_node() { 93 const BookmarkNode* managed_node() {
85 return managed_node_; 94 return managed_node_;
86 } 95 }
87 96
88 bool IsManaged(const BookmarkNode* node) { 97 bool IsManaged(const BookmarkNode* node) {
89 return node && node->HasAncestor(managed_node_); 98 return node && node->HasAncestor(managed_node_);
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 CreateModel(); 193 CreateModel();
185 EXPECT_TRUE(model_->bookmark_bar_node()->empty()); 194 EXPECT_TRUE(model_->bookmark_bar_node()->empty());
186 EXPECT_TRUE(model_->other_node()->empty()); 195 EXPECT_TRUE(model_->other_node()->empty());
187 EXPECT_FALSE(managed_node()->empty()); 196 EXPECT_FALSE(managed_node()->empty());
188 EXPECT_TRUE(managed_node()->IsVisible()); 197 EXPECT_TRUE(managed_node()->IsVisible());
189 198
190 scoped_ptr<base::DictionaryValue> expected(CreateExpectedTree()); 199 scoped_ptr<base::DictionaryValue> expected(CreateExpectedTree());
191 EXPECT_TRUE(NodeMatchesValue(managed_node(), expected.get())); 200 EXPECT_TRUE(NodeMatchesValue(managed_node(), expected.get()));
192 } 201 }
193 202
203 TEST_F(ManagedBookmarksTrackerTest, SupervisedTrackerIgnoresManagedPref) {
204 prefs_.SetManagedPref(bookmarks::prefs::kManagedBookmarks, CreateTestTree());
205 CreateModel(true);
bartfab (slow) 2015/01/26 15:40:14 Nit: Add /* is_supervised */
Marc Treib 2015/01/26 16:16:48 Done.
206 EXPECT_TRUE(managed_node()->empty());
207 EXPECT_FALSE(managed_node()->IsVisible());
208 }
209
210 TEST_F(ManagedBookmarksTrackerTest, SupervisedTrackerHandlesSupervisedPref) {
211 prefs_.SetManagedPref(bookmarks::prefs::kSupervisedBookmarks,
212 CreateTestTree());
213 CreateModel(true);
bartfab (slow) 2015/01/26 15:40:14 Nit: Add /* is_supervised */
Marc Treib 2015/01/26 16:16:48 Done.
214 EXPECT_FALSE(managed_node()->empty());
215 EXPECT_TRUE(managed_node()->IsVisible());
216 // Don't bother checking the actual contents, the non-supervised tests cover
bartfab (slow) 2015/01/26 15:40:14 You could parameterize the test and verify that bo
Marc Treib 2015/01/26 16:16:47 Hm. It's not "the test", but "every test in this f
217 // that already.
218 }
219
194 TEST_F(ManagedBookmarksTrackerTest, SwapNodes) { 220 TEST_F(ManagedBookmarksTrackerTest, SwapNodes) {
195 prefs_.SetManagedPref(bookmarks::prefs::kManagedBookmarks, CreateTestTree()); 221 prefs_.SetManagedPref(bookmarks::prefs::kManagedBookmarks, CreateTestTree());
196 CreateModel(); 222 CreateModel();
197 223
198 // Swap the Google bookmark with the Folder. 224 // Swap the Google bookmark with the Folder.
199 scoped_ptr<base::ListValue> updated(CreateTestTree()); 225 scoped_ptr<base::ListValue> updated(CreateTestTree());
200 scoped_ptr<base::Value> removed; 226 scoped_ptr<base::Value> removed;
201 ASSERT_TRUE(updated->Remove(0, &removed)); 227 ASSERT_TRUE(updated->Remove(0, &removed));
202 updated->Append(removed.release()); 228 updated->Append(removed.release());
203 229
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 Mock::VerifyAndClearExpectations(&observer_); 340 Mock::VerifyAndClearExpectations(&observer_);
315 341
316 EXPECT_CALL(observer_, BookmarkAllUserNodesRemoved(model_.get(), _)); 342 EXPECT_CALL(observer_, BookmarkAllUserNodesRemoved(model_.get(), _));
317 model_->RemoveAllUserBookmarks(); 343 model_->RemoveAllUserBookmarks();
318 EXPECT_EQ(2, managed_node()->child_count()); 344 EXPECT_EQ(2, managed_node()->child_count());
319 EXPECT_EQ(0, model_->bookmark_bar_node()->child_count()); 345 EXPECT_EQ(0, model_->bookmark_bar_node()->child_count());
320 Mock::VerifyAndClearExpectations(&observer_); 346 Mock::VerifyAndClearExpectations(&observer_);
321 } 347 }
322 348
323 } // namespace policy 349 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698