OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |