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

Unified Diff: chrome/browser/net/chrome_network_delegate_unittest.cc

Issue 2462983003: Move data use measurement to DataUseNetworkDelegate (Closed)
Patch Set: Rebased and fixed nits Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/net/chrome_network_delegate.cc ('k') | chrome/browser/precache/precache_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/net/chrome_network_delegate_unittest.cc
diff --git a/chrome/browser/net/chrome_network_delegate_unittest.cc b/chrome/browser/net/chrome_network_delegate_unittest.cc
index 4a1da85215fe23ea74a13b12442a8d0233727e3d..7f5e10998955a1c39311a1025ffab56b332edf71 100644
--- a/chrome/browser/net/chrome_network_delegate_unittest.cc
+++ b/chrome/browser/net/chrome_network_delegate_unittest.cc
@@ -28,7 +28,6 @@
#include "components/data_usage/core/data_use_aggregator.h"
#include "components/data_usage/core/data_use_amortizer.h"
#include "components/data_usage/core/data_use_annotator.h"
-#include "components/data_use_measurement/core/data_use_user_data.h"
#include "components/prefs/pref_member.h"
#include "components/sync_preferences/testing_pref_service_syncable.h"
#include "content/public/browser/resource_request_info.h"
@@ -50,18 +49,12 @@
namespace {
-// This function requests a URL, and makes it return a known response. If
-// |from_user| is true, it attaches a ResourceRequestInfo to the URLRequest,
-// because requests from users have this info. If |from_user| is false, the
-// request is presumed to be from a service, and the service name is set in the
-// request's user data. (As an example suggestions service tag is attached). if
-// |redirect| is true, it adds necessary socket data to have it follow redirect
-// before getting the final response.
+// This function requests a URL, and makes it return a known response.
+// ResourceRequestInfo is attached to the URLRequest, to represent this request
+// as an user initiated.
std::unique_ptr<net::URLRequest> RequestURL(
net::URLRequestContext* context,
- net::MockClientSocketFactory* socket_factory,
- bool from_user,
- bool redirect) {
+ net::MockClientSocketFactory* socket_factory) {
net::MockRead redirect_mock_reads[] = {
net::MockRead("HTTP/1.1 302 Found\r\n"
"Location: http://bar.com/\r\n\r\n"),
@@ -70,8 +63,6 @@ std::unique_ptr<net::URLRequest> RequestURL(
net::StaticSocketDataProvider redirect_socket_data_provider(
redirect_mock_reads, arraysize(redirect_mock_reads), nullptr, 0);
- if (redirect)
- socket_factory->AddSocketDataProvider(&redirect_socket_data_provider);
net::MockRead response_mock_reads[] = {
net::MockRead("HTTP/1.1 200 OK\r\n\r\n"), net::MockRead("response body"),
net::MockRead(net::SYNCHRONOUS, net::OK),
@@ -84,17 +75,10 @@ std::unique_ptr<net::URLRequest> RequestURL(
std::unique_ptr<net::URLRequest> request(context->CreateRequest(
GURL("http://example.com"), net::DEFAULT_PRIORITY, &test_delegate));
- if (from_user) {
- content::ResourceRequestInfo::AllocateForTesting(
- request.get(), content::RESOURCE_TYPE_MAIN_FRAME, nullptr, -2, -2, -2,
- true, false, true, true, false);
- } else {
- request->SetUserData(
- data_use_measurement::DataUseUserData::kUserDataKey,
- new data_use_measurement::DataUseUserData(
- data_use_measurement::DataUseUserData::SUGGESTIONS,
- data_use_measurement::DataUseUserData::FOREGROUND));
- }
+ content::ResourceRequestInfo::AllocateForTesting(
+ request.get(), content::RESOURCE_TYPE_MAIN_FRAME, nullptr, -2, -2, -2,
+ true, false, true, true, false);
+
request->Start();
base::RunLoop().RunUntilIdle();
return request;
@@ -161,8 +145,7 @@ class ChromeNetworkDelegateTest : public testing::Test {
void Initialize() {
network_delegate_.reset(
- new ChromeNetworkDelegate(forwarder(), &enable_referrers_,
- metrics::UpdateUsagePrefCallbackType()));
+ new ChromeNetworkDelegate(forwarder(), &enable_referrers_));
context_->set_client_socket_factory(&socket_factory_);
context_->set_network_delegate(network_delegate_.get());
context_->Init();
@@ -197,125 +180,6 @@ class ChromeNetworkDelegateTest : public testing::Test {
std::unique_ptr<net::TestURLRequestContext> context_;
};
-// Test that the total data use consumed by Chrome is recorded correctly.
-TEST_F(ChromeNetworkDelegateTest, TotalDataUseMeasurementTest) {
- Initialize();
- base::HistogramTester histogram_tester;
-
- // A query from a user without redirection.
- RequestURL(context(), socket_factory(), true, false);
- std::vector<base::Bucket> buckets =
- histogram_tester.GetAllSamples("DataUse.BytesSent.Delegate");
- EXPECT_FALSE(buckets.empty());
-
- buckets = histogram_tester.GetAllSamples("DataUse.BytesReceived.Delegate");
- EXPECT_FALSE(buckets.empty());
-}
-
-// This function tests data use measurement for requests by services. it makes a
-// query which is similar to a query of a service, so it should affect
-// DataUse.TrafficSize.System.Dimensions and DataUse.MessageSize.ServiceName
-// histograms. AppState and ConnectionType dimensions are always Foreground and
-// NotCellular respectively.
-TEST_F(ChromeNetworkDelegateTest, DataUseMeasurementServiceTest) {
- Initialize();
- base::HistogramTester histogram_tester;
-
- // A query from a service without redirection.
- RequestURL(context(), socket_factory(), false, false);
- EXPECT_FALSE(
- histogram_tester
- .GetTotalCountsForPrefix(
- "DataUse.TrafficSize.System.Downstream.Foreground.NotCellular")
- .empty());
- histogram_tester.ExpectTotalCount(
- "DataUse.TrafficSize.System.Upstream.Foreground.NotCellular", 1);
- EXPECT_FALSE(histogram_tester
- .GetTotalCountsForPrefix("DataUse.MessageSize.Suggestions")
- .empty());
- histogram_tester.ExpectTotalCount(
- "DataUse.TrafficSize.User.Downstream.Foreground.NotCellular", 0);
- histogram_tester.ExpectTotalCount(
- "DataUse.TrafficSize.User.Upstream.Foreground.NotCellular", 0);
-}
-
-// This function tests data use measurement for requests by user.The query from
-// a user should affect DataUse.TrafficSize.User.Dimensions histogram. AppState
-// and ConnectionType dimensions are always Foreground and NotCellular
-// respectively.
-TEST_F(ChromeNetworkDelegateTest, DataUseMeasurementUserTest) {
- Initialize();
- base::HistogramTester histogram_tester;
-
- // A query from user without redirection.
- RequestURL(context(), socket_factory(), true, false);
- EXPECT_FALSE(
- histogram_tester
- .GetTotalCountsForPrefix(
- "DataUse.TrafficSize.User.Downstream.Foreground.NotCellular")
- .empty());
- histogram_tester.ExpectTotalCount(
- "DataUse.TrafficSize.User.Upstream.Foreground.NotCellular", 1);
- histogram_tester.ExpectTotalCount(
- "DataUse.TrafficSize.System.Downstream.Foreground.NotCellular", 0);
- histogram_tester.ExpectTotalCount(
- "DataUse.TrafficSize.System.Upstream.Foreground.NotCellular", 0);
- histogram_tester.ExpectTotalCount("DataUse.MessageSize.Suggestions", 0);
-}
-
-// This function tests data use measurement for requests by services in case the
-// request is redirected once. it makes a query which is similar to a query of a
-// service, so it should affect DataUse.TrafficSize.System.Dimensions and
-// DataUse.MessageSize.ServiceName histograms. AppState and ConnectionType
-// dimensions are always Foreground and NotCellular respectively.
-TEST_F(ChromeNetworkDelegateTest, DataUseMeasurementServiceTestWithRedirect) {
- Initialize();
- base::HistogramTester histogram_tester;
-
- // A query from user with one redirection.
- RequestURL(context(), socket_factory(), false, true);
- EXPECT_FALSE(
- histogram_tester
- .GetTotalCountsForPrefix(
- "DataUse.TrafficSize.System.Downstream.Foreground.NotCellular")
- .empty());
- histogram_tester.ExpectTotalCount(
- "DataUse.TrafficSize.System.Upstream.Foreground.NotCellular", 2);
- // Two uploads and two downloads message, so totalCount should be 4.
- EXPECT_FALSE(histogram_tester
- .GetTotalCountsForPrefix("DataUse.MessageSize.Suggestions")
- .empty());
- histogram_tester.ExpectTotalCount(
- "DataUse.TrafficSize.User.Downstream.Foreground.NotCellular", 0);
- histogram_tester.ExpectTotalCount(
- "DataUse.TrafficSize.User.Upstream.Foreground.NotCellular", 0);
-}
-
-// This function tests data use measurement for requests by user in case the
-// request is redirected once.The query from a user should affect
-// DataUse.TrafficSize.User.Dimensions histogram. AppState and ConnectionType
-// dimensions are always Foreground and NotCellular respectively.
-TEST_F(ChromeNetworkDelegateTest, DataUseMeasurementUserTestWithRedirect) {
- Initialize();
- base::HistogramTester histogram_tester;
-
- // A query from user with one redirection.
- RequestURL(context(), socket_factory(), true, true);
-
- EXPECT_FALSE(
- histogram_tester
- .GetTotalCountsForPrefix(
- "DataUse.TrafficSize.User.Downstream.Foreground.NotCellular")
- .empty());
- histogram_tester.ExpectTotalCount(
- "DataUse.TrafficSize.User.Upstream.Foreground.NotCellular", 2);
- histogram_tester.ExpectTotalCount(
- "DataUse.TrafficSize.System.Downstream.Foreground.NotCellular", 0);
- histogram_tester.ExpectTotalCount(
- "DataUse.TrafficSize.System.Upstream.Foreground.NotCellular", 0);
- histogram_tester.ExpectTotalCount("DataUse.MessageSize.Suggestions", 0);
-}
-
TEST_F(ChromeNetworkDelegateTest, DisableSameSiteCookiesIffFlagDisabled) {
Initialize();
EXPECT_FALSE(network_delegate()->AreExperimentalCookieFeaturesEnabled());
@@ -336,7 +200,7 @@ TEST_F(ChromeNetworkDelegateTest, ReportDataUseToAggregator) {
&fake_aggregator, false /* is_data_usage_off_the_record */);
std::unique_ptr<net::URLRequest> request =
- RequestURL(context(), socket_factory(), true, false);
+ RequestURL(context(), socket_factory());
EXPECT_EQ(request->GetTotalSentBytes(),
fake_aggregator.on_the_record_tx_bytes());
EXPECT_EQ(request->GetTotalReceivedBytes(),
@@ -352,7 +216,7 @@ TEST_F(ChromeNetworkDelegateTest, ReportOffTheRecordDataUseToAggregator) {
chrome_network_delegate()->set_data_use_aggregator(
&fake_aggregator, true /* is_data_usage_off_the_record */);
std::unique_ptr<net::URLRequest> request =
- RequestURL(context(), socket_factory(), true, false);
+ RequestURL(context(), socket_factory());
EXPECT_EQ(0, fake_aggregator.on_the_record_tx_bytes());
EXPECT_EQ(0, fake_aggregator.on_the_record_rx_bytes());
@@ -411,8 +275,7 @@ class ChromeNetworkDelegateSafeSearchTest :
protected:
std::unique_ptr<net::NetworkDelegate> CreateNetworkDelegate() {
std::unique_ptr<ChromeNetworkDelegate> network_delegate(
- new ChromeNetworkDelegate(forwarder(), &enable_referrers_,
- metrics::UpdateUsagePrefCallbackType()));
+ new ChromeNetworkDelegate(forwarder(), &enable_referrers_));
network_delegate->set_force_google_safe_search(&force_google_safe_search_);
network_delegate->set_force_youtube_restrict(&force_youtube_restrict_);
return std::move(network_delegate);
@@ -483,8 +346,7 @@ class ChromeNetworkDelegateAllowedDomainsTest :
protected:
std::unique_ptr<net::NetworkDelegate> CreateNetworkDelegate() {
std::unique_ptr<ChromeNetworkDelegate> network_delegate(
- new ChromeNetworkDelegate(forwarder(), &enable_referrers_,
- metrics::UpdateUsagePrefCallbackType()));
+ new ChromeNetworkDelegate(forwarder(), &enable_referrers_));
network_delegate->set_allowed_domains_for_apps(&allowed_domains_for_apps_);
return std::move(network_delegate);
}
@@ -578,8 +440,7 @@ class ChromeNetworkDelegatePrivacyModeTest : public testing::Test {
protected:
std::unique_ptr<ChromeNetworkDelegate> CreateNetworkDelegate() {
std::unique_ptr<ChromeNetworkDelegate> network_delegate(
- new ChromeNetworkDelegate(forwarder(), &enable_referrers_,
- metrics::UpdateUsagePrefCallbackType()));
+ new ChromeNetworkDelegate(forwarder(), &enable_referrers_));
network_delegate->set_cookie_settings(cookie_settings_);
return network_delegate;
}
« no previous file with comments | « chrome/browser/net/chrome_network_delegate.cc ('k') | chrome/browser/precache/precache_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698