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

Side by Side Diff: components/data_reduction_proxy/core/browser/data_reduction_proxy_data_unittest.cc

Issue 2833523002: Adding opt out and previews type information to DRP pingback (Closed)
Patch Set: bengr comments Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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_reduction_proxy/core/browser/data_reduction_proxy_data .h" 5 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_data .h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <string>
10 11
11 #include "base/memory/ptr_util.h" 12 #include "base/memory/ptr_util.h"
12 #include "base/message_loop/message_loop.h" 13 #include "base/message_loop/message_loop.h"
13 #include "net/base/request_priority.h" 14 #include "net/base/request_priority.h"
14 #include "net/nqe/effective_connection_type.h" 15 #include "net/nqe/effective_connection_type.h"
15 #include "net/traffic_annotation/network_traffic_annotation_test_helper.h" 16 #include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
16 #include "net/url_request/url_request.h" 17 #include "net/url_request/url_request.h"
17 #include "net/url_request/url_request_context.h" 18 #include "net/url_request/url_request_context.h"
18 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
19 #include "url/gurl.h" 20 #include "url/gurl.h"
(...skipping 17 matching lines...) Expand all
37 EXPECT_TRUE(data->used_data_reduction_proxy()); 38 EXPECT_TRUE(data->used_data_reduction_proxy());
38 data->set_used_data_reduction_proxy(false); 39 data->set_used_data_reduction_proxy(false);
39 EXPECT_FALSE(data->used_data_reduction_proxy()); 40 EXPECT_FALSE(data->used_data_reduction_proxy());
40 41
41 EXPECT_FALSE(data->lofi_requested()); 42 EXPECT_FALSE(data->lofi_requested());
42 data->set_lofi_requested(true); 43 data->set_lofi_requested(true);
43 EXPECT_TRUE(data->lofi_requested()); 44 EXPECT_TRUE(data->lofi_requested());
44 data->set_lofi_requested(false); 45 data->set_lofi_requested(false);
45 EXPECT_FALSE(data->lofi_requested()); 46 EXPECT_FALSE(data->lofi_requested());
46 47
48 EXPECT_FALSE(data->lite_page_received());
49 data->set_lite_page_received(true);
50 EXPECT_TRUE(data->lite_page_received());
51 data->set_lite_page_received(false);
52 EXPECT_FALSE(data->lite_page_received());
53
54 EXPECT_FALSE(data->lofi_received());
55 data->set_lofi_received(true);
56 EXPECT_TRUE(data->lofi_received());
57 data->set_lofi_received(false);
58 EXPECT_FALSE(data->lofi_received());
59
47 EXPECT_EQ(std::string(), data->session_key()); 60 EXPECT_EQ(std::string(), data->session_key());
48 EXPECT_EQ(GURL(std::string()), data->request_url());
49 std::string session_key = "test-key"; 61 std::string session_key = "test-key";
50 data->set_session_key(session_key); 62 data->set_session_key(session_key);
51 EXPECT_EQ(session_key, data->session_key()); 63 EXPECT_EQ(session_key, data->session_key());
64
65 EXPECT_EQ(GURL(std::string()), data->request_url());
52 GURL test_url("test-url"); 66 GURL test_url("test-url");
53 data->set_request_url(test_url); 67 data->set_request_url(test_url);
54 EXPECT_EQ(test_url, data->request_url()); 68 EXPECT_EQ(test_url, data->request_url());
69
55 EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN, 70 EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN,
56 data->effective_connection_type()); 71 data->effective_connection_type());
57 data->set_effective_connection_type(net::EFFECTIVE_CONNECTION_TYPE_OFFLINE); 72 data->set_effective_connection_type(net::EFFECTIVE_CONNECTION_TYPE_OFFLINE);
58 EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_OFFLINE, 73 EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_OFFLINE,
59 data->effective_connection_type()); 74 data->effective_connection_type());
75
76 EXPECT_FALSE(data->page_id());
60 uint64_t page_id = 1; 77 uint64_t page_id = 1;
61 EXPECT_FALSE(data->page_id());
62 data->set_page_id(page_id); 78 data->set_page_id(page_id);
63 EXPECT_EQ(page_id, data->page_id().value()); 79 EXPECT_EQ(page_id, data->page_id().value());
64 } 80 }
65 81
66 TEST_F(DataReductionProxyDataTest, AddToURLRequest) { 82 TEST_F(DataReductionProxyDataTest, AddToURLRequest) {
67 std::unique_ptr<net::URLRequestContext> context(new net::URLRequestContext()); 83 std::unique_ptr<net::URLRequestContext> context(new net::URLRequestContext());
68 std::unique_ptr<net::URLRequest> fake_request(context->CreateRequest( 84 std::unique_ptr<net::URLRequest> fake_request(context->CreateRequest(
69 GURL("http://www.google.com"), net::RequestPriority::IDLE, nullptr, 85 GURL("http://www.google.com"), net::RequestPriority::IDLE, nullptr,
70 TRAFFIC_ANNOTATION_FOR_TESTS)); 86 TRAFFIC_ANNOTATION_FOR_TESTS));
71 DataReductionProxyData* data = 87 DataReductionProxyData* data =
72 DataReductionProxyData::GetData(*fake_request.get()); 88 DataReductionProxyData::GetData(*fake_request.get());
73 EXPECT_FALSE(data); 89 EXPECT_FALSE(data);
74 data = 90 data =
75 DataReductionProxyData::GetDataAndCreateIfNecessary(fake_request.get()); 91 DataReductionProxyData::GetDataAndCreateIfNecessary(fake_request.get());
76 EXPECT_TRUE(data); 92 EXPECT_TRUE(data);
77 data = DataReductionProxyData::GetData(*fake_request.get()); 93 data = DataReductionProxyData::GetData(*fake_request.get());
78 EXPECT_TRUE(data); 94 EXPECT_TRUE(data);
79 DataReductionProxyData* data2 = 95 DataReductionProxyData* data2 =
80 DataReductionProxyData::GetDataAndCreateIfNecessary(fake_request.get()); 96 DataReductionProxyData::GetDataAndCreateIfNecessary(fake_request.get());
81 EXPECT_EQ(data, data2); 97 EXPECT_EQ(data, data2);
82 } 98 }
83 99
84 TEST_F(DataReductionProxyDataTest, DeepCopy) { 100 TEST_F(DataReductionProxyDataTest, DeepCopy) {
85 const struct { 101 const struct {
86 bool data_reduction_used; 102 bool data_reduction_used;
87 bool lofi_on; 103 bool lofi_test_value;
88 } tests[] = { 104 } tests[] = {
89 { 105 {
90 false, true, 106 false, true,
91 }, 107 },
92 { 108 {
93 false, false, 109 false, false,
94 }, 110 },
95 { 111 {
96 true, false, 112 true, false,
97 }, 113 },
98 { 114 {
99 true, true, 115 true, true,
100 }, 116 },
101 }; 117 };
102 118
103 for (size_t i = 0; i < arraysize(tests); ++i) { 119 for (size_t i = 0; i < arraysize(tests); ++i) {
104 static const char kSessionKey[] = "test-key"; 120 static const char kSessionKey[] = "test-key";
105 static const GURL kTestURL("test-url"); 121 static const GURL kTestURL("test-url");
106 std::unique_ptr<DataReductionProxyData> data(new DataReductionProxyData()); 122 std::unique_ptr<DataReductionProxyData> data(new DataReductionProxyData());
107 data->set_used_data_reduction_proxy(tests[i].data_reduction_used); 123 data->set_used_data_reduction_proxy(tests[i].data_reduction_used);
108 data->set_lofi_requested(tests[i].lofi_on); 124 data->set_lofi_requested(tests[i].lofi_test_value);
125 data->set_lite_page_received(tests[i].lofi_test_value);
126 data->set_lofi_received(tests[i].lofi_test_value);
109 data->set_session_key(kSessionKey); 127 data->set_session_key(kSessionKey);
110 data->set_request_url(kTestURL); 128 data->set_request_url(kTestURL);
111 data->set_effective_connection_type(net::EFFECTIVE_CONNECTION_TYPE_OFFLINE); 129 data->set_effective_connection_type(net::EFFECTIVE_CONNECTION_TYPE_OFFLINE);
112 data->set_page_id(2u); 130 data->set_page_id(2u);
113 std::unique_ptr<DataReductionProxyData> copy = data->DeepCopy(); 131 std::unique_ptr<DataReductionProxyData> copy = data->DeepCopy();
114 EXPECT_EQ(tests[i].lofi_on, copy->lofi_requested()); 132 EXPECT_EQ(tests[i].lofi_test_value, copy->lofi_requested());
133 EXPECT_EQ(tests[i].lofi_test_value, copy->lite_page_received());
134 EXPECT_EQ(tests[i].lofi_test_value, copy->lofi_received());
115 EXPECT_EQ(tests[i].data_reduction_used, copy->used_data_reduction_proxy()); 135 EXPECT_EQ(tests[i].data_reduction_used, copy->used_data_reduction_proxy());
116 EXPECT_EQ(kSessionKey, copy->session_key()); 136 EXPECT_EQ(kSessionKey, copy->session_key());
117 EXPECT_EQ(kTestURL, copy->request_url()); 137 EXPECT_EQ(kTestURL, copy->request_url());
118 EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_OFFLINE, 138 EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_OFFLINE,
119 copy->effective_connection_type()); 139 copy->effective_connection_type());
120 EXPECT_EQ(2u, data->page_id().value()); 140 EXPECT_EQ(2u, data->page_id().value());
121 } 141 }
122 } 142 }
123 143
124 TEST_F(DataReductionProxyDataTest, ClearData) { 144 TEST_F(DataReductionProxyDataTest, ClearData) {
125 std::unique_ptr<net::URLRequestContext> context(new net::URLRequestContext()); 145 std::unique_ptr<net::URLRequestContext> context(new net::URLRequestContext());
126 std::unique_ptr<net::URLRequest> fake_request(context->CreateRequest( 146 std::unique_ptr<net::URLRequest> fake_request(context->CreateRequest(
127 GURL("http://www.google.com"), net::RequestPriority::IDLE, nullptr, 147 GURL("http://www.google.com"), net::RequestPriority::IDLE, nullptr,
128 TRAFFIC_ANNOTATION_FOR_TESTS)); 148 TRAFFIC_ANNOTATION_FOR_TESTS));
129 149
130 DataReductionProxyData* data = 150 DataReductionProxyData* data =
131 DataReductionProxyData::GetDataAndCreateIfNecessary(fake_request.get()); 151 DataReductionProxyData::GetDataAndCreateIfNecessary(fake_request.get());
132 EXPECT_TRUE(data); 152 EXPECT_TRUE(data);
133 DataReductionProxyData::ClearData(fake_request.get()); 153 DataReductionProxyData::ClearData(fake_request.get());
134 data = DataReductionProxyData::GetData(*fake_request.get()); 154 data = DataReductionProxyData::GetData(*fake_request.get());
135 EXPECT_FALSE(data); 155 EXPECT_FALSE(data);
136 } 156 }
137 157
138 } // namespace 158 } // namespace
139 159
140 } // namespace data_reduction_proxy 160 } // namespace data_reduction_proxy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698