| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 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/remote_commands/device_command_screensh
ot_job.h" | 5 #include "chrome/browser/chromeos/policy/remote_commands/device_command_screensh
ot_job.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 const int height = source_rect.height(); | 178 const int height = source_rect.height(); |
| 179 scoped_refptr<base::RefCountedBytes> test_png = | 179 scoped_refptr<base::RefCountedBytes> test_png = |
| 180 GenerateTestPNG(width, height); | 180 GenerateTestPNG(width, height); |
| 181 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, | 181 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, |
| 182 base::Bind(callback, test_png)); | 182 base::Bind(callback, test_png)); |
| 183 } | 183 } |
| 184 | 184 |
| 185 std::unique_ptr<UploadJob> MockScreenshotDelegate::CreateUploadJob( | 185 std::unique_ptr<UploadJob> MockScreenshotDelegate::CreateUploadJob( |
| 186 const GURL& upload_url, | 186 const GURL& upload_url, |
| 187 UploadJob::Delegate* delegate) { | 187 UploadJob::Delegate* delegate) { |
| 188 return base::WrapUnique(new MockUploadJob(upload_url, delegate, | 188 return base::MakeUnique<MockUploadJob>(upload_url, delegate, |
| 189 std::move(upload_job_error_code_))); | 189 std::move(upload_job_error_code_)); |
| 190 } | 190 } |
| 191 | 191 |
| 192 } // namespace | 192 } // namespace |
| 193 | 193 |
| 194 class DeviceCommandScreenshotTest : public ash::test::AshTestBase { | 194 class DeviceCommandScreenshotTest : public ash::test::AshTestBase { |
| 195 public: | 195 public: |
| 196 void VerifyResults(RemoteCommandJob* job, | 196 void VerifyResults(RemoteCommandJob* job, |
| 197 RemoteCommandJob::Status expected_status, | 197 RemoteCommandJob::Status expected_status, |
| 198 std::string expected_payload); | 198 std::string expected_payload); |
| 199 | 199 |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 260 if (job->status() == RemoteCommandJob::SUCCEEDED) { | 260 if (job->status() == RemoteCommandJob::SUCCEEDED) { |
| 261 std::unique_ptr<std::string> payload = job->GetResultPayload(); | 261 std::unique_ptr<std::string> payload = job->GetResultPayload(); |
| 262 EXPECT_TRUE(payload); | 262 EXPECT_TRUE(payload); |
| 263 EXPECT_EQ(expected_payload, *payload); | 263 EXPECT_EQ(expected_payload, *payload); |
| 264 } | 264 } |
| 265 run_loop_.Quit(); | 265 run_loop_.Quit(); |
| 266 } | 266 } |
| 267 | 267 |
| 268 TEST_F(DeviceCommandScreenshotTest, Success) { | 268 TEST_F(DeviceCommandScreenshotTest, Success) { |
| 269 std::unique_ptr<RemoteCommandJob> job(new DeviceCommandScreenshotJob( | 269 std::unique_ptr<RemoteCommandJob> job(new DeviceCommandScreenshotJob( |
| 270 base::WrapUnique(new MockScreenshotDelegate(nullptr, true)))); | 270 base::MakeUnique<MockScreenshotDelegate>(nullptr, true))); |
| 271 InitializeScreenshotJob(job.get(), kUniqueID, test_start_time_, | 271 InitializeScreenshotJob(job.get(), kUniqueID, test_start_time_, |
| 272 kMockUploadUrl); | 272 kMockUploadUrl); |
| 273 bool success = job->Run( | 273 bool success = job->Run( |
| 274 base::TimeTicks::Now(), | 274 base::TimeTicks::Now(), |
| 275 base::Bind( | 275 base::Bind( |
| 276 &DeviceCommandScreenshotTest::VerifyResults, base::Unretained(this), | 276 &DeviceCommandScreenshotTest::VerifyResults, base::Unretained(this), |
| 277 base::Unretained(job.get()), RemoteCommandJob::SUCCEEDED, | 277 base::Unretained(job.get()), RemoteCommandJob::SUCCEEDED, |
| 278 CreatePayloadFromResultCode(DeviceCommandScreenshotJob::SUCCESS))); | 278 CreatePayloadFromResultCode(DeviceCommandScreenshotJob::SUCCESS))); |
| 279 EXPECT_TRUE(success); | 279 EXPECT_TRUE(success); |
| 280 run_loop_.Run(); | 280 run_loop_.Run(); |
| 281 } | 281 } |
| 282 | 282 |
| 283 TEST_F(DeviceCommandScreenshotTest, FailureUserInput) { | 283 TEST_F(DeviceCommandScreenshotTest, FailureUserInput) { |
| 284 std::unique_ptr<RemoteCommandJob> job(new DeviceCommandScreenshotJob( | 284 std::unique_ptr<RemoteCommandJob> job(new DeviceCommandScreenshotJob( |
| 285 base::WrapUnique(new MockScreenshotDelegate(nullptr, false)))); | 285 base::MakeUnique<MockScreenshotDelegate>(nullptr, false))); |
| 286 InitializeScreenshotJob(job.get(), kUniqueID, test_start_time_, | 286 InitializeScreenshotJob(job.get(), kUniqueID, test_start_time_, |
| 287 kMockUploadUrl); | 287 kMockUploadUrl); |
| 288 bool success = | 288 bool success = |
| 289 job->Run(base::TimeTicks::Now(), | 289 job->Run(base::TimeTicks::Now(), |
| 290 base::Bind(&DeviceCommandScreenshotTest::VerifyResults, | 290 base::Bind(&DeviceCommandScreenshotTest::VerifyResults, |
| 291 base::Unretained(this), base::Unretained(job.get()), | 291 base::Unretained(this), base::Unretained(job.get()), |
| 292 RemoteCommandJob::FAILED, | 292 RemoteCommandJob::FAILED, |
| 293 CreatePayloadFromResultCode( | 293 CreatePayloadFromResultCode( |
| 294 DeviceCommandScreenshotJob::FAILURE_USER_INPUT))); | 294 DeviceCommandScreenshotJob::FAILURE_USER_INPUT))); |
| 295 EXPECT_TRUE(success); | 295 EXPECT_TRUE(success); |
| 296 run_loop_.Run(); | 296 run_loop_.Run(); |
| 297 } | 297 } |
| 298 | 298 |
| 299 TEST_F(DeviceCommandScreenshotTest, Failure) { | 299 TEST_F(DeviceCommandScreenshotTest, Failure) { |
| 300 using ErrorCode = UploadJob::ErrorCode; | 300 using ErrorCode = UploadJob::ErrorCode; |
| 301 std::unique_ptr<ErrorCode> error_code( | 301 std::unique_ptr<ErrorCode> error_code( |
| 302 new ErrorCode(UploadJob::AUTHENTICATION_ERROR)); | 302 new ErrorCode(UploadJob::AUTHENTICATION_ERROR)); |
| 303 std::unique_ptr<RemoteCommandJob> job( | 303 std::unique_ptr<RemoteCommandJob> job(new DeviceCommandScreenshotJob( |
| 304 new DeviceCommandScreenshotJob(base::WrapUnique( | 304 base::MakeUnique<MockScreenshotDelegate>(std::move(error_code), true))); |
| 305 new MockScreenshotDelegate(std::move(error_code), true)))); | |
| 306 InitializeScreenshotJob(job.get(), kUniqueID, test_start_time_, | 305 InitializeScreenshotJob(job.get(), kUniqueID, test_start_time_, |
| 307 kMockUploadUrl); | 306 kMockUploadUrl); |
| 308 bool success = job->Run( | 307 bool success = job->Run( |
| 309 base::TimeTicks::Now(), | 308 base::TimeTicks::Now(), |
| 310 base::Bind(&DeviceCommandScreenshotTest::VerifyResults, | 309 base::Bind(&DeviceCommandScreenshotTest::VerifyResults, |
| 311 base::Unretained(this), base::Unretained(job.get()), | 310 base::Unretained(this), base::Unretained(job.get()), |
| 312 RemoteCommandJob::FAILED, | 311 RemoteCommandJob::FAILED, |
| 313 CreatePayloadFromResultCode( | 312 CreatePayloadFromResultCode( |
| 314 DeviceCommandScreenshotJob::FAILURE_AUTHENTICATION))); | 313 DeviceCommandScreenshotJob::FAILURE_AUTHENTICATION))); |
| 315 EXPECT_TRUE(success); | 314 EXPECT_TRUE(success); |
| 316 run_loop_.Run(); | 315 run_loop_.Run(); |
| 317 } | 316 } |
| 318 | 317 |
| 319 } // namespace policy | 318 } // namespace policy |
| OLD | NEW |