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

Side by Side Diff: components/data_reduction_proxy/browser/data_reduction_proxy_usage_stats_unittest.cc

Issue 407093011: Allow URLRequests from one context to have different NetworkDelegates. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: And fix more stuff... Created 6 years, 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/browser/data_reduction_proxy_usage_sta ts.h" 5 #include "components/data_reduction_proxy/browser/data_reduction_proxy_usage_sta ts.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "net/base/request_priority.h" 8 #include "net/base/request_priority.h"
9 #include "net/url_request/url_request.h" 9 #include "net/url_request/url_request.h"
10 #include "net/url_request/url_request_status.h" 10 #include "net/url_request/url_request_status.h"
(...skipping 26 matching lines...) Expand all
37 }; 37 };
38 38
39 } // namespace 39 } // namespace
40 40
41 namespace data_reduction_proxy { 41 namespace data_reduction_proxy {
42 42
43 class DataReductionProxyUsageStatsTest : public testing::Test { 43 class DataReductionProxyUsageStatsTest : public testing::Test {
44 public: 44 public:
45 DataReductionProxyUsageStatsTest() 45 DataReductionProxyUsageStatsTest()
46 : loop_proxy_(MessageLoopProxy::current().get()), 46 : loop_proxy_(MessageLoopProxy::current().get()),
47 context_(true), 47 context_(true) {
48 mock_url_request_(GURL(), net::IDLE, &delegate_, &context_) {
49 context_.Init(); 48 context_.Init();
49 mock_url_request_ = context_.CreateRequest(GURL(), net::IDLE, &delegate_,
50 NULL);
50 } 51 }
51 // Required for MessageLoopProxy::current(). 52 // Required for MessageLoopProxy::current().
52 base::MessageLoopForUI loop_; 53 base::MessageLoopForUI loop_;
53 MessageLoopProxy* loop_proxy_; 54 MessageLoopProxy* loop_proxy_;
54 55
55 protected: 56 protected:
56 TestURLRequestContext context_; 57 TestURLRequestContext context_;
57 TestDelegate delegate_; 58 TestDelegate delegate_;
58 DataReductionProxyParamsMock mock_params_; 59 DataReductionProxyParamsMock mock_params_;
59 URLRequest mock_url_request_; 60 scoped_ptr<URLRequest> mock_url_request_;
60 }; 61 };
61 62
62 TEST_F(DataReductionProxyUsageStatsTest, isDataReductionProxyUnreachable) { 63 TEST_F(DataReductionProxyUsageStatsTest, isDataReductionProxyUnreachable) {
63 struct TestCase { 64 struct TestCase {
64 bool is_proxy_eligible; 65 bool is_proxy_eligible;
65 bool was_proxy_used; 66 bool was_proxy_used;
66 bool is_unreachable; 67 bool is_unreachable;
67 }; 68 };
68 const TestCase test_cases[] = { 69 const TestCase test_cases[] = {
69 { 70 {
70 false, 71 false,
71 false, 72 false,
72 false 73 false
73 }, 74 },
74 { 75 {
75 true, 76 true,
76 true, 77 true,
77 false 78 false
78 }, 79 },
79 { 80 {
80 true, 81 true,
81 false, 82 false,
82 true 83 true
83 } 84 }
84 }; 85 };
85 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { 86 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) {
86 TestCase test_case = test_cases[i]; 87 TestCase test_case = test_cases[i];
87 88
88 EXPECT_CALL(mock_params_, IsDataReductionProxyEligible(&mock_url_request_))
89 .WillRepeatedly(Return(test_case.is_proxy_eligible));
90 EXPECT_CALL(mock_params_, 89 EXPECT_CALL(mock_params_,
91 WasDataReductionProxyUsed(&mock_url_request_, NULL)) 90 IsDataReductionProxyEligible(mock_url_request_.get()))
91 .WillRepeatedly(Return(test_case.is_proxy_eligible));
92 EXPECT_CALL(mock_params_,
93 WasDataReductionProxyUsed(mock_url_request_.get(), NULL))
92 .WillRepeatedly(Return(test_case.was_proxy_used)); 94 .WillRepeatedly(Return(test_case.was_proxy_used));
93 95
94 scoped_ptr<DataReductionProxyUsageStats> usage_stats( 96 scoped_ptr<DataReductionProxyUsageStats> usage_stats(
95 new DataReductionProxyUsageStats( 97 new DataReductionProxyUsageStats(
96 &mock_params_, loop_proxy_, loop_proxy_)); 98 &mock_params_, loop_proxy_, loop_proxy_));
97 99
98 usage_stats->OnUrlRequestCompleted(&mock_url_request_, false); 100 usage_stats->OnUrlRequestCompleted(mock_url_request_.get(), false);
99 MessageLoop::current()->RunUntilIdle(); 101 MessageLoop::current()->RunUntilIdle();
100 102
101 EXPECT_EQ(test_case.is_unreachable, 103 EXPECT_EQ(test_case.is_unreachable,
102 usage_stats->isDataReductionProxyUnreachable()); 104 usage_stats->isDataReductionProxyUnreachable());
103 } 105 }
104 } 106 }
105 107
106 } // namespace data_reduction_proxy 108 } // namespace data_reduction_proxy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698