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

Unified Diff: components/data_use_measurement/content/data_use_measurement_unittest.cc

Issue 2399783003: Split the data use into foreground, background and unknown (Closed)
Patch Set: Addressed kundaji comments Created 4 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: components/data_use_measurement/content/data_use_measurement_unittest.cc
diff --git a/components/data_use_measurement/content/data_use_measurement_unittest.cc b/components/data_use_measurement/content/data_use_measurement_unittest.cc
index a7c674d5a5f39a19c6e4ae2c8e11adbc8b56faf0..29b5717f9330b1f04139cc77f9a5e59f897ff706 100644
--- a/components/data_use_measurement/content/data_use_measurement_unittest.cc
+++ b/components/data_use_measurement/content/data_use_measurement_unittest.cc
@@ -38,9 +38,8 @@ class DataUseMeasurementTest : public testing::Test {
net::NetworkChangeNotifier::GetConnectionType()));
}
- // Sends a request and reports data use attaching either user data or service
- // data based on |is_user_request|.
- void SendRequest(bool is_user_request) {
+ // Creates a test request.
+ std::unique_ptr<net::URLRequest> CreateTestRequest(bool is_user_request) {
net::TestDelegate test_delegate;
InitializeContext();
net::MockRead reads[] = {net::MockRead("HTTP/1.1 200 OK\r\n"
@@ -66,7 +65,17 @@ class DataUseMeasurementTest : public testing::Test {
request->Start();
base::RunLoop().RunUntilIdle();
+ return request;
+ }
+ // Sends a request and reports data use attaching either user data or service
+ // data based on |is_user_request|.
+ void SendRequest(bool is_user_request) {
+ std::unique_ptr<net::URLRequest> request =
+ CreateTestRequest(is_user_request);
+ data_use_measurement_.OnBeforeURLRequest(request.get());
+ data_use_measurement_.OnNetworkBytesReceived(*request, 1000);
+ data_use_measurement_.OnNetworkBytesSent(*request, 100);
data_use_measurement_.OnCompleted(*request, true);
}
@@ -110,7 +119,7 @@ class DataUseMeasurementTest : public testing::Test {
bool IsDataUseForwarderCalled() { return is_data_use_forwarder_called_; }
- private:
+ protected:
void InitializeContext() {
context_.reset(new net::TestURLRequestContext(true));
socket_factory_.reset(new net::MockClientSocketFactory());
@@ -166,4 +175,42 @@ TEST_F(DataUseMeasurementTest, DataUseForwarderIsCalled) {
EXPECT_TRUE(IsDataUseForwarderCalled());
}
+#if defined(OS_ANDROID)
+TEST_F(DataUseMeasurementTest, AppStateUnknown) {
+ base::HistogramTester histogram_tester;
+ std::unique_ptr<net::URLRequest> request = CreateTestRequest(false);
+ data_use_measurement_.OnBeforeURLRequest(request.get());
+
+ {
+ base::HistogramTester histogram_tester;
+ data_use_measurement()->OnApplicationStateChangeForTesting(
+ base::android::APPLICATION_STATE_HAS_RUNNING_ACTIVITIES);
+ data_use_measurement_.OnNetworkBytesSent(*request, 100);
+ data_use_measurement_.OnNetworkBytesReceived(*request, 1000);
+ histogram_tester.ExpectTotalCount(
+ "DataUse.TrafficSize.User.Downstream.Foreground." + kConnectionType, 1);
+ histogram_tester.ExpectTotalCount(
+ "DataUse.TrafficSize.User.Upstream.Foreground." + kConnectionType, 1);
+ }
+
+ {
+ base::HistogramTester histogram_tester;
+ data_use_measurement()->OnApplicationStateChangeForTesting(
+ base::android::APPLICATION_STATE_HAS_STOPPED_ACTIVITIES);
+ data_use_measurement_.OnNetworkBytesReceived(*request, 1000);
+ histogram_tester.ExpectTotalCount(
+ "DataUse.TrafficSize.User.Downstream.Unknown." + kConnectionType, 1);
+ }
+
+ {
+ base::HistogramTester histogram_tester;
+ data_use_measurement()->OnApplicationStateChangeForTesting(
+ base::android::APPLICATION_STATE_HAS_STOPPED_ACTIVITIES);
+ data_use_measurement_.OnNetworkBytesReceived(*request, 1000);
+ histogram_tester.ExpectTotalCount(
+ "DataUse.TrafficSize.User.Downstream.Background." + kConnectionType, 1);
+ }
+}
+#endif
+
} // namespace data_use_measurement

Powered by Google App Engine
This is Rietveld 408576698