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

Unified Diff: components/data_use_measurement/core/data_use_measurement_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
Index: components/data_use_measurement/core/data_use_measurement_unittest.cc
diff --git a/components/data_use_measurement/content/data_use_measurement_unittest.cc b/components/data_use_measurement/core/data_use_measurement_unittest.cc
similarity index 92%
rename from components/data_use_measurement/content/data_use_measurement_unittest.cc
rename to components/data_use_measurement/core/data_use_measurement_unittest.cc
index de40494d97a54582de50930de4a9d794a2f0c4fa..707577b65152c325c2be79799df4f81bcd91c650 100644
--- a/components/data_use_measurement/content/data_use_measurement_unittest.cc
+++ b/components/data_use_measurement/core/data_use_measurement_unittest.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "components/data_use_measurement/content/data_use_measurement.h"
+#include "components/data_use_measurement/core/data_use_measurement.h"
#include <memory>
#include <string>
@@ -12,7 +12,7 @@
#include "base/run_loop.h"
#include "base/test/histogram_tester.h"
#include "build/build_config.h"
-#include "content/public/browser/resource_request_info.h"
+#include "components/data_use_measurement/core/url_request_classifier.h"
#include "net/base/network_change_notifier.h"
#include "net/base/request_priority.h"
#include "net/socket/socket_test_util.h"
@@ -27,10 +27,29 @@
namespace data_use_measurement {
+class UserRequestUserDataForTesting : public base::SupportsUserData::Data,
+ public URLRequestClassifier {
+ public:
+ static const void* const kUserDataKey;
+
+ bool IsUserRequest(const net::URLRequest& request) const override {
+ return request.GetUserData(kUserDataKey) != nullptr;
+ }
+
+ static void MarkAsUserRequest(net::URLRequest* request) {
+ request->SetUserData(kUserDataKey, new UserRequestUserDataForTesting());
+ }
+};
+
+// static
+const void* const UserRequestUserDataForTesting::kUserDataKey =
+ &UserRequestUserDataForTesting::kUserDataKey;
+
class DataUseMeasurementTest : public testing::Test {
public:
DataUseMeasurementTest()
: data_use_measurement_(
+ base::MakeUnique<UserRequestUserDataForTesting>(),
base::Bind(&DataUseMeasurementTest::FakeDataUseforwarder,
base::Unretained(this))) {
// During the test it is expected to not have cellular connection.
@@ -52,15 +71,13 @@ class DataUseMeasurementTest : public testing::Test {
std::unique_ptr<net::URLRequest> request(context_->CreateRequest(
GURL("http://foo.com"), net::DEFAULT_PRIORITY, &test_delegate));
if (is_user_request) {
+ UserRequestUserDataForTesting::MarkAsUserRequest(request.get());
+ } else {
request->SetUserData(
data_use_measurement::DataUseUserData::kUserDataKey,
new data_use_measurement::DataUseUserData(
data_use_measurement::DataUseUserData::SUGGESTIONS,
data_use_measurement_.CurrentAppState()));
- } else {
- content::ResourceRequestInfo::AllocateForTesting(
- request.get(), content::RESOURCE_TYPE_MAIN_FRAME, nullptr, -2, -2, -2,
- true, false, true, true, false);
}
request->Start();
@@ -84,14 +101,20 @@ class DataUseMeasurementTest : public testing::Test {
void TestForAUserRequest(const std::string& target_dimension) {
base::HistogramTester histogram_tester;
SendRequest(true);
- histogram_tester.ExpectTotalCount("DataUse.TrafficSize.System.Downstream." +
+ histogram_tester.ExpectTotalCount("DataUse.TrafficSize.User.Downstream." +
target_dimension + kConnectionType,
1);
- histogram_tester.ExpectTotalCount("DataUse.TrafficSize.System.Upstream." +
+ histogram_tester.ExpectTotalCount("DataUse.TrafficSize.User.Upstream." +
target_dimension + kConnectionType,
1);
- // One upload and one download message, so total count should be 2.
- histogram_tester.ExpectTotalCount("DataUse.MessageSize.Suggestions", 2);
+ histogram_tester.ExpectTotalCount(
+ "DataUse.MessageSize.AllServices.Upstream." + target_dimension +
+ kConnectionType,
+ 0);
+ histogram_tester.ExpectTotalCount(
+ "DataUse.MessageSize.AllServices.Downstream." + target_dimension +
+ kConnectionType,
+ 0);
}
// This function makes a service request and confirms that its effect is
@@ -99,20 +122,14 @@ class DataUseMeasurementTest : public testing::Test {
void TestForAServiceRequest(const std::string& target_dimension) {
base::HistogramTester histogram_tester;
SendRequest(false);
- histogram_tester.ExpectTotalCount("DataUse.TrafficSize.User.Downstream." +
+ histogram_tester.ExpectTotalCount("DataUse.TrafficSize.System.Downstream." +
target_dimension + kConnectionType,
1);
- histogram_tester.ExpectTotalCount("DataUse.TrafficSize.User.Upstream." +
+ histogram_tester.ExpectTotalCount("DataUse.TrafficSize.System.Upstream." +
target_dimension + kConnectionType,
1);
- histogram_tester.ExpectTotalCount(
- "DataUse.MessageSize.AllServices.Upstream." + target_dimension +
- kConnectionType,
- 0);
- histogram_tester.ExpectTotalCount(
- "DataUse.MessageSize.AllServices.Downstream." + target_dimension +
- kConnectionType,
- 0);
+ // One upload and one download message, so total count should be 2.
+ histogram_tester.ExpectTotalCount("DataUse.MessageSize.Suggestions", 2);
}
DataUseMeasurement* data_use_measurement() { return &data_use_measurement_; }
@@ -178,7 +195,7 @@ TEST_F(DataUseMeasurementTest, DataUseForwarderIsCalled) {
#if defined(OS_ANDROID)
TEST_F(DataUseMeasurementTest, AppStateUnknown) {
base::HistogramTester histogram_tester;
- std::unique_ptr<net::URLRequest> request = CreateTestRequest(false);
+ std::unique_ptr<net::URLRequest> request = CreateTestRequest(true);
data_use_measurement_.OnBeforeURLRequest(request.get());
{
@@ -214,7 +231,7 @@ TEST_F(DataUseMeasurementTest, AppStateUnknown) {
TEST_F(DataUseMeasurementTest, TimeOfBackgroundDownstreamBytes) {
{
- std::unique_ptr<net::URLRequest> request = CreateTestRequest(false);
+ std::unique_ptr<net::URLRequest> request = CreateTestRequest(true);
data_use_measurement_.OnBeforeURLRequest(request.get());
base::HistogramTester histogram_tester;
data_use_measurement()->OnApplicationStateChange(
@@ -232,7 +249,7 @@ TEST_F(DataUseMeasurementTest, TimeOfBackgroundDownstreamBytes) {
{
// Create new request when app is in foreground..
base::HistogramTester histogram_tester;
- std::unique_ptr<net::URLRequest> request = CreateTestRequest(false);
+ std::unique_ptr<net::URLRequest> request = CreateTestRequest(true);
data_use_measurement_.OnBeforeURLRequest(request.get());
data_use_measurement_.OnNetworkBytesSent(*request, 100);
data_use_measurement_.OnNetworkBytesReceived(*request, 1000);
@@ -245,7 +262,7 @@ TEST_F(DataUseMeasurementTest, TimeOfBackgroundDownstreamBytes) {
}
{
- std::unique_ptr<net::URLRequest> request = CreateTestRequest(false);
+ std::unique_ptr<net::URLRequest> request = CreateTestRequest(true);
data_use_measurement_.OnBeforeURLRequest(request.get());
base::HistogramTester histogram_tester;
data_use_measurement()->OnApplicationStateChange(
@@ -263,7 +280,7 @@ TEST_F(DataUseMeasurementTest, TimeOfBackgroundDownstreamBytes) {
{
// Create new request when app is in background.
base::HistogramTester histogram_tester;
- std::unique_ptr<net::URLRequest> request = CreateTestRequest(false);
+ std::unique_ptr<net::URLRequest> request = CreateTestRequest(true);
data_use_measurement_.OnBeforeURLRequest(request.get());
data_use_measurement_.OnNetworkBytesSent(*request, 100);
data_use_measurement_.OnNetworkBytesReceived(*request, 1000);
@@ -278,7 +295,7 @@ TEST_F(DataUseMeasurementTest, TimeOfBackgroundDownstreamBytes) {
{
// Create new request when app is in background.
base::HistogramTester histogram_tester;
- std::unique_ptr<net::URLRequest> request = CreateTestRequest(true);
+ std::unique_ptr<net::URLRequest> request = CreateTestRequest(false);
data_use_measurement_.OnBeforeURLRequest(request.get());
data_use_measurement_.OnNetworkBytesSent(*request, 100);
data_use_measurement_.OnNetworkBytesReceived(*request, 1000);
@@ -295,7 +312,7 @@ TEST_F(DataUseMeasurementTest, TimeOfBackgroundDownstreamBytes) {
}
{
- std::unique_ptr<net::URLRequest> request = CreateTestRequest(false);
+ std::unique_ptr<net::URLRequest> request = CreateTestRequest(true);
data_use_measurement_.OnBeforeURLRequest(request.get());
base::HistogramTester histogram_tester;
data_use_measurement()->OnApplicationStateChange(

Powered by Google App Engine
This is Rietveld 408576698