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

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

Issue 1870793002: Convert //chrome/browser/chromeos from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 8 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 "chrome/browser/chromeos/policy/system_log_uploader.h" 5 #include "chrome/browser/chromeos/policy/system_log_uploader.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/memory/ptr_util.h"
9 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
10 #include "base/test/test_simple_task_runner.h" 11 #include "base/test/test_simple_task_runner.h"
11 #include "base/time/time.h" 12 #include "base/time/time.h"
12 #include "chrome/browser/chromeos/settings/scoped_cros_settings_test_helper.h" 13 #include "chrome/browser/chromeos/settings/scoped_cros_settings_test_helper.h"
13 #include "components/feedback/anonymizer_tool.h" 14 #include "components/feedback/anonymizer_tool.h"
14 #include "content/public/test/test_browser_thread_bundle.h" 15 #include "content/public/test/test_browser_thread_bundle.h"
15 #include "content/public/test/test_utils.h" 16 #include "content/public/test/test_utils.h"
16 #include "net/http/http_request_headers.h" 17 #include "net/http/http_request_headers.h"
17 #include "testing/gmock/include/gmock/gmock.h" 18 #include "testing/gmock/include/gmock/gmock.h"
18 19
(...skipping 20 matching lines...) Expand all
39 MockUploadJob(const GURL& upload_url, 40 MockUploadJob(const GURL& upload_url,
40 UploadJob::Delegate* delegate, 41 UploadJob::Delegate* delegate,
41 bool is_upload_error, 42 bool is_upload_error,
42 int max_files); 43 int max_files);
43 ~MockUploadJob() override; 44 ~MockUploadJob() override;
44 45
45 // policy::UploadJob: 46 // policy::UploadJob:
46 void AddDataSegment(const std::string& name, 47 void AddDataSegment(const std::string& name,
47 const std::string& filename, 48 const std::string& filename,
48 const std::map<std::string, std::string>& header_entries, 49 const std::map<std::string, std::string>& header_entries,
49 scoped_ptr<std::string> data) override; 50 std::unique_ptr<std::string> data) override;
50 void Start() override; 51 void Start() override;
51 52
52 protected: 53 protected:
53 UploadJob::Delegate* delegate_; 54 UploadJob::Delegate* delegate_;
54 bool is_upload_error_; 55 bool is_upload_error_;
55 int file_index_; 56 int file_index_;
56 int max_files_; 57 int max_files_;
57 }; 58 };
58 59
59 MockUploadJob::MockUploadJob(const GURL& upload_url, 60 MockUploadJob::MockUploadJob(const GURL& upload_url,
60 UploadJob::Delegate* delegate, 61 UploadJob::Delegate* delegate,
61 bool is_upload_error, 62 bool is_upload_error,
62 int max_files) 63 int max_files)
63 : delegate_(delegate), 64 : delegate_(delegate),
64 is_upload_error_(is_upload_error), 65 is_upload_error_(is_upload_error),
65 file_index_(0), 66 file_index_(0),
66 max_files_(max_files) {} 67 max_files_(max_files) {}
67 68
68 MockUploadJob::~MockUploadJob() {} 69 MockUploadJob::~MockUploadJob() {}
69 70
70 void MockUploadJob::AddDataSegment( 71 void MockUploadJob::AddDataSegment(
71 const std::string& name, 72 const std::string& name,
72 const std::string& filename, 73 const std::string& filename,
73 const std::map<std::string, std::string>& header_entries, 74 const std::map<std::string, std::string>& header_entries,
74 scoped_ptr<std::string> data) { 75 std::unique_ptr<std::string> data) {
75 // Test all fields to upload. 76 // Test all fields to upload.
76 EXPECT_LT(file_index_, max_files_); 77 EXPECT_LT(file_index_, max_files_);
77 EXPECT_GE(file_index_, 0); 78 EXPECT_GE(file_index_, 0);
78 79
79 EXPECT_EQ(base::StringPrintf(SystemLogUploader::kNameFieldTemplate, 80 EXPECT_EQ(base::StringPrintf(SystemLogUploader::kNameFieldTemplate,
80 file_index_ + 1), 81 file_index_ + 1),
81 name); 82 name);
82 83
83 EXPECT_EQ(kTestSystemLogFileNames[file_index_], filename); 84 EXPECT_EQ(kTestSystemLogFileNames[file_index_], filename);
84 85
(...skipping 27 matching lines...) Expand all
112 class MockSystemLogDelegate : public SystemLogUploader::Delegate { 113 class MockSystemLogDelegate : public SystemLogUploader::Delegate {
113 public: 114 public:
114 MockSystemLogDelegate(bool is_upload_error, 115 MockSystemLogDelegate(bool is_upload_error,
115 const SystemLogUploader::SystemLogs& system_logs) 116 const SystemLogUploader::SystemLogs& system_logs)
116 : is_upload_error_(is_upload_error), system_logs_(system_logs) {} 117 : is_upload_error_(is_upload_error), system_logs_(system_logs) {}
117 ~MockSystemLogDelegate() override {} 118 ~MockSystemLogDelegate() override {}
118 119
119 void LoadSystemLogs(const LogUploadCallback& upload_callback) override { 120 void LoadSystemLogs(const LogUploadCallback& upload_callback) override {
120 EXPECT_TRUE(is_upload_allowed_); 121 EXPECT_TRUE(is_upload_allowed_);
121 upload_callback.Run( 122 upload_callback.Run(
122 make_scoped_ptr(new SystemLogUploader::SystemLogs(system_logs_))); 123 base::WrapUnique(new SystemLogUploader::SystemLogs(system_logs_)));
123 } 124 }
124 125
125 scoped_ptr<UploadJob> CreateUploadJob( 126 std::unique_ptr<UploadJob> CreateUploadJob(
126 const GURL& url, 127 const GURL& url,
127 UploadJob::Delegate* delegate) override { 128 UploadJob::Delegate* delegate) override {
128 return make_scoped_ptr(new MockUploadJob(url, delegate, is_upload_error_, 129 return base::WrapUnique(new MockUploadJob(url, delegate, is_upload_error_,
129 system_logs_.size())); 130 system_logs_.size()));
130 } 131 }
131 132
132 void set_upload_allowed(bool is_upload_allowed) { 133 void set_upload_allowed(bool is_upload_allowed) {
133 is_upload_allowed_ = is_upload_allowed; 134 is_upload_allowed_ = is_upload_allowed;
134 } 135 }
135 136
136 private: 137 private:
137 bool is_upload_allowed_; 138 bool is_upload_allowed_;
138 bool is_upload_error_; 139 bool is_upload_error_;
139 SystemLogUploader::SystemLogs system_logs_; 140 SystemLogUploader::SystemLogs system_logs_;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 protected: 182 protected:
182 content::TestBrowserThreadBundle thread_bundle_; 183 content::TestBrowserThreadBundle thread_bundle_;
183 chromeos::ScopedCrosSettingsTestHelper settings_helper_; 184 chromeos::ScopedCrosSettingsTestHelper settings_helper_;
184 scoped_refptr<base::TestSimpleTaskRunner> task_runner_; 185 scoped_refptr<base::TestSimpleTaskRunner> task_runner_;
185 }; 186 };
186 187
187 // Check disabled system log uploads by default. 188 // Check disabled system log uploads by default.
188 TEST_F(SystemLogUploaderTest, Basic) { 189 TEST_F(SystemLogUploaderTest, Basic) {
189 EXPECT_TRUE(task_runner_->GetPendingTasks().empty()); 190 EXPECT_TRUE(task_runner_->GetPendingTasks().empty());
190 191
191 scoped_ptr<MockSystemLogDelegate> syslog_delegate( 192 std::unique_ptr<MockSystemLogDelegate> syslog_delegate(
192 new MockSystemLogDelegate(false, SystemLogUploader::SystemLogs())); 193 new MockSystemLogDelegate(false, SystemLogUploader::SystemLogs()));
193 syslog_delegate->set_upload_allowed(false); 194 syslog_delegate->set_upload_allowed(false);
194 SystemLogUploader uploader(std::move(syslog_delegate), task_runner_); 195 SystemLogUploader uploader(std::move(syslog_delegate), task_runner_);
195 196
196 task_runner_->RunPendingTasks(); 197 task_runner_->RunPendingTasks();
197 } 198 }
198 199
199 // One success task pending. 200 // One success task pending.
200 TEST_F(SystemLogUploaderTest, SuccessTest) { 201 TEST_F(SystemLogUploaderTest, SuccessTest) {
201 EXPECT_TRUE(task_runner_->GetPendingTasks().empty()); 202 EXPECT_TRUE(task_runner_->GetPendingTasks().empty());
202 203
203 scoped_ptr<MockSystemLogDelegate> syslog_delegate( 204 std::unique_ptr<MockSystemLogDelegate> syslog_delegate(
204 new MockSystemLogDelegate(false, SystemLogUploader::SystemLogs())); 205 new MockSystemLogDelegate(false, SystemLogUploader::SystemLogs()));
205 syslog_delegate->set_upload_allowed(true); 206 syslog_delegate->set_upload_allowed(true);
206 settings_helper_.SetBoolean(chromeos::kSystemLogUploadEnabled, true); 207 settings_helper_.SetBoolean(chromeos::kSystemLogUploadEnabled, true);
207 SystemLogUploader uploader(std::move(syslog_delegate), task_runner_); 208 SystemLogUploader uploader(std::move(syslog_delegate), task_runner_);
208 209
209 EXPECT_EQ(1U, task_runner_->GetPendingTasks().size()); 210 EXPECT_EQ(1U, task_runner_->GetPendingTasks().size());
210 211
211 RunPendingUploadTaskAndCheckNext( 212 RunPendingUploadTaskAndCheckNext(
212 uploader, base::TimeDelta::FromMilliseconds( 213 uploader, base::TimeDelta::FromMilliseconds(
213 SystemLogUploader::kDefaultUploadDelayMs)); 214 SystemLogUploader::kDefaultUploadDelayMs));
214 } 215 }
215 216
216 // Three failed responses recieved. 217 // Three failed responses recieved.
217 TEST_F(SystemLogUploaderTest, ThreeFailureTest) { 218 TEST_F(SystemLogUploaderTest, ThreeFailureTest) {
218 EXPECT_TRUE(task_runner_->GetPendingTasks().empty()); 219 EXPECT_TRUE(task_runner_->GetPendingTasks().empty());
219 220
220 scoped_ptr<MockSystemLogDelegate> syslog_delegate( 221 std::unique_ptr<MockSystemLogDelegate> syslog_delegate(
221 new MockSystemLogDelegate(true, SystemLogUploader::SystemLogs())); 222 new MockSystemLogDelegate(true, SystemLogUploader::SystemLogs()));
222 syslog_delegate->set_upload_allowed(true); 223 syslog_delegate->set_upload_allowed(true);
223 settings_helper_.SetBoolean(chromeos::kSystemLogUploadEnabled, true); 224 settings_helper_.SetBoolean(chromeos::kSystemLogUploadEnabled, true);
224 SystemLogUploader uploader(std::move(syslog_delegate), task_runner_); 225 SystemLogUploader uploader(std::move(syslog_delegate), task_runner_);
225 226
226 EXPECT_EQ(1U, task_runner_->GetPendingTasks().size()); 227 EXPECT_EQ(1U, task_runner_->GetPendingTasks().size());
227 228
228 // Do not retry two times consequentially. 229 // Do not retry two times consequentially.
229 RunPendingUploadTaskAndCheckNext(uploader, 230 RunPendingUploadTaskAndCheckNext(uploader,
230 base::TimeDelta::FromMilliseconds( 231 base::TimeDelta::FromMilliseconds(
231 SystemLogUploader::kErrorUploadDelayMs)); 232 SystemLogUploader::kErrorUploadDelayMs));
232 // We are using the kDefaultUploadDelayMs and not the kErrorUploadDelayMs here 233 // We are using the kDefaultUploadDelayMs and not the kErrorUploadDelayMs here
233 // because there's just one retry. 234 // because there's just one retry.
234 RunPendingUploadTaskAndCheckNext( 235 RunPendingUploadTaskAndCheckNext(
235 uploader, base::TimeDelta::FromMilliseconds( 236 uploader, base::TimeDelta::FromMilliseconds(
236 SystemLogUploader::kDefaultUploadDelayMs)); 237 SystemLogUploader::kDefaultUploadDelayMs));
237 RunPendingUploadTaskAndCheckNext(uploader, 238 RunPendingUploadTaskAndCheckNext(uploader,
238 base::TimeDelta::FromMilliseconds( 239 base::TimeDelta::FromMilliseconds(
239 SystemLogUploader::kErrorUploadDelayMs)); 240 SystemLogUploader::kErrorUploadDelayMs));
240 } 241 }
241 242
242 // Check header fields of system log files to upload. 243 // Check header fields of system log files to upload.
243 TEST_F(SystemLogUploaderTest, CheckHeaders) { 244 TEST_F(SystemLogUploaderTest, CheckHeaders) {
244 EXPECT_TRUE(task_runner_->GetPendingTasks().empty()); 245 EXPECT_TRUE(task_runner_->GetPendingTasks().empty());
245 246
246 SystemLogUploader::SystemLogs system_logs = GenerateTestSystemLogFiles(); 247 SystemLogUploader::SystemLogs system_logs = GenerateTestSystemLogFiles();
247 scoped_ptr<MockSystemLogDelegate> syslog_delegate( 248 std::unique_ptr<MockSystemLogDelegate> syslog_delegate(
248 new MockSystemLogDelegate(false, system_logs)); 249 new MockSystemLogDelegate(false, system_logs));
249 syslog_delegate->set_upload_allowed(true); 250 syslog_delegate->set_upload_allowed(true);
250 settings_helper_.SetBoolean(chromeos::kSystemLogUploadEnabled, true); 251 settings_helper_.SetBoolean(chromeos::kSystemLogUploadEnabled, true);
251 SystemLogUploader uploader(std::move(syslog_delegate), task_runner_); 252 SystemLogUploader uploader(std::move(syslog_delegate), task_runner_);
252 253
253 EXPECT_EQ(1U, task_runner_->GetPendingTasks().size()); 254 EXPECT_EQ(1U, task_runner_->GetPendingTasks().size());
254 255
255 RunPendingUploadTaskAndCheckNext( 256 RunPendingUploadTaskAndCheckNext(
256 uploader, base::TimeDelta::FromMilliseconds( 257 uploader, base::TimeDelta::FromMilliseconds(
257 SystemLogUploader::kDefaultUploadDelayMs)); 258 SystemLogUploader::kDefaultUploadDelayMs));
258 } 259 }
259 260
260 // Disable system log uploads after one failed log upload. 261 // Disable system log uploads after one failed log upload.
261 TEST_F(SystemLogUploaderTest, DisableLogUpload) { 262 TEST_F(SystemLogUploaderTest, DisableLogUpload) {
262 EXPECT_TRUE(task_runner_->GetPendingTasks().empty()); 263 EXPECT_TRUE(task_runner_->GetPendingTasks().empty());
263 264
264 scoped_ptr<MockSystemLogDelegate> syslog_delegate( 265 std::unique_ptr<MockSystemLogDelegate> syslog_delegate(
265 new MockSystemLogDelegate(true, SystemLogUploader::SystemLogs())); 266 new MockSystemLogDelegate(true, SystemLogUploader::SystemLogs()));
266 MockSystemLogDelegate* mock_delegate = syslog_delegate.get(); 267 MockSystemLogDelegate* mock_delegate = syslog_delegate.get();
267 settings_helper_.SetBoolean(chromeos::kSystemLogUploadEnabled, true); 268 settings_helper_.SetBoolean(chromeos::kSystemLogUploadEnabled, true);
268 mock_delegate->set_upload_allowed(true); 269 mock_delegate->set_upload_allowed(true);
269 SystemLogUploader uploader(std::move(syslog_delegate), task_runner_); 270 SystemLogUploader uploader(std::move(syslog_delegate), task_runner_);
270 271
271 EXPECT_EQ(1U, task_runner_->GetPendingTasks().size()); 272 EXPECT_EQ(1U, task_runner_->GetPendingTasks().size());
272 RunPendingUploadTaskAndCheckNext(uploader, 273 RunPendingUploadTaskAndCheckNext(uploader,
273 base::TimeDelta::FromMilliseconds( 274 base::TimeDelta::FromMilliseconds(
274 SystemLogUploader::kErrorUploadDelayMs)); 275 SystemLogUploader::kErrorUploadDelayMs));
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 "<IPv4: 1>55\n" 311 "<IPv4: 1>55\n"
311 "aaaa<IPv4: 2>aaa\n" 312 "aaaa<IPv4: 2>aaa\n"
312 "11:11;<IPv6: 1>\n" 313 "11:11;<IPv6: 1>\n"
313 "<IPv6: 1>\n" 314 "<IPv6: 1>\n"
314 "11:11:abcdef:0:0:0:0:0\n" 315 "11:11:abcdef:0:0:0:0:0\n"
315 "aa:aa:aa:00:00:01"; 316 "aa:aa:aa:00:00:01";
316 EXPECT_EQ(result, SystemLogUploader::RemoveSensitiveData(&anonymizer, data)); 317 EXPECT_EQ(result, SystemLogUploader::RemoveSensitiveData(&anonymizer, data));
317 } 318 }
318 319
319 } // namespace policy 320 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/policy/system_log_uploader.cc ('k') | chrome/browser/chromeos/policy/upload_job.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698