Commit 8bca6636 authored by John Delaney's avatar John Delaney Committed by Commit Bot

Override noise provider in HeavyAd tests where there is no heavy ad

crrrev.com/c/1846313 added noise to the network threshold for heavy ads. This
change did not override the noise provider in
AdsPageLoadMetricsObserverTest.HeavyAdWithUserGesture_NotConsideredHeavy, This
does not break the test because we never consider the ad to be heavy. However, if
there was a regression that caused an ad with a user gesture to be considered heavy,
this test becomes non-determinstic as the noise may cause us to not label it as
heavy.

This CL mocks the noise provider to 0 to ensure we are testing the user gesture logic
correctly. This similar behavior was seen in two other tests which are also updated.

Change-Id: I7f085800b6ae189a5082c207460defd68b371638
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1849130
Commit-Queue: John Delaney <johnidel@chromium.org>
Reviewed-by: default avatarCharlie Harrison <csharrison@chromium.org>
Cr-Commit-Position: refs/heads/master@{#706672}
parent ed324348
...@@ -579,7 +579,13 @@ class AdsPageLoadMetricsObserverTest ...@@ -579,7 +579,13 @@ class AdsPageLoadMetricsObserverTest
auto observer = std::make_unique<AdsPageLoadMetricsObserver>( auto observer = std::make_unique<AdsPageLoadMetricsObserver>(
clock_.get(), test_blocklist_.get()); clock_.get(), test_blocklist_.get());
ads_observer_ = observer.get(); ads_observer_ = observer.get();
// Mock the noise provider to make tests deterministic. Tests can override
// this again to test non-zero noise.
ads_observer_->SetHeavyAdThresholdNoiseProviderForTesting(
std::make_unique<MockNoiseProvider>(0 /* noise */));
tracker->AddObserver(std::move(observer)); tracker->AddObserver(std::move(observer));
// Swap out the ui::ScopedVisibilityTracker to use the test clock. // Swap out the ui::ScopedVisibilityTracker to use the test clock.
if (clock_) { if (clock_) {
ui::ScopedVisibilityTracker visibility_tracker(clock_.get(), true); ui::ScopedVisibilityTracker visibility_tracker(clock_.get(), true);
...@@ -1671,10 +1677,6 @@ TEST_F(AdsPageLoadMetricsObserverTest, HeavyAdFeatureOff_UMARecorded) { ...@@ -1671,10 +1677,6 @@ TEST_F(AdsPageLoadMetricsObserverTest, HeavyAdFeatureOff_UMARecorded) {
OverrideVisibilityTrackerWithMockClock(); OverrideVisibilityTrackerWithMockClock();
RenderFrameHost* main_frame = NavigateMainFrame(kNonAdUrl); RenderFrameHost* main_frame = NavigateMainFrame(kNonAdUrl);
OverrideHeavyAdNoiseProvider(
std::make_unique<MockNoiseProvider>(0 /* network noise */));
RenderFrameHost* ad_frame_none = RenderFrameHost* ad_frame_none =
CreateAndNavigateSubFrame(kAdUrl, main_frame); CreateAndNavigateSubFrame(kAdUrl, main_frame);
RenderFrameHost* ad_frame_net = CreateAndNavigateSubFrame(kAdUrl, main_frame); RenderFrameHost* ad_frame_net = CreateAndNavigateSubFrame(kAdUrl, main_frame);
...@@ -1741,9 +1743,6 @@ TEST_F(AdsPageLoadMetricsObserverTest, HeavyAdNetworkUsage_InterventionFired) { ...@@ -1741,9 +1743,6 @@ TEST_F(AdsPageLoadMetricsObserverTest, HeavyAdNetworkUsage_InterventionFired) {
feature_list.InitAndEnableFeature(features::kHeavyAdIntervention); feature_list.InitAndEnableFeature(features::kHeavyAdIntervention);
RenderFrameHost* main_frame = NavigateMainFrame(kNonAdUrl); RenderFrameHost* main_frame = NavigateMainFrame(kNonAdUrl);
OverrideHeavyAdNoiseProvider(
std::make_unique<MockNoiseProvider>(0 /* network noise */));
RenderFrameHost* ad_frame = CreateAndNavigateSubFrame(kAdUrl, main_frame); RenderFrameHost* ad_frame = CreateAndNavigateSubFrame(kAdUrl, main_frame);
// Load just under the threshold amount of bytes. // Load just under the threshold amount of bytes.
...@@ -2003,9 +2002,6 @@ TEST_F(AdsPageLoadMetricsObserverTest, ...@@ -2003,9 +2002,6 @@ TEST_F(AdsPageLoadMetricsObserverTest,
blocklist()->AddEntry(GURL(kNonAdUrl).host(), true, 0); blocklist()->AddEntry(GURL(kNonAdUrl).host(), true, 0);
RenderFrameHost* main_frame = NavigateMainFrame(kNonAdUrl); RenderFrameHost* main_frame = NavigateMainFrame(kNonAdUrl);
OverrideHeavyAdNoiseProvider(
std::make_unique<MockNoiseProvider>(0 /* network noise */));
RenderFrameHost* ad_frame = CreateAndNavigateSubFrame(kAdUrl, main_frame); RenderFrameHost* ad_frame = CreateAndNavigateSubFrame(kAdUrl, main_frame);
// Add enough data to trigger the intervention. // Add enough data to trigger the intervention.
...@@ -2034,9 +2030,6 @@ TEST_F(AdsPageLoadMetricsObserverTest, HeavyAdBlocklist_InterventionReported) { ...@@ -2034,9 +2030,6 @@ TEST_F(AdsPageLoadMetricsObserverTest, HeavyAdBlocklist_InterventionReported) {
blocklist()->AddEntry(GURL(kNonAdUrl).host(), true, 0); blocklist()->AddEntry(GURL(kNonAdUrl).host(), true, 0);
RenderFrameHost* main_frame = NavigateMainFrame(kNonAdUrl); RenderFrameHost* main_frame = NavigateMainFrame(kNonAdUrl);
OverrideHeavyAdNoiseProvider(
std::make_unique<MockNoiseProvider>(0 /* network noise */));
RenderFrameHost* ad_frame = CreateAndNavigateSubFrame(kAdUrl, main_frame); RenderFrameHost* ad_frame = CreateAndNavigateSubFrame(kAdUrl, main_frame);
// Add enough data to trigger the intervention. // Add enough data to trigger the intervention.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment