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

Side by Side Diff: chrome/browser/profile_resetter/automatic_profile_resetter_delegate_unittest.cc

Issue 376413002: Stop using TemplateURLServiceTestUtil to initialize TemplateURLServiceFactory (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Eliminate SetUp() and TearDown() Created 6 years, 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/profile_resetter/automatic_profile_resetter_delegate.h" 5 #include "chrome/browser/profile_resetter/automatic_profile_resetter_delegate.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
11 #include "base/memory/ref_counted.h" 11 #include "base/memory/ref_counted.h"
12 #include "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_ptr.h"
13 #include "base/prefs/pref_service.h" 13 #include "base/prefs/pref_service.h"
14 #include "base/run_loop.h" 14 #include "base/run_loop.h"
15 #include "base/strings/string_number_conversions.h" 15 #include "base/strings/string_number_conversions.h"
16 #include "base/strings/string_split.h" 16 #include "base/strings/string_split.h"
17 #include "base/strings/string_util.h" 17 #include "base/strings/string_util.h"
18 #include "base/strings/utf_string_conversions.h" 18 #include "base/strings/utf_string_conversions.h"
19 #include "base/test/values_test_util.h" 19 #include "base/test/values_test_util.h"
20 #include "base/values.h" 20 #include "base/values.h"
21 #include "chrome/app/chrome_command_ids.h" 21 #include "chrome/app/chrome_command_ids.h"
22 #include "chrome/browser/chrome_notification_types.h" 22 #include "chrome/browser/chrome_notification_types.h"
23 #include "chrome/browser/extensions/extension_service.h" 23 #include "chrome/browser/extensions/extension_service.h"
24 #include "chrome/browser/extensions/extension_service_test_base.h" 24 #include "chrome/browser/extensions/extension_service_test_base.h"
25 #include "chrome/browser/google/google_brand.h" 25 #include "chrome/browser/google/google_brand.h"
26 #include "chrome/browser/profile_resetter/brandcoded_default_settings.h" 26 #include "chrome/browser/profile_resetter/brandcoded_default_settings.h"
27 #include "chrome/browser/profile_resetter/profile_reset_global_error.h" 27 #include "chrome/browser/profile_resetter/profile_reset_global_error.h"
28 #include "chrome/browser/search_engines/template_url_service_factory.h" 28 #include "chrome/browser/search_engines/template_url_service_factory.h"
29 #include "chrome/browser/search_engines/template_url_service_test_util.h" 29 #include "chrome/browser/search_engines/template_url_service_factory_test_util.h "
30 #include "chrome/browser/ui/global_error/global_error.h" 30 #include "chrome/browser/ui/global_error/global_error.h"
31 #include "chrome/browser/ui/global_error/global_error_service.h" 31 #include "chrome/browser/ui/global_error/global_error_service.h"
32 #include "chrome/browser/ui/global_error/global_error_service_factory.h" 32 #include "chrome/browser/ui/global_error/global_error_service_factory.h"
33 #include "chrome/common/pref_names.h" 33 #include "chrome/common/pref_names.h"
34 #include "chrome/test/base/testing_pref_service_syncable.h" 34 #include "chrome/test/base/testing_pref_service_syncable.h"
35 #include "chrome/test/base/testing_profile.h" 35 #include "chrome/test/base/testing_profile.h"
36 #include "components/search_engines/default_search_manager.h" 36 #include "components/search_engines/default_search_manager.h"
37 #include "components/search_engines/template_url_prepopulate_data.h" 37 #include "components/search_engines/template_url_prepopulate_data.h"
38 #include "components/search_engines/template_url_service.h" 38 #include "components/search_engines/template_url_service.h"
39 #include "content/public/browser/notification_service.h" 39 #include "content/public/browser/notification_service.h"
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 } 155 }
156 fetcher->delegate()->OnURLFetchComplete(fetcher); 156 fetcher->delegate()->OnURLFetchComplete(fetcher);
157 } 157 }
158 158
159 159
160 // Test fixture -------------------------------------------------------------- 160 // Test fixture --------------------------------------------------------------
161 161
162 // ExtensionServiceTestBase sets up a TestingProfile with the ExtensionService, 162 // ExtensionServiceTestBase sets up a TestingProfile with the ExtensionService,
163 // we then add the TemplateURLService, so the ProfileResetter can be exercised. 163 // we then add the TemplateURLService, so the ProfileResetter can be exercised.
164 class AutomaticProfileResetterDelegateTest 164 class AutomaticProfileResetterDelegateTest
165 : public extensions::ExtensionServiceTestBase, 165 : public extensions::ExtensionServiceTestBase {
166 public TemplateURLServiceTestUtilBase {
167 protected: 166 protected:
168 AutomaticProfileResetterDelegateTest() {} 167 AutomaticProfileResetterDelegateTest() {}
169 virtual ~AutomaticProfileResetterDelegateTest() {} 168 virtual ~AutomaticProfileResetterDelegateTest() {}
170 169
171 virtual void SetUp() OVERRIDE { 170 virtual void SetUp() OVERRIDE {
172 extensions::ExtensionServiceTestBase::SetUp(); 171 extensions::ExtensionServiceTestBase::SetUp();
173 ExtensionServiceInitParams params = CreateDefaultInitParams(); 172 ExtensionServiceInitParams params = CreateDefaultInitParams();
174 params.pref_file.clear(); // Prescribes a TestingPrefService to be created. 173 params.pref_file.clear(); // Prescribes a TestingPrefService to be created.
175 InitializeExtensionService(params); 174 InitializeExtensionService(params);
176 TemplateURLServiceTestUtilBase::CreateTemplateUrlService(); 175 util_.reset(new TemplateURLServiceFactoryTestUtil(profile_.get()));
177 resetter_delegate_.reset( 176 resetter_delegate_.reset(
178 new AutomaticProfileResetterDelegateUnderTest(profile())); 177 new AutomaticProfileResetterDelegateUnderTest(profile()));
179 } 178 }
180 179
181 virtual void TearDown() OVERRIDE { 180 virtual void TearDown() OVERRIDE {
182 resetter_delegate_.reset(); 181 resetter_delegate_.reset();
182 util_.reset();
183 extensions::ExtensionServiceTestBase::TearDown(); 183 extensions::ExtensionServiceTestBase::TearDown();
184 } 184 }
185 185
186 scoped_ptr<TemplateURL> CreateTestTemplateURL() { 186 scoped_ptr<TemplateURL> CreateTestTemplateURL() {
187 TemplateURLData data; 187 TemplateURLData data;
188 188
189 data.SetURL("http://example.com/search?q={searchTerms}"); 189 data.SetURL("http://example.com/search?q={searchTerms}");
190 data.suggestions_url = "http://example.com/suggest?q={searchTerms}"; 190 data.suggestions_url = "http://example.com/suggest?q={searchTerms}";
191 data.instant_url = "http://example.com/instant?q={searchTerms}"; 191 data.instant_url = "http://example.com/instant?q={searchTerms}";
192 data.image_url = "http://example.com/image?q={searchTerms}"; 192 data.image_url = "http://example.com/image?q={searchTerms}";
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 GlobalErrorServiceFactory::GetForProfile(profile()); 226 GlobalErrorServiceFactory::GetForProfile(profile());
227 GlobalError* global_error = global_error_service-> 227 GlobalError* global_error = global_error_service->
228 GetGlobalErrorByMenuItemCommandID(IDC_SHOW_SETTINGS_RESET_BUBBLE); 228 GetGlobalErrorByMenuItemCommandID(IDC_SHOW_SETTINGS_RESET_BUBBLE);
229 EXPECT_EQ(active, !!global_error); 229 EXPECT_EQ(active, !!global_error);
230 } 230 }
231 231
232 AutomaticProfileResetterDelegateUnderTest* resetter_delegate() { 232 AutomaticProfileResetterDelegateUnderTest* resetter_delegate() {
233 return resetter_delegate_.get(); 233 return resetter_delegate_.get();
234 } 234 }
235 235
236 // TemplateURLServiceTestUtilBase: 236 TemplateURLServiceFactoryTestUtil* util() { return util_.get(); }
237 virtual TestingProfile* profile() const OVERRIDE { return profile_.get(); }
238 237
239 private: 238 private:
239 scoped_ptr<TemplateURLServiceFactoryTestUtil> util_;
engedy 2014/07/16 08:21:09 nit: Could you please rename this to be a bit more
hashimoto 2014/07/16 09:04:41 Done.
240 net::TestURLFetcherFactory test_url_fetcher_factory_; 240 net::TestURLFetcherFactory test_url_fetcher_factory_;
241 scoped_ptr<AutomaticProfileResetterDelegateUnderTest> resetter_delegate_; 241 scoped_ptr<AutomaticProfileResetterDelegateUnderTest> resetter_delegate_;
242 242
243 DISALLOW_COPY_AND_ASSIGN(AutomaticProfileResetterDelegateTest); 243 DISALLOW_COPY_AND_ASSIGN(AutomaticProfileResetterDelegateTest);
244 }; 244 };
245 245
246 246
247 // Tests --------------------------------------------------------------------- 247 // Tests ---------------------------------------------------------------------
248 248
249 TEST_F(AutomaticProfileResetterDelegateTest, 249 TEST_F(AutomaticProfileResetterDelegateTest,
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 EXPECT_CALL(mock_target, Run()); 339 EXPECT_CALL(mock_target, Run());
340 late_resetter_delegate->RequestCallbackWhenTemplateURLServiceIsLoaded( 340 late_resetter_delegate->RequestCallbackWhenTemplateURLServiceIsLoaded(
341 mock_target.CreateClosure()); 341 mock_target.CreateClosure());
342 base::RunLoop().RunUntilIdle(); 342 base::RunLoop().RunUntilIdle();
343 } 343 }
344 344
345 TEST_F(AutomaticProfileResetterDelegateTest, 345 TEST_F(AutomaticProfileResetterDelegateTest,
346 DefaultSearchProviderDataWhenNotManaged) { 346 DefaultSearchProviderDataWhenNotManaged) {
347 TemplateURLService* template_url_service = 347 TemplateURLService* template_url_service =
348 TemplateURLServiceFactory::GetForProfile(profile()); 348 TemplateURLServiceFactory::GetForProfile(profile());
349 TemplateURLServiceTestUtilBase::VerifyLoad(); 349 util()->VerifyLoad();
350 350
351 // Check that the "managed state" and the details returned by the delegate are 351 // Check that the "managed state" and the details returned by the delegate are
352 // correct. We verify the details against the data stored by 352 // correct. We verify the details against the data stored by
353 // TemplateURLService into Prefs. 353 // TemplateURLService into Prefs.
354 scoped_ptr<TemplateURL> owned_custom_dsp(CreateTestTemplateURL()); 354 scoped_ptr<TemplateURL> owned_custom_dsp(CreateTestTemplateURL());
355 TemplateURL* custom_dsp = owned_custom_dsp.get(); 355 TemplateURL* custom_dsp = owned_custom_dsp.get();
356 template_url_service->Add(owned_custom_dsp.release()); 356 template_url_service->Add(owned_custom_dsp.release());
357 template_url_service->SetUserSelectedDefaultSearchProvider(custom_dsp); 357 template_url_service->SetUserSelectedDefaultSearchProvider(custom_dsp);
358 358
359 PrefService* prefs = profile()->GetPrefs(); 359 PrefService* prefs = profile()->GetPrefs();
360 ASSERT_TRUE(prefs); 360 ASSERT_TRUE(prefs);
361 scoped_ptr<base::DictionaryValue> dsp_details( 361 scoped_ptr<base::DictionaryValue> dsp_details(
362 resetter_delegate()->GetDefaultSearchProviderDetails()); 362 resetter_delegate()->GetDefaultSearchProviderDetails());
363 const base::DictionaryValue* expected_dsp_details = 363 const base::DictionaryValue* expected_dsp_details =
364 GetDefaultSearchProviderDetailsFromPrefs(prefs); 364 GetDefaultSearchProviderDetailsFromPrefs(prefs);
365 365
366 ExpectDetailsMatch(*expected_dsp_details, *dsp_details); 366 ExpectDetailsMatch(*expected_dsp_details, *dsp_details);
367 EXPECT_FALSE(resetter_delegate()->IsDefaultSearchProviderManaged()); 367 EXPECT_FALSE(resetter_delegate()->IsDefaultSearchProviderManaged());
368 } 368 }
369 369
370 TEST_F(AutomaticProfileResetterDelegateTest, 370 TEST_F(AutomaticProfileResetterDelegateTest,
371 DefaultSearchProviderDataWhenManaged) { 371 DefaultSearchProviderDataWhenManaged) {
372 const char kTestSearchURL[] = "http://example.com/search?q={searchTerms}"; 372 const char kTestSearchURL[] = "http://example.com/search?q={searchTerms}";
373 const char kTestName[] = "name"; 373 const char kTestName[] = "name";
374 const char kTestKeyword[] = "keyword"; 374 const char kTestKeyword[] = "keyword";
375 375
376 TemplateURLServiceTestUtilBase::VerifyLoad(); 376 util()->VerifyLoad();
377 377
378 EXPECT_FALSE(resetter_delegate()->IsDefaultSearchProviderManaged()); 378 EXPECT_FALSE(resetter_delegate()->IsDefaultSearchProviderManaged());
379 379
380 // Set managed preferences to emulate a default search provider set by policy. 380 // Set managed preferences to emulate a default search provider set by policy.
381 SetManagedDefaultSearchPreferences( 381 util()->SetManagedDefaultSearchPreferences(
382 true, kTestName, kTestKeyword, kTestSearchURL, std::string(), 382 true, kTestName, kTestKeyword, kTestSearchURL, std::string(),
383 std::string(), std::string(), std::string(), std::string()); 383 std::string(), std::string(), std::string(), std::string());
384 384
385 EXPECT_TRUE(resetter_delegate()->IsDefaultSearchProviderManaged()); 385 EXPECT_TRUE(resetter_delegate()->IsDefaultSearchProviderManaged());
386 scoped_ptr<base::DictionaryValue> dsp_details( 386 scoped_ptr<base::DictionaryValue> dsp_details(
387 resetter_delegate()->GetDefaultSearchProviderDetails()); 387 resetter_delegate()->GetDefaultSearchProviderDetails());
388 // Checking that all details are correct is already done by the above test. 388 // Checking that all details are correct is already done by the above test.
389 // Just make sure details are reported about the correct engine. 389 // Just make sure details are reported about the correct engine.
390 base::ExpectDictStringValue(kTestSearchURL, *dsp_details, "search_url"); 390 base::ExpectDictStringValue(kTestSearchURL, *dsp_details, "search_url");
391 391
392 // Set managed preferences to emulate that having a default search provider is 392 // Set managed preferences to emulate that having a default search provider is
393 // disabled by policy. 393 // disabled by policy.
394 RemoveManagedDefaultSearchPreferences(); 394 util()->RemoveManagedDefaultSearchPreferences();
395 SetManagedDefaultSearchPreferences( 395 util()->SetManagedDefaultSearchPreferences(
396 false, std::string(), std::string(), std::string(), std::string(), 396 false, std::string(), std::string(), std::string(), std::string(),
397 std::string(), std::string(), std::string(), std::string()); 397 std::string(), std::string(), std::string(), std::string());
398 398
399 dsp_details = resetter_delegate()->GetDefaultSearchProviderDetails(); 399 dsp_details = resetter_delegate()->GetDefaultSearchProviderDetails();
400 EXPECT_TRUE(resetter_delegate()->IsDefaultSearchProviderManaged()); 400 EXPECT_TRUE(resetter_delegate()->IsDefaultSearchProviderManaged());
401 EXPECT_TRUE(dsp_details->empty()); 401 EXPECT_TRUE(dsp_details->empty());
402 } 402 }
403 403
404 TEST_F(AutomaticProfileResetterDelegateTest, 404 TEST_F(AutomaticProfileResetterDelegateTest,
405 GetPrepopulatedSearchProvidersDetails) { 405 GetPrepopulatedSearchProvidersDetails) {
406 TemplateURLService* template_url_service = 406 TemplateURLService* template_url_service =
407 TemplateURLServiceFactory::GetForProfile(profile()); 407 TemplateURLServiceFactory::GetForProfile(profile());
408 TemplateURLServiceTestUtilBase::VerifyLoad(); 408 util()->VerifyLoad();
409 409
410 scoped_ptr<base::ListValue> search_engines_details( 410 scoped_ptr<base::ListValue> search_engines_details(
411 resetter_delegate()->GetPrepopulatedSearchProvidersDetails()); 411 resetter_delegate()->GetPrepopulatedSearchProvidersDetails());
412 412
413 // Do the same kind of verification as for GetDefaultSearchEngineDetails: 413 // Do the same kind of verification as for GetDefaultSearchEngineDetails:
414 // subsequently set each pre-populated engine as the default, so we can verify 414 // subsequently set each pre-populated engine as the default, so we can verify
415 // that the details returned by the delegate about one particular engine are 415 // that the details returned by the delegate about one particular engine are
416 // correct in comparison to what has been stored to the Prefs. 416 // correct in comparison to what has been stored to the Prefs.
417 std::vector<TemplateURL*> prepopulated_engines = 417 std::vector<TemplateURL*> prepopulated_engines =
418 template_url_service->GetTemplateURLs(); 418 template_url_service->GetTemplateURLs();
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
596 if (ProfileResetGlobalError::IsSupportedOnPlatform()) 596 if (ProfileResetGlobalError::IsSupportedOnPlatform())
597 ExpectResetPromptState(true /*active*/); 597 ExpectResetPromptState(true /*active*/);
598 else 598 else
599 ExpectResetPromptState(false /*active*/); 599 ExpectResetPromptState(false /*active*/);
600 resetter_delegate()->DismissPrompt(); 600 resetter_delegate()->DismissPrompt();
601 ExpectResetPromptState(false /*active*/); 601 ExpectResetPromptState(false /*active*/);
602 resetter_delegate()->DismissPrompt(); 602 resetter_delegate()->DismissPrompt();
603 } 603 }
604 604
605 } // namespace 605 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698