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

Unified Diff: chrome/browser/extensions/api/image_writer_private/write_from_url_operation_unittest.cc

Issue 170123002: Revert of Significantly cleans up the ImageWriter Operation class and subclasses. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/image_writer_private/write_from_url_operation_unittest.cc
diff --git a/chrome/browser/extensions/api/image_writer_private/write_from_url_operation_unittest.cc b/chrome/browser/extensions/api/image_writer_private/write_from_url_operation_unittest.cc
deleted file mode 100644
index 4943a9535375f7c026d577beb4875a99ba5b8a59..0000000000000000000000000000000000000000
--- a/chrome/browser/extensions/api/image_writer_private/write_from_url_operation_unittest.cc
+++ /dev/null
@@ -1,204 +0,0 @@
-// 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 "chrome/browser/extensions/api/image_writer_private/error_messages.h"
-#include "chrome/browser/extensions/api/image_writer_private/test_utils.h"
-#include "chrome/browser/extensions/api/image_writer_private/write_from_url_operation.h"
-#include "chrome/test/base/testing_profile.h"
-#include "content/test/net/url_request_prepackaged_interceptor.h"
-#include "net/url_request/url_fetcher.h"
-
-namespace extensions {
-namespace image_writer {
-
-namespace {
-
-using testing::_;
-using testing::AnyNumber;
-using testing::AtLeast;
-using testing::Gt;
-using testing::Lt;
-
-const char kTestImageUrl[] = "http://localhost/test/image.zip";
-
-typedef content::URLLocalHostRequestPrepackagedInterceptor GetInterceptor;
-
-// This class gives us a generic Operation with the ability to set or inspect
-// the current path to the image file.
-class OperationForTest : public WriteFromUrlOperation {
- public:
- OperationForTest(base::WeakPtr<OperationManager> manager_,
- const ExtensionId& extension_id,
- net::URLRequestContextGetter* request_context,
- GURL url,
- const std::string& hash,
- const std::string& storage_unit_id)
- : WriteFromUrlOperation(manager_,
- extension_id,
- request_context,
- url,
- hash,
- storage_unit_id) {}
-
- virtual void StartImpl() OVERRIDE {}
-
- // Expose stages for testing.
- void GetDownloadTarget(const base::Closure& continuation) {
- WriteFromUrlOperation::GetDownloadTarget(continuation);
- }
-
- void Download(const base::Closure& continuation) {
- WriteFromUrlOperation::Download(continuation);
- }
-
- void VerifyDownload(const base::Closure& continuation) {
- WriteFromUrlOperation::VerifyDownload(continuation);
- }
-
- // Helpers to set-up state for intermediate stages.
- void SetImagePath(const base::FilePath image_path) {
- image_path_ = image_path;
- }
-
- base::FilePath GetImagePath() { return image_path_; }
-
- private:
- virtual ~OperationForTest() {};
-};
-
-class ImageWriterWriteFromUrlOperationTest : public ImageWriterUnitTestBase {
- protected:
- ImageWriterWriteFromUrlOperationTest() : manager_(&test_profile_) {}
-
- virtual void SetUp() OVERRIDE {
- ImageWriterUnitTestBase::SetUp();
-
- // Turn on interception and set up our dummy file.
- net::URLFetcher::SetEnableInterceptionForTests(true);
- get_interceptor_.reset(new GetInterceptor());
- get_interceptor_->SetResponse(GURL(kTestImageUrl), test_image_path_);
- }
-
- virtual void TearDown() OVERRIDE {
- ImageWriterUnitTestBase::TearDown();
-
- // Remember to turn off global interception.
- net::URLFetcher::SetEnableInterceptionForTests(false);
- }
-
- scoped_refptr<OperationForTest> CreateOperation(const GURL& url,
- const std::string& hash) {
- scoped_refptr<OperationForTest> operation(
- new OperationForTest(manager_.AsWeakPtr(),
- kDummyExtensionId,
- test_profile_.GetRequestContext(),
- url,
- hash,
- test_device_path_.AsUTF8Unsafe()));
- operation->Start();
- return operation;
- }
-
- TestingProfile test_profile_;
- scoped_ptr<GetInterceptor> get_interceptor_;
-
- MockOperationManager manager_;
-};
-
-TEST_F(ImageWriterWriteFromUrlOperationTest, SelectTargetWithoutExtension) {
- scoped_refptr<OperationForTest> operation =
- CreateOperation(GURL("http://localhost/foo/bar"), "");
-
- operation->GetDownloadTarget(base::Bind(&base::DoNothing));
-
- EXPECT_EQ(FILE_PATH_LITERAL("bar"),
- operation->GetImagePath().BaseName().value());
-}
-
-TEST_F(ImageWriterWriteFromUrlOperationTest, SelectTargetWithExtension) {
- scoped_refptr<OperationForTest> operation =
- CreateOperation(GURL("http://localhost/foo/bar.zip"), "");
-
- operation->GetDownloadTarget(base::Bind(&base::DoNothing));
-
- EXPECT_EQ(FILE_PATH_LITERAL("bar.zip"),
- operation->GetImagePath().BaseName().value());
-}
-
-TEST_F(ImageWriterWriteFromUrlOperationTest, DownloadFile) {
- // This test actually triggers the URL fetch code, which will drain the
- // message queues while waiting for IO, thus we have to run until the
- // operation completes.
- base::RunLoop runloop;
- base::Closure quit_closure = runloop.QuitClosure();
- base::FilePath download_target_path;
- scoped_refptr<OperationForTest> operation =
- CreateOperation(GURL(kTestImageUrl), "");
-
- EXPECT_TRUE(
- base::CreateTemporaryFileInDir(temp_dir_.path(), &download_target_path));
- operation->SetImagePath(download_target_path);
-
- EXPECT_CALL(
- manager_,
- OnProgress(kDummyExtensionId, image_writer_api::STAGE_DOWNLOAD, _))
- .Times(AtLeast(1));
- EXPECT_CALL(
- manager_,
- OnProgress(kDummyExtensionId, image_writer_api::STAGE_DOWNLOAD, 0))
- .Times(AnyNumber());
- EXPECT_CALL(
- manager_,
- OnProgress(kDummyExtensionId, image_writer_api::STAGE_DOWNLOAD, 100))
- .Times(AnyNumber());
-
- content::BrowserThread::PostTask(
- content::BrowserThread::FILE,
- FROM_HERE,
- base::Bind(&OperationForTest::Download, operation, quit_closure));
-
- runloop.Run();
-
- EXPECT_TRUE(base::ContentsEqual(test_image_path_, operation->GetImagePath()));
-
- EXPECT_EQ(1, get_interceptor_->GetHitCount());
-}
-
-TEST_F(ImageWriterWriteFromUrlOperationTest, VerifyFile) {
- scoped_ptr<char[]> data_buffer(new char[kTestFileSize]);
- base::ReadFile(test_image_path_, data_buffer.get(), kTestFileSize);
- base::MD5Digest expected_digest;
- base::MD5Sum(data_buffer.get(), kTestFileSize, &expected_digest);
- std::string expected_hash = base::MD5DigestToBase16(expected_digest);
-
- scoped_refptr<OperationForTest> operation =
- CreateOperation(GURL(""), expected_hash);
-
- EXPECT_CALL(
- manager_,
- OnProgress(kDummyExtensionId, image_writer_api::STAGE_VERIFYDOWNLOAD, _))
- .Times(AtLeast(1));
- EXPECT_CALL(
- manager_,
- OnProgress(kDummyExtensionId, image_writer_api::STAGE_VERIFYDOWNLOAD, 0))
- .Times(AtLeast(1));
- EXPECT_CALL(manager_,
- OnProgress(kDummyExtensionId,
- image_writer_api::STAGE_VERIFYDOWNLOAD,
- 100)).Times(AtLeast(1));
-
- operation->SetImagePath(test_image_path_);
- content::BrowserThread::PostTask(content::BrowserThread::FILE,
- FROM_HERE,
- base::Bind(&OperationForTest::VerifyDownload,
- operation,
- base::Bind(&base::DoNothing)));
-
- base::RunLoop().RunUntilIdle();
-}
-
-} // namespace
-
-} // namespace image_writer
-} // namespace extensions
« no previous file with comments | « chrome/browser/extensions/api/image_writer_private/write_from_url_operation.cc ('k') | chrome/chrome_browser_extensions.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698