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 "base/memory/scoped_ptr.h" | 5 #include "base/memory/scoped_ptr.h" |
6 #include "base/path_service.h" | 6 #include "base/path_service.h" |
7 #include "base/prefs/pref_service.h" | 7 #include "base/prefs/pref_service.h" |
8 #include "base/prefs/scoped_user_pref_update.h" | 8 #include "base/prefs/scoped_user_pref_update.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "chrome/browser/chrome_notification_types.h" | 10 #include "chrome/browser/chrome_notification_types.h" |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
183 profile_ = builder.Build(); | 183 profile_ = builder.Build(); |
184 supervised_user_service_ = | 184 supervised_user_service_ = |
185 SupervisedUserServiceFactory::GetForProfile(profile_.get()); | 185 SupervisedUserServiceFactory::GetForProfile(profile_.get()); |
186 } | 186 } |
187 | 187 |
188 void TearDown() override { profile_.reset(); } | 188 void TearDown() override { profile_.reset(); } |
189 | 189 |
190 ~SupervisedUserServiceTest() override {} | 190 ~SupervisedUserServiceTest() override {} |
191 | 191 |
192 protected: | 192 protected: |
193 void AddAccessRequest(const GURL& url, AsyncResultHolder* result_holder) { | 193 void AddURLAccessRequest(const GURL& url, AsyncResultHolder* result_holder) { |
194 supervised_user_service_->AddAccessRequest( | 194 supervised_user_service_->AddURLAccessRequest( |
195 url, base::Bind(&AsyncResultHolder::SetResult, | 195 url, base::Bind(&AsyncResultHolder::SetResult, |
196 base::Unretained(result_holder))); | 196 base::Unretained(result_holder))); |
197 } | 197 } |
198 | 198 |
199 content::TestBrowserThreadBundle thread_bundle_; | 199 content::TestBrowserThreadBundle thread_bundle_; |
200 scoped_ptr<TestingProfile> profile_; | 200 scoped_ptr<TestingProfile> profile_; |
201 SupervisedUserService* supervised_user_service_; | 201 SupervisedUserService* supervised_user_service_; |
202 }; | 202 }; |
203 | 203 |
204 } // namespace | 204 } // namespace |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
242 ASSERT_LT(index, requested_urls_.size()); | 242 ASSERT_LT(index, requested_urls_.size()); |
243 callbacks_[index].Run(result); | 243 callbacks_[index].Run(result); |
244 callbacks_.erase(callbacks_.begin() + index); | 244 callbacks_.erase(callbacks_.begin() + index); |
245 requested_urls_.erase(requested_urls_.begin() + index); | 245 requested_urls_.erase(requested_urls_.begin() + index); |
246 } | 246 } |
247 | 247 |
248 private: | 248 private: |
249 // PermissionRequestCreator: | 249 // PermissionRequestCreator: |
250 bool IsEnabled() const override { return enabled_; } | 250 bool IsEnabled() const override { return enabled_; } |
251 | 251 |
252 void CreatePermissionRequest(const GURL& url_requested, | 252 void CreateURLAccessRequest(const GURL& url_requested, |
253 const SuccessCallback& callback) override { | 253 const SuccessCallback& callback) override { |
254 ASSERT_TRUE(enabled_); | 254 ASSERT_TRUE(enabled_); |
255 requested_urls_.push_back(url_requested); | 255 requested_urls_.push_back(url_requested); |
256 callbacks_.push_back(callback); | 256 callbacks_.push_back(callback); |
257 } | 257 } |
258 | 258 |
259 void CreateExtensionUpdateRequest(const std::string& extension_id, | |
260 const SuccessCallback& callback) override { | |
Bernhard Bauer
2015/03/02 16:41:56
Add a FAIL()?
Marc Treib
2015/03/02 18:26:00
Done.
| |
261 } | |
262 | |
259 bool enabled_; | 263 bool enabled_; |
260 std::vector<GURL> requested_urls_; | 264 std::vector<GURL> requested_urls_; |
261 std::vector<SuccessCallback> callbacks_; | 265 std::vector<SuccessCallback> callbacks_; |
262 | 266 |
263 DISALLOW_COPY_AND_ASSIGN(MockPermissionRequestCreator); | 267 DISALLOW_COPY_AND_ASSIGN(MockPermissionRequestCreator); |
264 }; | 268 }; |
265 | 269 |
266 } // namespace | 270 } // namespace |
267 | 271 |
268 TEST_F(SupervisedUserServiceTest, CreatePermissionRequest) { | 272 TEST_F(SupervisedUserServiceTest, CreatePermissionRequest) { |
269 GURL url("http://www.example.com"); | 273 GURL url("http://www.example.com"); |
270 | 274 |
271 // Without any permission request creators, it should be disabled, and any | 275 // Without any permission request creators, it should be disabled, and any |
272 // AddAccessRequest() calls should fail. | 276 // AddURLAccessRequest() calls should fail. |
273 EXPECT_FALSE(supervised_user_service_->AccessRequestsEnabled()); | 277 EXPECT_FALSE(supervised_user_service_->AccessRequestsEnabled()); |
274 { | 278 { |
275 AsyncResultHolder result_holder; | 279 AsyncResultHolder result_holder; |
276 AddAccessRequest(url, &result_holder); | 280 AddURLAccessRequest(url, &result_holder); |
277 EXPECT_FALSE(result_holder.GetResult()); | 281 EXPECT_FALSE(result_holder.GetResult()); |
278 } | 282 } |
279 | 283 |
280 // Add a disabled permission request creator. This should not change anything. | 284 // Add a disabled permission request creator. This should not change anything. |
281 MockPermissionRequestCreator* creator = new MockPermissionRequestCreator; | 285 MockPermissionRequestCreator* creator = new MockPermissionRequestCreator; |
282 supervised_user_service_->AddPermissionRequestCreator( | 286 supervised_user_service_->AddPermissionRequestCreator( |
283 make_scoped_ptr(creator)); | 287 make_scoped_ptr(creator)); |
284 | 288 |
285 EXPECT_FALSE(supervised_user_service_->AccessRequestsEnabled()); | 289 EXPECT_FALSE(supervised_user_service_->AccessRequestsEnabled()); |
286 { | 290 { |
287 AsyncResultHolder result_holder; | 291 AsyncResultHolder result_holder; |
288 AddAccessRequest(url, &result_holder); | 292 AddURLAccessRequest(url, &result_holder); |
289 EXPECT_FALSE(result_holder.GetResult()); | 293 EXPECT_FALSE(result_holder.GetResult()); |
290 } | 294 } |
291 | 295 |
292 // Enable the permission request creator. This should enable permission | 296 // Enable the permission request creator. This should enable permission |
293 // requests and queue them up. | 297 // requests and queue them up. |
294 creator->set_enabled(true); | 298 creator->set_enabled(true); |
295 EXPECT_TRUE(supervised_user_service_->AccessRequestsEnabled()); | 299 EXPECT_TRUE(supervised_user_service_->AccessRequestsEnabled()); |
296 { | 300 { |
297 AsyncResultHolder result_holder; | 301 AsyncResultHolder result_holder; |
298 AddAccessRequest(url, &result_holder); | 302 AddURLAccessRequest(url, &result_holder); |
299 ASSERT_EQ(1u, creator->requested_urls().size()); | 303 ASSERT_EQ(1u, creator->requested_urls().size()); |
300 EXPECT_EQ(url.spec(), creator->requested_urls()[0].spec()); | 304 EXPECT_EQ(url.spec(), creator->requested_urls()[0].spec()); |
301 | 305 |
302 creator->AnswerRequest(0, true); | 306 creator->AnswerRequest(0, true); |
303 EXPECT_TRUE(result_holder.GetResult()); | 307 EXPECT_TRUE(result_holder.GetResult()); |
304 } | 308 } |
305 | 309 |
306 { | 310 { |
307 AsyncResultHolder result_holder; | 311 AsyncResultHolder result_holder; |
308 AddAccessRequest(url, &result_holder); | 312 AddURLAccessRequest(url, &result_holder); |
309 ASSERT_EQ(1u, creator->requested_urls().size()); | 313 ASSERT_EQ(1u, creator->requested_urls().size()); |
310 EXPECT_EQ(url.spec(), creator->requested_urls()[0].spec()); | 314 EXPECT_EQ(url.spec(), creator->requested_urls()[0].spec()); |
311 | 315 |
312 creator->AnswerRequest(0, false); | 316 creator->AnswerRequest(0, false); |
313 EXPECT_FALSE(result_holder.GetResult()); | 317 EXPECT_FALSE(result_holder.GetResult()); |
314 } | 318 } |
315 | 319 |
316 // Add a second permission request creator. | 320 // Add a second permission request creator. |
317 MockPermissionRequestCreator* creator_2 = new MockPermissionRequestCreator; | 321 MockPermissionRequestCreator* creator_2 = new MockPermissionRequestCreator; |
318 creator_2->set_enabled(true); | 322 creator_2->set_enabled(true); |
319 supervised_user_service_->AddPermissionRequestCreator( | 323 supervised_user_service_->AddPermissionRequestCreator( |
320 make_scoped_ptr(creator_2)); | 324 make_scoped_ptr(creator_2)); |
321 | 325 |
322 { | 326 { |
323 AsyncResultHolder result_holder; | 327 AsyncResultHolder result_holder; |
324 AddAccessRequest(url, &result_holder); | 328 AddURLAccessRequest(url, &result_holder); |
325 ASSERT_EQ(1u, creator->requested_urls().size()); | 329 ASSERT_EQ(1u, creator->requested_urls().size()); |
326 EXPECT_EQ(url.spec(), creator->requested_urls()[0].spec()); | 330 EXPECT_EQ(url.spec(), creator->requested_urls()[0].spec()); |
327 | 331 |
328 // Make the first creator succeed. This should make the whole thing succeed. | 332 // Make the first creator succeed. This should make the whole thing succeed. |
329 creator->AnswerRequest(0, true); | 333 creator->AnswerRequest(0, true); |
330 EXPECT_TRUE(result_holder.GetResult()); | 334 EXPECT_TRUE(result_holder.GetResult()); |
331 } | 335 } |
332 | 336 |
333 { | 337 { |
334 AsyncResultHolder result_holder; | 338 AsyncResultHolder result_holder; |
335 AddAccessRequest(url, &result_holder); | 339 AddURLAccessRequest(url, &result_holder); |
336 ASSERT_EQ(1u, creator->requested_urls().size()); | 340 ASSERT_EQ(1u, creator->requested_urls().size()); |
337 EXPECT_EQ(url.spec(), creator->requested_urls()[0].spec()); | 341 EXPECT_EQ(url.spec(), creator->requested_urls()[0].spec()); |
338 | 342 |
339 // Make the first creator fail. This should fall back to the second one. | 343 // Make the first creator fail. This should fall back to the second one. |
340 creator->AnswerRequest(0, false); | 344 creator->AnswerRequest(0, false); |
341 ASSERT_EQ(1u, creator_2->requested_urls().size()); | 345 ASSERT_EQ(1u, creator_2->requested_urls().size()); |
342 EXPECT_EQ(url.spec(), creator_2->requested_urls()[0].spec()); | 346 EXPECT_EQ(url.spec(), creator_2->requested_urls()[0].spec()); |
343 | 347 |
344 // Make the second creator succeed, which will make the whole thing succeed. | 348 // Make the second creator succeed, which will make the whole thing succeed. |
345 creator_2->AnswerRequest(0, true); | 349 creator_2->AnswerRequest(0, true); |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
571 ASSERT_EQ(1u, site_list_observer_.sites().size()); | 575 ASSERT_EQ(1u, site_list_observer_.sites().size()); |
572 EXPECT_EQ(base::ASCIIToUTF16("Moose"), site_list_observer_.sites()[0].name); | 576 EXPECT_EQ(base::ASCIIToUTF16("Moose"), site_list_observer_.sites()[0].name); |
573 | 577 |
574 url_filter_observer_.Wait(); | 578 url_filter_observer_.Wait(); |
575 EXPECT_EQ(SupervisedUserURLFilter::WARN, | 579 EXPECT_EQ(SupervisedUserURLFilter::WARN, |
576 url_filter->GetFilteringBehaviorForURL(example_url)); | 580 url_filter->GetFilteringBehaviorForURL(example_url)); |
577 EXPECT_EQ(SupervisedUserURLFilter::ALLOW, | 581 EXPECT_EQ(SupervisedUserURLFilter::ALLOW, |
578 url_filter->GetFilteringBehaviorForURL(moose_url)); | 582 url_filter->GetFilteringBehaviorForURL(moose_url)); |
579 } | 583 } |
580 #endif // defined(ENABLE_EXTENSIONS) | 584 #endif // defined(ENABLE_EXTENSIONS) |
OLD | NEW |