| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/data_use_measurement/content/data_use_measurement.h" | 5 #include "components/data_use_measurement/content/data_use_measurement.h" |
| 6 | 6 |
| 7 #include <memory> |
| 7 #include <string> | 8 #include <string> |
| 8 | 9 |
| 9 #include "base/macros.h" | 10 #include "base/macros.h" |
| 10 #include "base/memory/scoped_ptr.h" | |
| 11 #include "base/test/histogram_tester.h" | 11 #include "base/test/histogram_tester.h" |
| 12 #include "build/build_config.h" | 12 #include "build/build_config.h" |
| 13 #include "content/public/browser/resource_request_info.h" | 13 #include "content/public/browser/resource_request_info.h" |
| 14 #include "net/base/network_change_notifier.h" | 14 #include "net/base/network_change_notifier.h" |
| 15 #include "net/base/request_priority.h" | 15 #include "net/base/request_priority.h" |
| 16 #include "net/socket/socket_test_util.h" | 16 #include "net/socket/socket_test_util.h" |
| 17 #include "net/url_request/url_request.h" | 17 #include "net/url_request/url_request.h" |
| 18 #include "net/url_request/url_request_test_util.h" | 18 #include "net/url_request/url_request_test_util.h" |
| 19 #include "testing/gtest/include/gtest/gtest.h" | 19 #include "testing/gtest/include/gtest/gtest.h" |
| 20 #include "url/gurl.h" | 20 #include "url/gurl.h" |
| (...skipping 20 matching lines...) Expand all Loading... |
| 41 void SendRequest(bool is_user_request) { | 41 void SendRequest(bool is_user_request) { |
| 42 net::TestDelegate test_delegate; | 42 net::TestDelegate test_delegate; |
| 43 InitializeContext(); | 43 InitializeContext(); |
| 44 net::MockRead reads[] = {net::MockRead("HTTP/1.1 200 OK\r\n" | 44 net::MockRead reads[] = {net::MockRead("HTTP/1.1 200 OK\r\n" |
| 45 "Content-Length: 12\r\n\r\n"), | 45 "Content-Length: 12\r\n\r\n"), |
| 46 net::MockRead("Test Content")}; | 46 net::MockRead("Test Content")}; |
| 47 net::StaticSocketDataProvider socket_data(reads, arraysize(reads), nullptr, | 47 net::StaticSocketDataProvider socket_data(reads, arraysize(reads), nullptr, |
| 48 0); | 48 0); |
| 49 socket_factory_->AddSocketDataProvider(&socket_data); | 49 socket_factory_->AddSocketDataProvider(&socket_data); |
| 50 | 50 |
| 51 scoped_ptr<net::URLRequest> request(context_->CreateRequest( | 51 std::unique_ptr<net::URLRequest> request(context_->CreateRequest( |
| 52 GURL("http://foo.com"), net::DEFAULT_PRIORITY, &test_delegate)); | 52 GURL("http://foo.com"), net::DEFAULT_PRIORITY, &test_delegate)); |
| 53 if (is_user_request) { | 53 if (is_user_request) { |
| 54 request->SetUserData( | 54 request->SetUserData( |
| 55 data_use_measurement::DataUseUserData::kUserDataKey, | 55 data_use_measurement::DataUseUserData::kUserDataKey, |
| 56 new data_use_measurement::DataUseUserData( | 56 new data_use_measurement::DataUseUserData( |
| 57 data_use_measurement::DataUseUserData::SUGGESTIONS)); | 57 data_use_measurement::DataUseUserData::SUGGESTIONS)); |
| 58 } else { | 58 } else { |
| 59 content::ResourceRequestInfo::AllocateForTesting( | 59 content::ResourceRequestInfo::AllocateForTesting( |
| 60 request.get(), content::RESOURCE_TYPE_MAIN_FRAME, nullptr, -2, -2, -2, | 60 request.get(), content::RESOURCE_TYPE_MAIN_FRAME, nullptr, -2, -2, -2, |
| 61 true, false, true, true, false); | 61 true, false, true, true, false); |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 116 } | 116 } |
| 117 | 117 |
| 118 void FakeDataUseforwarder(const std::string& service_name, | 118 void FakeDataUseforwarder(const std::string& service_name, |
| 119 int message_size, | 119 int message_size, |
| 120 bool is_celllular) { | 120 bool is_celllular) { |
| 121 is_data_use_forwarder_called_ = true; | 121 is_data_use_forwarder_called_ = true; |
| 122 } | 122 } |
| 123 | 123 |
| 124 base::MessageLoopForIO loop_; | 124 base::MessageLoopForIO loop_; |
| 125 DataUseMeasurement data_use_measurement_; | 125 DataUseMeasurement data_use_measurement_; |
| 126 scoped_ptr<net::MockClientSocketFactory> socket_factory_; | 126 std::unique_ptr<net::MockClientSocketFactory> socket_factory_; |
| 127 scoped_ptr<net::TestURLRequestContext> context_; | 127 std::unique_ptr<net::TestURLRequestContext> context_; |
| 128 const std::string kConnectionType = "NotCellular"; | 128 const std::string kConnectionType = "NotCellular"; |
| 129 bool is_data_use_forwarder_called_ = false; | 129 bool is_data_use_forwarder_called_ = false; |
| 130 | 130 |
| 131 DISALLOW_COPY_AND_ASSIGN(DataUseMeasurementTest); | 131 DISALLOW_COPY_AND_ASSIGN(DataUseMeasurementTest); |
| 132 }; | 132 }; |
| 133 | 133 |
| 134 // This test function tests recording of data use information in UMA histogram | 134 // This test function tests recording of data use information in UMA histogram |
| 135 // when packet is originated from user or services when the app is in the | 135 // when packet is originated from user or services when the app is in the |
| 136 // foreground or the OS is not Android. | 136 // foreground or the OS is not Android. |
| 137 // TODO(amohammadkhan): Add tests for Cellular/non-cellular connection types | 137 // TODO(amohammadkhan): Add tests for Cellular/non-cellular connection types |
| (...skipping 19 matching lines...) Expand all Loading... |
| 157 } | 157 } |
| 158 #endif | 158 #endif |
| 159 | 159 |
| 160 TEST_F(DataUseMeasurementTest, DataUseForwarderIsCalled) { | 160 TEST_F(DataUseMeasurementTest, DataUseForwarderIsCalled) { |
| 161 EXPECT_FALSE(IsDataUseForwarderCalled()); | 161 EXPECT_FALSE(IsDataUseForwarderCalled()); |
| 162 SendRequest(true); | 162 SendRequest(true); |
| 163 EXPECT_TRUE(IsDataUseForwarderCalled()); | 163 EXPECT_TRUE(IsDataUseForwarderCalled()); |
| 164 } | 164 } |
| 165 | 165 |
| 166 } // namespace data_use_measurement | 166 } // namespace data_use_measurement |
| OLD | NEW |