OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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/variations/service/variations_service.h" | 5 #include "components/variations/service/variations_service.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/base64.h" | 11 #include "base/base64.h" |
12 #include "base/feature_list.h" | 12 #include "base/feature_list.h" |
13 #include "base/json/json_string_value_serializer.h" | 13 #include "base/json/json_string_value_serializer.h" |
14 #include "base/macros.h" | 14 #include "base/macros.h" |
15 #include "base/message_loop/message_loop.h" | 15 #include "base/message_loop/message_loop.h" |
16 #include "base/prefs/testing_pref_service.h" | 16 #include "base/prefs/testing_pref_service.h" |
17 #include "base/sha1.h" | 17 #include "base/sha1.h" |
18 #include "base/strings/string_number_conversions.h" | 18 #include "base/strings/string_number_conversions.h" |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 DISALLOW_COPY_AND_ASSIGN(TestVariationsServiceClient); | 73 DISALLOW_COPY_AND_ASSIGN(TestVariationsServiceClient); |
74 }; | 74 }; |
75 | 75 |
76 // A test class used to validate expected functionality in VariationsService. | 76 // A test class used to validate expected functionality in VariationsService. |
77 class TestVariationsService : public VariationsService { | 77 class TestVariationsService : public VariationsService { |
78 public: | 78 public: |
79 TestVariationsService( | 79 TestVariationsService( |
80 scoped_ptr<web_resource::TestRequestAllowedNotifier> test_notifier, | 80 scoped_ptr<web_resource::TestRequestAllowedNotifier> test_notifier, |
81 PrefService* local_state) | 81 PrefService* local_state) |
82 : VariationsService(make_scoped_ptr(new TestVariationsServiceClient()), | 82 : VariationsService(make_scoped_ptr(new TestVariationsServiceClient()), |
83 test_notifier.Pass(), | 83 std::move(test_notifier), |
84 local_state, | 84 local_state, |
85 NULL, | 85 NULL, |
86 UIStringOverrider()), | 86 UIStringOverrider()), |
87 intercepts_fetch_(true), | 87 intercepts_fetch_(true), |
88 fetch_attempted_(false), | 88 fetch_attempted_(false), |
89 seed_stored_(false), | 89 seed_stored_(false), |
90 delta_compressed_seed_(false), | 90 delta_compressed_seed_(false), |
91 gzip_compressed_seed_(false) { | 91 gzip_compressed_seed_(false) { |
92 // Set this so StartRepeatedVariationsSeedFetch can be called in tests. | 92 // Set this so StartRepeatedVariationsSeedFetch can be called in tests. |
93 SetCreateTrialsFromSeedCalledForTesting(true); | 93 SetCreateTrialsFromSeedCalledForTesting(true); |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
353 TestingPrefServiceSimple prefs; | 353 TestingPrefServiceSimple prefs; |
354 VariationsService::RegisterPrefs(prefs.registry()); | 354 VariationsService::RegisterPrefs(prefs.registry()); |
355 const std::string default_variations_url = | 355 const std::string default_variations_url = |
356 VariationsService::GetDefaultVariationsServerURLForTesting(); | 356 VariationsService::GetDefaultVariationsServerURLForTesting(); |
357 | 357 |
358 std::string value; | 358 std::string value; |
359 scoped_ptr<TestVariationsServiceClient> client = | 359 scoped_ptr<TestVariationsServiceClient> client = |
360 make_scoped_ptr(new TestVariationsServiceClient()); | 360 make_scoped_ptr(new TestVariationsServiceClient()); |
361 TestVariationsServiceClient* raw_client = client.get(); | 361 TestVariationsServiceClient* raw_client = client.get(); |
362 VariationsService service( | 362 VariationsService service( |
363 client.Pass(), | 363 std::move(client), |
364 make_scoped_ptr(new web_resource::TestRequestAllowedNotifier(&prefs)), | 364 make_scoped_ptr(new web_resource::TestRequestAllowedNotifier(&prefs)), |
365 &prefs, NULL, UIStringOverrider()); | 365 &prefs, NULL, UIStringOverrider()); |
366 GURL url = service.GetVariationsServerURL(&prefs, std::string()); | 366 GURL url = service.GetVariationsServerURL(&prefs, std::string()); |
367 EXPECT_TRUE(base::StartsWith(url.spec(), default_variations_url, | 367 EXPECT_TRUE(base::StartsWith(url.spec(), default_variations_url, |
368 base::CompareCase::SENSITIVE)); | 368 base::CompareCase::SENSITIVE)); |
369 EXPECT_FALSE(net::GetValueForKeyInQuery(url, "restrict", &value)); | 369 EXPECT_FALSE(net::GetValueForKeyInQuery(url, "restrict", &value)); |
370 | 370 |
371 prefs.SetString(prefs::kVariationsRestrictParameter, "restricted"); | 371 prefs.SetString(prefs::kVariationsRestrictParameter, "restricted"); |
372 url = service.GetVariationsServerURL(&prefs, std::string()); | 372 url = service.GetVariationsServerURL(&prefs, std::string()); |
373 EXPECT_TRUE(base::StartsWith(url.spec(), default_variations_url, | 373 EXPECT_TRUE(base::StartsWith(url.spec(), default_variations_url, |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
407 | 407 |
408 TEST_F(VariationsServiceTest, RequestsInitiallyNotAllowed) { | 408 TEST_F(VariationsServiceTest, RequestsInitiallyNotAllowed) { |
409 TestingPrefServiceSimple prefs; | 409 TestingPrefServiceSimple prefs; |
410 VariationsService::RegisterPrefs(prefs.registry()); | 410 VariationsService::RegisterPrefs(prefs.registry()); |
411 | 411 |
412 // Pass ownership to TestVariationsService, but keep a weak pointer to | 412 // Pass ownership to TestVariationsService, but keep a weak pointer to |
413 // manipulate it for this test. | 413 // manipulate it for this test. |
414 scoped_ptr<web_resource::TestRequestAllowedNotifier> test_notifier = | 414 scoped_ptr<web_resource::TestRequestAllowedNotifier> test_notifier = |
415 make_scoped_ptr(new web_resource::TestRequestAllowedNotifier(&prefs)); | 415 make_scoped_ptr(new web_resource::TestRequestAllowedNotifier(&prefs)); |
416 web_resource::TestRequestAllowedNotifier* raw_notifier = test_notifier.get(); | 416 web_resource::TestRequestAllowedNotifier* raw_notifier = test_notifier.get(); |
417 TestVariationsService test_service(test_notifier.Pass(), &prefs); | 417 TestVariationsService test_service(std::move(test_notifier), &prefs); |
418 | 418 |
419 // Force the notifier to initially disallow requests. | 419 // Force the notifier to initially disallow requests. |
420 raw_notifier->SetRequestsAllowedOverride(false); | 420 raw_notifier->SetRequestsAllowedOverride(false); |
421 test_service.StartRepeatedVariationsSeedFetch(); | 421 test_service.StartRepeatedVariationsSeedFetch(); |
422 EXPECT_FALSE(test_service.fetch_attempted()); | 422 EXPECT_FALSE(test_service.fetch_attempted()); |
423 | 423 |
424 raw_notifier->NotifyObserver(); | 424 raw_notifier->NotifyObserver(); |
425 EXPECT_TRUE(test_service.fetch_attempted()); | 425 EXPECT_TRUE(test_service.fetch_attempted()); |
426 } | 426 } |
427 | 427 |
428 TEST_F(VariationsServiceTest, RequestsInitiallyAllowed) { | 428 TEST_F(VariationsServiceTest, RequestsInitiallyAllowed) { |
429 TestingPrefServiceSimple prefs; | 429 TestingPrefServiceSimple prefs; |
430 VariationsService::RegisterPrefs(prefs.registry()); | 430 VariationsService::RegisterPrefs(prefs.registry()); |
431 | 431 |
432 // Pass ownership to TestVariationsService, but keep a weak pointer to | 432 // Pass ownership to TestVariationsService, but keep a weak pointer to |
433 // manipulate it for this test. | 433 // manipulate it for this test. |
434 scoped_ptr<web_resource::TestRequestAllowedNotifier> test_notifier = | 434 scoped_ptr<web_resource::TestRequestAllowedNotifier> test_notifier = |
435 make_scoped_ptr(new web_resource::TestRequestAllowedNotifier(&prefs)); | 435 make_scoped_ptr(new web_resource::TestRequestAllowedNotifier(&prefs)); |
436 web_resource::TestRequestAllowedNotifier* raw_notifier = test_notifier.get(); | 436 web_resource::TestRequestAllowedNotifier* raw_notifier = test_notifier.get(); |
437 TestVariationsService test_service(test_notifier.Pass(), &prefs); | 437 TestVariationsService test_service(std::move(test_notifier), &prefs); |
438 | 438 |
439 raw_notifier->SetRequestsAllowedOverride(true); | 439 raw_notifier->SetRequestsAllowedOverride(true); |
440 test_service.StartRepeatedVariationsSeedFetch(); | 440 test_service.StartRepeatedVariationsSeedFetch(); |
441 EXPECT_TRUE(test_service.fetch_attempted()); | 441 EXPECT_TRUE(test_service.fetch_attempted()); |
442 } | 442 } |
443 | 443 |
444 TEST_F(VariationsServiceTest, SeedStoredWhenOKStatus) { | 444 TEST_F(VariationsServiceTest, SeedStoredWhenOKStatus) { |
445 TestingPrefServiceSimple prefs; | 445 TestingPrefServiceSimple prefs; |
446 VariationsService::RegisterPrefs(prefs.registry()); | 446 VariationsService::RegisterPrefs(prefs.registry()); |
447 | 447 |
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
719 << test.pref_value_before << ", " << test.version << ", " | 719 << test.pref_value_before << ", " << test.version << ", " |
720 << test.latest_country_code; | 720 << test.latest_country_code; |
721 | 721 |
722 histogram_tester.ExpectUniqueSample( | 722 histogram_tester.ExpectUniqueSample( |
723 "Variations.LoadPermanentConsistencyCountryResult", | 723 "Variations.LoadPermanentConsistencyCountryResult", |
724 test.expected_result, 1); | 724 test.expected_result, 1); |
725 } | 725 } |
726 } | 726 } |
727 | 727 |
728 } // namespace variations | 728 } // namespace variations |
OLD | NEW |