Skip to content

Commit

Permalink
SearchEngineTracker: Add a test for the switch P3A metric.
Browse files Browse the repository at this point in the history
Add a browser test to verify we record transitions as expected.
  • Loading branch information
rillian committed Oct 4, 2021
1 parent 7314451 commit c3c3300
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions browser/search_engines/search_engine_tracker_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,55 @@ IN_PROC_BROWSER_TEST_F(SearchEngineProviderP3ATest, DefaultSearchEngineP3A) {

histogram_tester_->ExpectTotalCount(kDefaultSearchEngineMetric, 2);
}

IN_PROC_BROWSER_TEST_F(SearchEngineProviderP3ATest, SwitchSearchEngineP3A) {
// Check that the metric is reported on startup.
// For some reason we record kNoSwitch twice, even through
// kDefaultSearchEngineMetric is only updated once at this point.
histogram_tester_->ExpectUniqueSample(kSwitchSearchEngineMetric,
SearchEngineSwitchP3A::kNoSwitch, 2);

// Load service for switching the default search engine.
auto* service =
TemplateURLServiceFactory::GetForProfile(browser()->profile());
search_test_utils::WaitForTemplateURLServiceToLoad(service);

// Check that changing the default engine triggers emission of a new value.
auto ddg_data = TemplateURLPrepopulateData::GetPrepopulatedEngine(
browser()->profile()->GetPrefs(),
TemplateURLPrepopulateData::PREPOPULATED_ENGINE_ID_DUCKDUCKGO);
TemplateURL ddg_url(*ddg_data);

// This assumes the default is not Brave Search!
service->SetUserSelectedDefaultSearchProvider(&ddg_url);
histogram_tester_->ExpectBucketCount(kSwitchSearchEngineMetric,
SearchEngineSwitchP3A::kOtherToOther, 1);

// Check additional changes.
auto brave_data = TemplateURLPrepopulateData::GetPrepopulatedEngine(
browser()->profile()->GetPrefs(),
TemplateURLPrepopulateData::PREPOPULATED_ENGINE_ID_BRAVE);
TemplateURL brave_url(*brave_data);

service->SetUserSelectedDefaultSearchProvider(&brave_url);
histogram_tester_->ExpectBucketCount(kSwitchSearchEngineMetric,
SearchEngineSwitchP3A::kDDGToBrave, 1);

// Check additional changes.
auto bing_data = TemplateURLPrepopulateData::GetPrepopulatedEngine(
browser()->profile()->GetPrefs(),
TemplateURLPrepopulateData::PREPOPULATED_ENGINE_ID_BING);
TemplateURL bing_url(*bing_data);

service->SetUserSelectedDefaultSearchProvider(&bing_url);
histogram_tester_->ExpectBucketCount(kSwitchSearchEngineMetric,
SearchEngineSwitchP3A::kBraveToOther, 1);

// Check that incognito or TOR profiles do not emit the metric.
CreateIncognitoBrowser();
#if BUILDFLAG(ENABLE_TOR)
brave::NewOffTheRecordWindowTor(browser());
#endif

histogram_tester_->ExpectTotalCount(kSwitchSearchEngineMetric, 5);
}

0 comments on commit c3c3300

Please sign in to comment.