OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "components/component_updater/test/test_configurator.h" | |
6 | |
7 #include "base/run_loop.h" | |
8 #include "base/version.h" | |
9 #include "components/component_updater/component_patcher_operation.h" | |
10 #include "url/gurl.h" | |
11 | |
12 namespace component_updater { | |
13 | |
14 namespace { | |
15 | |
16 std::vector<GURL> MakeDefaultUrls() { | |
17 std::vector<GURL> urls; | |
18 urls.push_back(GURL(POST_INTERCEPT_SCHEME | |
19 "://" POST_INTERCEPT_HOSTNAME POST_INTERCEPT_PATH)); | |
20 return urls; | |
21 } | |
22 | |
23 } // namespace | |
24 | |
25 TestConfigurator::TestConfigurator( | |
26 const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner, | |
27 const scoped_refptr<base::SingleThreadTaskRunner>& network_task_runner) | |
28 : worker_task_runner_(worker_task_runner), | |
29 initial_time_(0), | |
30 times_(1), | |
31 recheck_time_(0), | |
32 ondemand_time_(0), | |
33 context_(new net::TestURLRequestContextGetter(network_task_runner)) { | |
34 } | |
35 | |
36 TestConfigurator::~TestConfigurator() { | |
37 } | |
38 | |
39 int TestConfigurator::InitialDelay() const { | |
40 return initial_time_; | |
41 } | |
42 | |
43 int TestConfigurator::NextCheckDelay() { | |
44 // This is called when a new full cycle of checking for updates is going | |
45 // to happen. In test we normally only test one cycle so it is a good | |
46 // time to break from the test messageloop Run() method so the test can | |
47 // finish. | |
48 if (--times_ <= 0) { | |
49 quit_closure_.Run(); | |
50 return 0; | |
51 } | |
52 return 1; | |
53 } | |
54 | |
55 int TestConfigurator::StepDelay() const { | |
56 return 0; | |
57 } | |
58 | |
59 int TestConfigurator::StepDelayMedium() { | |
60 return NextCheckDelay(); | |
61 } | |
62 | |
63 int TestConfigurator::MinimumReCheckWait() const { | |
64 return recheck_time_; | |
65 } | |
66 | |
67 int TestConfigurator::OnDemandDelay() const { | |
68 return ondemand_time_; | |
69 } | |
70 | |
71 std::vector<GURL> TestConfigurator::UpdateUrl() const { | |
72 return MakeDefaultUrls(); | |
73 } | |
74 | |
75 std::vector<GURL> TestConfigurator::PingUrl() const { | |
76 return UpdateUrl(); | |
77 } | |
78 | |
79 base::Version TestConfigurator::GetBrowserVersion() const { | |
80 // Needs to be larger than the required version in tested component manifests. | |
81 return base::Version("30.0"); | |
82 } | |
83 | |
84 std::string TestConfigurator::GetChannel() const { | |
85 return "fake_channel_string"; | |
86 } | |
87 | |
88 std::string TestConfigurator::GetLang() const { | |
89 return "fake_lang"; | |
90 } | |
91 | |
92 std::string TestConfigurator::GetOSLongName() const { | |
93 return "Fake Operating System"; | |
94 } | |
95 | |
96 std::string TestConfigurator::ExtraRequestParams() const { | |
97 return "extra=\"foo\""; | |
98 } | |
99 | |
100 size_t TestConfigurator::UrlSizeLimit() const { | |
101 return 256; | |
102 } | |
103 | |
104 net::URLRequestContextGetter* TestConfigurator::RequestContext() const { | |
105 return context_.get(); | |
106 } | |
107 | |
108 scoped_refptr<OutOfProcessPatcher> TestConfigurator::CreateOutOfProcessPatcher() | |
109 const { | |
110 return NULL; | |
111 } | |
112 | |
113 bool TestConfigurator::DeltasEnabled() const { | |
114 return true; | |
115 } | |
116 | |
117 bool TestConfigurator::UseBackgroundDownloader() const { | |
118 return false; | |
119 } | |
120 | |
121 // Set how many update checks are called, the default value is just once. | |
122 void TestConfigurator::SetLoopCount(int times) { | |
123 times_ = times; | |
124 } | |
125 | |
126 void TestConfigurator::SetRecheckTime(int seconds) { | |
127 recheck_time_ = seconds; | |
128 } | |
129 | |
130 void TestConfigurator::SetOnDemandTime(int seconds) { | |
131 ondemand_time_ = seconds; | |
132 } | |
133 | |
134 void TestConfigurator::SetQuitClosure(const base::Closure& quit_closure) { | |
135 quit_closure_ = quit_closure; | |
136 } | |
137 | |
138 void TestConfigurator::SetInitialDelay(int seconds) { | |
139 initial_time_ = seconds; | |
140 } | |
141 | |
142 scoped_refptr<base::SequencedTaskRunner> | |
143 TestConfigurator::GetSequencedTaskRunner() const { | |
144 DCHECK(worker_task_runner_.get()); | |
145 return worker_task_runner_; | |
146 } | |
147 | |
148 scoped_refptr<base::SingleThreadTaskRunner> | |
149 TestConfigurator::GetSingleThreadTaskRunner() const { | |
150 // This is NULL because tests do not use the background downloader. | |
151 return NULL; | |
152 } | |
153 | |
154 } // namespace component_updater | |
OLD | NEW |