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

Side by Side Diff: chrome/browser/supervised_user/supervised_user_whitelist_service_unittest.cc

Issue 1443033004: Supervised User whitelists: update to json format v2 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove l10n Created 5 years, 1 month 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 <map> 5 #include <map>
6 #include <set> 6 #include <set>
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 28 matching lines...) Expand all
39 : public component_updater::SupervisedUserWhitelistInstaller { 39 : public component_updater::SupervisedUserWhitelistInstaller {
40 public: 40 public:
41 MockSupervisedUserWhitelistInstaller() {} 41 MockSupervisedUserWhitelistInstaller() {}
42 ~MockSupervisedUserWhitelistInstaller() override {} 42 ~MockSupervisedUserWhitelistInstaller() override {}
43 43
44 const std::set<std::string>& registered_whitelists() { 44 const std::set<std::string>& registered_whitelists() {
45 return registered_whitelists_; 45 return registered_whitelists_;
46 } 46 }
47 47
48 void NotifyWhitelistReady(const std::string& crx_id, 48 void NotifyWhitelistReady(const std::string& crx_id,
49 const base::string16& title,
49 const base::FilePath& path) { 50 const base::FilePath& path) {
50 for (const auto& callback : ready_callbacks_) 51 for (const auto& callback : ready_callbacks_)
51 callback.Run(crx_id, path); 52 callback.Run(crx_id, title, path);
52 } 53 }
53 54
54 // SupervisedUserWhitelistInstaller implementation: 55 // SupervisedUserWhitelistInstaller implementation:
55 void RegisterComponents() override {} 56 void RegisterComponents() override {}
56 57
57 void Subscribe(const WhitelistReadyCallback& callback) override { 58 void Subscribe(const WhitelistReadyCallback& callback) override {
58 ready_callbacks_.push_back(callback); 59 ready_callbacks_.push_back(callback);
59 } 60 }
60 61
61 void RegisterWhitelist(const std::string& client_id, 62 void RegisterWhitelist(const std::string& client_id,
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 service_->Init(); 191 service_->Init();
191 EXPECT_EQ(0u, site_lists_.size()); 192 EXPECT_EQ(0u, site_lists_.size());
192 193
193 // Notify that whitelist A is ready. 194 // Notify that whitelist A is ready.
194 base::RunLoop run_loop; 195 base::RunLoop run_loop;
195 site_lists_changed_callback_ = run_loop.QuitClosure(); 196 site_lists_changed_callback_ = run_loop.QuitClosure();
196 base::FilePath test_data_dir; 197 base::FilePath test_data_dir;
197 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir)); 198 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir));
198 base::FilePath whitelist_path = 199 base::FilePath whitelist_path =
199 test_data_dir.AppendASCII("whitelists/content_pack/site_list.json"); 200 test_data_dir.AppendASCII("whitelists/content_pack/site_list.json");
200 installer_->NotifyWhitelistReady("aaaa", whitelist_path); 201 installer_->NotifyWhitelistReady("aaaa", base::ASCIIToUTF16("Title"),
202 whitelist_path);
201 run_loop.Run(); 203 run_loop.Run();
202 204
203 ASSERT_EQ(1u, site_lists_.size()); 205 ASSERT_EQ(1u, site_lists_.size());
204 const std::vector<SupervisedUserSiteList::Site>& sites = 206 EXPECT_EQ(base::ASCIIToUTF16("Title"), site_lists_[0]->title());
205 site_lists_[0]->sites(); 207 EXPECT_EQ(4u, site_lists_[0]->patterns().size());
206 EXPECT_EQ(3u, sites.size());
207 EXPECT_EQ("YouTube", base::UTF16ToUTF8(sites[0].name));
208 208
209 // Do the initial merge. One item should be added (whitelist C), one should be 209 // Do the initial merge. One item should be added (whitelist C), one should be
210 // modified (whitelist B), and one item should be removed (whitelist A). 210 // modified (whitelist B), and one item should be removed (whitelist A).
211 syncer::SyncDataList initial_data; 211 syncer::SyncDataList initial_data;
212 initial_data.push_back( 212 initial_data.push_back(
213 SupervisedUserWhitelistService::CreateWhitelistSyncData( 213 SupervisedUserWhitelistService::CreateWhitelistSyncData(
214 "bbbb", "Whitelist B New")); 214 "bbbb", "Whitelist B New"));
215 initial_data.push_back( 215 initial_data.push_back(
216 SupervisedUserWhitelistService::CreateWhitelistSyncData( 216 SupervisedUserWhitelistService::CreateWhitelistSyncData(
217 "cccc", "Whitelist C")); 217 "cccc", "Whitelist C"));
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 FROM_HERE, syncer::SyncChange::ACTION_DELETE, 252 FROM_HERE, syncer::SyncChange::ACTION_DELETE,
253 SupervisedUserWhitelistService::CreateWhitelistSyncData( 253 SupervisedUserWhitelistService::CreateWhitelistSyncData(
254 "aaaa", "Ignored"))); 254 "aaaa", "Ignored")));
255 syncer::SyncError error = service_->ProcessSyncChanges(FROM_HERE, changes); 255 syncer::SyncError error = service_->ProcessSyncChanges(FROM_HERE, changes);
256 EXPECT_FALSE(error.IsSet()); 256 EXPECT_FALSE(error.IsSet());
257 257
258 EXPECT_EQ(0u, site_lists_.size()); 258 EXPECT_EQ(0u, site_lists_.size());
259 259
260 // If whitelist A now becomes ready, it should be ignored. 260 // If whitelist A now becomes ready, it should be ignored.
261 installer_->NotifyWhitelistReady( 261 installer_->NotifyWhitelistReady(
262 "aaaa", base::FilePath(FILE_PATH_LITERAL("/path/to/aaaa"))); 262 "aaaa", base::ASCIIToUTF16("Title"),
263 base::FilePath(FILE_PATH_LITERAL("/path/to/aaaa")));
263 EXPECT_EQ(0u, site_lists_.size()); 264 EXPECT_EQ(0u, site_lists_.size());
264 265
265 CheckFinalStateAndPreferences(); 266 CheckFinalStateAndPreferences();
266 } 267 }
267 268
268 TEST_F(SupervisedUserWhitelistServiceTest, GetAllSyncData) { 269 TEST_F(SupervisedUserWhitelistServiceTest, GetAllSyncData) {
269 PrepareInitialStateAndPreferences(); 270 PrepareInitialStateAndPreferences();
270 271
271 syncer::SyncDataList sync_data = 272 syncer::SyncDataList sync_data =
272 service_->GetAllSyncData(syncer::SUPERVISED_USER_WHITELISTS); 273 service_->GetAllSyncData(syncer::SUPERVISED_USER_WHITELISTS);
273 ASSERT_EQ(2u, sync_data.size()); 274 ASSERT_EQ(2u, sync_data.size());
274 const sync_pb::ManagedUserWhitelistSpecifics* whitelist = 275 const sync_pb::ManagedUserWhitelistSpecifics* whitelist =
275 FindWhitelist(sync_data, "aaaa"); 276 FindWhitelist(sync_data, "aaaa");
276 ASSERT_TRUE(whitelist); 277 ASSERT_TRUE(whitelist);
277 EXPECT_EQ("Whitelist A", whitelist->name()); 278 EXPECT_EQ("Whitelist A", whitelist->name());
278 whitelist = FindWhitelist(sync_data, "bbbb"); 279 whitelist = FindWhitelist(sync_data, "bbbb");
279 ASSERT_TRUE(whitelist); 280 ASSERT_TRUE(whitelist);
280 EXPECT_EQ("Whitelist B", whitelist->name()); 281 EXPECT_EQ("Whitelist B", whitelist->name());
281 } 282 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698