Index: components/data_usage/core/data_use_aggregator_unittest.cc |
diff --git a/components/data_usage/core/data_use_aggregator_unittest.cc b/components/data_usage/core/data_use_aggregator_unittest.cc |
index f0d5f44d67e5288ed7ac72a2242d239983da0c50..65909c874aea819741558647745de9891ca75b29 100644 |
--- a/components/data_usage/core/data_use_aggregator_unittest.cc |
+++ b/components/data_usage/core/data_use_aggregator_unittest.cc |
@@ -15,6 +15,7 @@ |
#include "base/message_loop/message_loop.h" |
#include "base/time/time.h" |
#include "components/data_usage/core/data_use.h" |
+#include "components/data_usage/core/data_use_amortizer.h" |
#include "components/data_usage/core/data_use_annotator.h" |
#include "net/base/load_timing_info.h" |
#include "net/base/network_change_notifier.h" |
@@ -38,8 +39,9 @@ base::TimeTicks GetRequestStart(const net::URLRequest& request) { |
// Test class that can set the network operator's MCCMNC. |
class TestDataUseAggregator : public DataUseAggregator { |
public: |
- TestDataUseAggregator(scoped_ptr<DataUseAnnotator> annotator) |
- : DataUseAggregator(annotator.Pass()) {} |
+ TestDataUseAggregator(scoped_ptr<DataUseAnnotator> annotator, |
+ scoped_ptr<DataUseAmortizer> amortizer) |
+ : DataUseAggregator(annotator.Pass(), amortizer.Pass()) {} |
~TestDataUseAggregator() override {} |
@@ -214,7 +216,9 @@ class DataUseAggregatorTest : public testing::Test { |
DataUseAggregatorTest() |
: fake_data_use_annotator_(new FakeDataUseAnnotator()), |
data_use_aggregator_( |
- scoped_ptr<DataUseAnnotator>(fake_data_use_annotator_)), |
+ scoped_ptr<DataUseAnnotator>(fake_data_use_annotator_), |
+ // TODO(sclittle): Add a test for a non-NULL DataUseAmortizer. |
+ scoped_ptr<DataUseAmortizer>()), |
test_network_change_notifier_(&data_use_aggregator_), |
reporting_network_delegate_(&data_use_aggregator_, |
fake_data_use_annotator_, |
@@ -342,95 +346,6 @@ TEST_F(DataUseAggregatorTest, ReportDataUse) { |
EXPECT_EQ(bar_request->GetTotalReceivedBytes(), observed_bar_rx_bytes); |
} |
-TEST_F(DataUseAggregatorTest, ReportCombinedDataUse) { |
- // Set up the |foo_request|. |
- net::MockRead foo_reads[] = { |
- net::MockRead(net::SYNCHRONOUS, "HTTP/1.1 200 OK\r\n\r\n"), |
- net::MockRead(net::SYNCHRONOUS, "hello world"), |
- net::MockRead(net::SYNCHRONOUS, net::OK), |
- }; |
- net::StaticSocketDataProvider foo_socket(foo_reads, arraysize(foo_reads), |
- nullptr, 0); |
- mock_socket_factory()->AddSocketDataProvider(&foo_socket); |
- |
- net::TestDelegate foo_delegate; |
- scoped_ptr<net::URLRequest> foo_request = context()->CreateRequest( |
- GURL("http://foo.com"), net::IDLE, &foo_delegate); |
- foo_request->set_first_party_for_cookies(GURL("http://foofirstparty.com")); |
- |
- // Set up the |bar_request|. |
- net::MockRead bar_reads[] = { |
- net::MockRead(net::SYNCHRONOUS, "HTTP/1.1 200 OK\r\n\r\n"), |
- net::MockRead(net::SYNCHRONOUS, "hello world"), |
- net::MockRead(net::SYNCHRONOUS, net::OK), |
- }; |
- net::StaticSocketDataProvider bar_socket(bar_reads, arraysize(bar_reads), |
- nullptr, 0); |
- mock_socket_factory()->AddSocketDataProvider(&bar_socket); |
- |
- net::TestDelegate bar_delegate; |
- scoped_ptr<net::URLRequest> bar_request = context()->CreateRequest( |
- GURL("http://bar.com"), net::IDLE, &bar_delegate); |
- bar_request->set_first_party_for_cookies(GURL("http://barfirstparty.com")); |
- |
- // Set up the network delegate to assign tab IDs and connection types for each |
- // request. |
- const int32_t kFooTabId = 10; |
- const net::NetworkChangeNotifier::ConnectionType kFooConnectionType = |
- net::NetworkChangeNotifier::CONNECTION_2G; |
- const std::string kFooMccMnc = "foo_mcc_mnc"; |
- const int32_t kBarTabId = 20; |
- const net::NetworkChangeNotifier::ConnectionType kBarConnectionType = |
- net::NetworkChangeNotifier::CONNECTION_WIFI; |
- const std::string kBarMccMnc = "bar_mcc_mnc"; |
- |
- ReportingNetworkDelegate::DataUseContextMap data_use_context_map; |
- data_use_context_map[foo_request.get()] = |
- ReportingNetworkDelegate::DataUseContext(kFooTabId, kFooConnectionType, |
- kFooMccMnc); |
- data_use_context_map[bar_request.get()] = |
- ReportingNetworkDelegate::DataUseContext(kBarTabId, kBarConnectionType, |
- kBarMccMnc); |
- reporting_network_delegate()->set_data_use_context_map(data_use_context_map); |
- |
- // Run the requests. |
- foo_request->Start(); |
- bar_request->Start(); |
- base::MessageLoop::current()->RunUntilIdle(); |
- |
- // The observer should have been notified once with a DataUse element for each |
- // request. |
- EXPECT_EQ(1, test_observer()->on_data_use_called_count()); |
- EXPECT_EQ(static_cast<size_t>(2), |
- test_observer()->observed_data_use().size()); |
- |
- // All of the |foo_request| DataUse should have been combined into a single |
- // DataUse element. |
- const DataUse& foo_data_use = test_observer()->observed_data_use().front(); |
- EXPECT_EQ(GURL("http://foo.com"), foo_data_use.url); |
- EXPECT_EQ(GetRequestStart(*foo_request), foo_data_use.request_start); |
- EXPECT_EQ(GURL("http://foofirstparty.com"), |
- foo_data_use.first_party_for_cookies); |
- EXPECT_EQ(kFooTabId, foo_data_use.tab_id); |
- EXPECT_EQ(kFooConnectionType, foo_data_use.connection_type); |
- EXPECT_EQ(kFooMccMnc, foo_data_use.mcc_mnc); |
- EXPECT_EQ(foo_request->GetTotalSentBytes(), foo_data_use.tx_bytes); |
- EXPECT_EQ(foo_request->GetTotalReceivedBytes(), foo_data_use.rx_bytes); |
- |
- // All of the |bar_request| DataUse should have been combined into a single |
- // DataUse element. |
- const DataUse& bar_data_use = test_observer()->observed_data_use().back(); |
- EXPECT_EQ(GURL("http://bar.com"), bar_data_use.url); |
- EXPECT_EQ(GetRequestStart(*bar_request), bar_data_use.request_start); |
- EXPECT_EQ(GURL("http://barfirstparty.com"), |
- bar_data_use.first_party_for_cookies); |
- EXPECT_EQ(kBarTabId, bar_data_use.tab_id); |
- EXPECT_EQ(kBarConnectionType, bar_data_use.connection_type); |
- EXPECT_EQ(kBarMccMnc, bar_data_use.mcc_mnc); |
- EXPECT_EQ(bar_request->GetTotalSentBytes(), bar_data_use.tx_bytes); |
- EXPECT_EQ(bar_request->GetTotalReceivedBytes(), bar_data_use.rx_bytes); |
-} |
- |
TEST_F(DataUseAggregatorTest, ReportOffTheRecordDataUse) { |
// Off the record data use should not be reported to observers. |
data_use_aggregator()->ReportOffTheRecordDataUse(1000, 1000); |