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

Side by Side Diff: chrome/browser/chromeos/policy/system_log_upload_job.cc

Issue 1216643002: Added unittests for SystemLogUploader. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed according to the main log uploader CL. Created 5 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
OLDNEW
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/bind_helpers.h" 6 #include "base/bind_helpers.h"
7 #include "base/location.h" 7 #include "base/location.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "base/thread_task_runner_handle.h" 9 #include "base/thread_task_runner_handle.h"
10 #include "chrome/browser/chromeos/policy/system_log_upload_job.h" 10 #include "chrome/browser/chromeos/policy/system_log_upload_job.h"
(...skipping 13 matching lines...) Expand all
24 // String constant signalling that the segment contains a plain text. 24 // String constant signalling that the segment contains a plain text.
25 const char* const kContentTypePlainText = "text/plain"; 25 const char* const kContentTypePlainText = "text/plain";
26 26
27 // Template string constant for populating the name field. 27 // Template string constant for populating the name field.
28 const char* const kNameFieldTemplate = "file%zu"; 28 const char* const kNameFieldTemplate = "file%zu";
29 } // namespace 29 } // namespace
30 30
31 namespace policy { 31 namespace policy {
32 32
33 SystemLogUploadJob::SystemLogUploadJob(scoped_ptr<Delegate> syslog_delegate) 33 SystemLogUploadJob::SystemLogUploadJob(scoped_ptr<Delegate> syslog_delegate)
34 : upload_url_(GURL(kDefaultUploadUrl)), 34 : status_(NOT_STARTED),
35 upload_url_(GURL(kDefaultUploadUrl)),
35 syslog_delegate_(syslog_delegate.Pass()), 36 syslog_delegate_(syslog_delegate.Pass()),
36 weak_factory_(this) { 37 weak_factory_(this) {
37 DCHECK(syslog_delegate_); 38 DCHECK(syslog_delegate_);
38 } 39 }
39 40
40 SystemLogUploadJob::~SystemLogUploadJob() { 41 SystemLogUploadJob::~SystemLogUploadJob() {
41 } 42 }
42 43
43 void SystemLogUploadJob::OnSuccess() { 44 void SystemLogUploadJob::OnSuccess() {
45 status_ = SUCCEEDED;
44 base::ThreadTaskRunnerHandle::Get()->PostTask( 46 base::ThreadTaskRunnerHandle::Get()->PostTask(
45 FROM_HERE, base::Bind(succeeded_callback_)); 47 FROM_HERE, base::Bind(succeeded_callback_));
46 } 48 }
47 49
48 void SystemLogUploadJob::OnFailure(UploadJob::ErrorCode error_code) { 50 void SystemLogUploadJob::OnFailure(UploadJob::ErrorCode error_code) {
51 status_ = FAILED;
49 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, 52 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
50 base::Bind(failed_callback_)); 53 base::Bind(failed_callback_));
51 } 54 }
52 55
53 void SystemLogUploadJob::StartLoadSystemLogs() { 56 void SystemLogUploadJob::StartLoadSystemLogs() {
54 syslog_delegate_->LoadSystemLogs(base::Bind( 57 syslog_delegate_->LoadSystemLogs(base::Bind(
55 &SystemLogUploadJob::StartUploadSystemLogs, weak_factory_.GetWeakPtr())); 58 &SystemLogUploadJob::StartUploadSystemLogs, weak_factory_.GetWeakPtr()));
56 } 59 }
57 60
58 void SystemLogUploadJob::StartUploadSystemLogs(const SystemLogs* system_logs) { 61 void SystemLogUploadJob::StartUploadSystemLogs(const SystemLogs* system_logs) {
(...skipping 20 matching lines...) Expand all
79 const base::Closure& failed_callback) { 82 const base::Closure& failed_callback) {
80 // Ensure nobody calls Run() multiple times. 83 // Ensure nobody calls Run() multiple times.
81 DCHECK(!upload_job_); 84 DCHECK(!upload_job_);
82 85
83 succeeded_callback_ = succeeded_callback; 86 succeeded_callback_ = succeeded_callback;
84 failed_callback_ = failed_callback; 87 failed_callback_ = failed_callback;
85 88
86 // Immediately fail if the upload url is invalid. 89 // Immediately fail if the upload url is invalid.
87 if (!upload_url_.is_valid()) { 90 if (!upload_url_.is_valid()) {
88 LOG(ERROR) << upload_url_ << " is not a valid URL."; 91 LOG(ERROR) << upload_url_ << " is not a valid URL.";
89 base::Bind(failed_callback_); 92 base::Bind(failed_callback_);
Andrew T Wilson (Slow) 2015/07/03 16:19:59 What does this line do?
Polina Bondarenko 2015/07/10 13:24:21 Removed.
90 return; 93 return;
91 } 94 }
92 95
96 status_ = RUNNING;
93 upload_job_ = syslog_delegate_->CreateUploadJob(upload_url_, this); 97 upload_job_ = syslog_delegate_->CreateUploadJob(upload_url_, this);
94 DCHECK(upload_job_); 98 DCHECK(upload_job_);
95 99
96 StartLoadSystemLogs(); 100 StartLoadSystemLogs();
97 } 101 }
98 102
99 } // namespace policy 103 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698