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

Unified Diff: components/data_reduction_proxy/content/browser/data_reduction_proxy_message_filter_unittest.cc

Issue 1140443002: Modify IPC call to properly record the PLT histograms for LoFi. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed minor typo in test Created 5 years, 7 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_reduction_proxy/content/browser/data_reduction_proxy_message_filter_unittest.cc
diff --git a/components/data_reduction_proxy/content/browser/data_reduction_proxy_message_filter_unittest.cc b/components/data_reduction_proxy/content/browser/data_reduction_proxy_message_filter_unittest.cc
index eef60dbcea1e2c5b363053afad42826977ef479f..37aa0ce96dc489f93cb300dc4b0457f7769e5c70 100644
--- a/components/data_reduction_proxy/content/browser/data_reduction_proxy_message_filter_unittest.cc
+++ b/components/data_reduction_proxy/content/browser/data_reduction_proxy_message_filter_unittest.cc
@@ -4,11 +4,13 @@
#include "components/data_reduction_proxy/content/browser/data_reduction_proxy_message_filter.h"
+#include "base/command_line.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_config_test_utils.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.h"
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_params_test_utils.h"
+#include "components/data_reduction_proxy/core/common/data_reduction_proxy_switches.h"
#include "net/base/host_port_pair.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -43,23 +45,98 @@ class DataReductionProxyMessageFilterTest : public testing::Test {
scoped_refptr<DataReductionProxyMessageFilter> message_filter_;
};
-TEST_F(DataReductionProxyMessageFilterTest, TestOnIsDataReductionProxy) {
+TEST_F(DataReductionProxyMessageFilterTest, TestOnDataReductionProxyStatus) {
net::HostPortPair proxy_server =
net::HostPortPair::FromString("www.google.com:443");
- bool is_data_reduction_proxy = false;
- EXPECT_CALL(*config(), IsDataReductionProxy(testing::_, nullptr))
- .Times(1)
- .WillOnce(testing::Return(true));
- message_filter()->OnIsDataReductionProxy(proxy_server,
- &is_data_reduction_proxy);
- EXPECT_TRUE(is_data_reduction_proxy);
- EXPECT_CALL(*config(), IsDataReductionProxy(testing::_, nullptr))
- .Times(1)
- .WillOnce(testing::Return(false));
- message_filter()->OnIsDataReductionProxy(proxy_server,
- &is_data_reduction_proxy);
- EXPECT_FALSE(is_data_reduction_proxy);
+ const bool enable_lofi_on_switch[] = {false, true};
+
+ const struct {
+ bool is_data_reduction_proxy;
+ bool auto_lofi_enabled_field_trial_group;
+ bool auto_lofi_control_field_trial_group;
+ bool is_network_bad;
+ bool expected_is_data_reduction_proxy;
+ AutoLoFiStatus expected_auto_lofi_status;
+
+ } tests[] = {
+ {
+ // In Enabled field trial group and the network is bad.
+ true,
+ true,
+ false,
+ true,
+ true,
+ AUTO_LOFI_STATUS_ON,
+ },
+ {
+ // In Enabled field trial group but the network is not bad.
+ true,
+ true,
+ false,
+ false,
+ true,
+ AUTO_LOFI_STATUS_DISABLED,
+ },
+ {
+ // In Control field trial group and the network is bad.
+ true,
+ false,
+ true,
+ true,
+ true,
+ AUTO_LOFI_STATUS_OFF,
+ },
+ {
+ // In Control field trial group but the network is not bad.
+ true,
+ false,
+ true,
+ false,
+ true,
+ AUTO_LOFI_STATUS_DISABLED,
+ },
+ {
+ // Not a data reduction proxy server.
+ false,
+ true,
+ false,
+ true,
+ false,
+ AUTO_LOFI_STATUS_DISABLED,
+ },
+ };
+
+ for (size_t i = 0; i < arraysize(enable_lofi_on_switch); ++i) {
+ if (enable_lofi_on_switch[i]) {
+ // Enabling LoFi on switch should have no effect on Auto LoFi.
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ command_line->AppendSwitch(
+ data_reduction_proxy::switches::kEnableDataReductionProxyLoFi);
+ }
+
+ for (size_t j = 0; j < arraysize(tests); ++j) {
+ bool is_data_reduction_proxy = false;
+
+ EXPECT_CALL(*config(), IsDataReductionProxy(testing::_, nullptr))
+ .WillOnce(testing::Return(tests[j].is_data_reduction_proxy));
+ EXPECT_CALL(*config(), IsNetworkBad())
+ .WillRepeatedly(testing::Return(tests[j].is_network_bad));
+ EXPECT_CALL(*config(), IsIncludedInLoFiEnabledFieldTrial())
+ .WillRepeatedly(
+ testing::Return(tests[j].auto_lofi_enabled_field_trial_group));
+ EXPECT_CALL(*config(), IsIncludedInLoFiControlFieldTrial())
+ .WillRepeatedly(
+ testing::Return(tests[j].auto_lofi_control_field_trial_group));
+ enum AutoLoFiStatus auto_lofi_status;
+ message_filter()->OnDataReductionProxyStatus(
+ proxy_server, &is_data_reduction_proxy, &auto_lofi_status);
+ EXPECT_EQ(is_data_reduction_proxy,
+ tests[j].expected_is_data_reduction_proxy)
+ << i << j;
+ EXPECT_EQ(auto_lofi_status, tests[j].expected_auto_lofi_status) << i << j;
+ }
+ }
}
} // namespace data_reduction_proxy

Powered by Google App Engine
This is Rietveld 408576698