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