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.
5 #include "components/update_client/test/test_configurator.h"
7 #include "base/run_loop.h"
8 #include "base/version.h"
9 #include "components/update_client/component_patcher_operation.h"
12 namespace update_client
{
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
));
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
),
33 context_(new net::TestURLRequestContextGetter(network_task_runner
)) {
36 TestConfigurator::~TestConfigurator() {
39 int TestConfigurator::InitialDelay() const {
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
55 int TestConfigurator::StepDelay() const {
59 int TestConfigurator::StepDelayMedium() {
60 return NextCheckDelay();
63 int TestConfigurator::MinimumReCheckWait() const {
67 int TestConfigurator::OnDemandDelay() const {
68 return ondemand_time_
;
71 int TestConfigurator::UpdateDelay() const {
75 std::vector
<GURL
> TestConfigurator::UpdateUrl() const {
76 return MakeDefaultUrls();
79 std::vector
<GURL
> TestConfigurator::PingUrl() const {
83 base::Version
TestConfigurator::GetBrowserVersion() const {
84 // Needs to be larger than the required version in tested component manifests.
85 return base::Version("30.0");
88 std::string
TestConfigurator::GetChannel() const {
89 return "fake_channel_string";
92 std::string
TestConfigurator::GetLang() const {
96 std::string
TestConfigurator::GetOSLongName() const {
97 return "Fake Operating System";
100 std::string
TestConfigurator::ExtraRequestParams() const {
101 return "extra=\"foo\"";
104 size_t TestConfigurator::UrlSizeLimit() const {
108 net::URLRequestContextGetter
* TestConfigurator::RequestContext() const {
109 return context_
.get();
112 scoped_refptr
<OutOfProcessPatcher
> TestConfigurator::CreateOutOfProcessPatcher()
117 bool TestConfigurator::DeltasEnabled() const {
121 bool TestConfigurator::UseBackgroundDownloader() const {
125 // Set how many update checks are called, the default value is just once.
126 void TestConfigurator::SetLoopCount(int times
) {
130 void TestConfigurator::SetRecheckTime(int seconds
) {
131 recheck_time_
= seconds
;
134 void TestConfigurator::SetOnDemandTime(int seconds
) {
135 ondemand_time_
= seconds
;
138 void TestConfigurator::SetQuitClosure(const base::Closure
& quit_closure
) {
139 quit_closure_
= quit_closure
;
142 void TestConfigurator::SetInitialDelay(int seconds
) {
143 initial_time_
= seconds
;
146 scoped_refptr
<base::SequencedTaskRunner
>
147 TestConfigurator::GetSequencedTaskRunner() const {
148 DCHECK(worker_task_runner_
.get());
149 return worker_task_runner_
;
152 scoped_refptr
<base::SingleThreadTaskRunner
>
153 TestConfigurator::GetSingleThreadTaskRunner() const {
154 // This is NULL because tests do not use the background downloader.
158 } // namespace update_client