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

Unified Diff: content/browser/fileapi/plugin_private_file_system_backend_unittest.cc

Issue 2368913003: Populate storage_unittests target. (Closed)
Patch Set: Removed unnecessary include from storage/browser/blob/blob_storage_context_unittest.cc. Created 4 years, 3 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: content/browser/fileapi/plugin_private_file_system_backend_unittest.cc
diff --git a/content/browser/fileapi/plugin_private_file_system_backend_unittest.cc b/content/browser/fileapi/plugin_private_file_system_backend_unittest.cc
deleted file mode 100644
index 7cf4370af90dac62eaffb3e32450f26647b85889..0000000000000000000000000000000000000000
--- a/content/browser/fileapi/plugin_private_file_system_backend_unittest.cc
+++ /dev/null
@@ -1,288 +0,0 @@
-// Copyright 2013 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 <memory>
-
-#include "base/files/file_util.h"
-#include "base/files/scoped_temp_dir.h"
-#include "base/message_loop/message_loop.h"
-#include "base/run_loop.h"
-#include "content/public/test/async_file_test_helper.h"
-#include "content/public/test/test_file_system_context.h"
-#include "content/public/test/test_file_system_options.h"
-#include "storage/browser/fileapi/file_system_context.h"
-#include "storage/browser/fileapi/isolated_context.h"
-#include "storage/browser/fileapi/obfuscated_file_util.h"
-#include "storage/browser/fileapi/plugin_private_file_system_backend.h"
-#include "storage/common/fileapi/file_system_util.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-using content::AsyncFileTestHelper;
-using storage::FileSystemContext;
-using storage::FileSystemURL;
-using storage::IsolatedContext;
-
-namespace content {
-
-namespace {
-
-const GURL kOrigin1("http://www.example.com");
-const GURL kOrigin2("https://www.example.com");
-const std::string kPlugin1("plugin1");
-const std::string kPlugin2("plugin2");
-const storage::FileSystemType kType = storage::kFileSystemTypePluginPrivate;
-const std::string kRootName = "pluginprivate";
-
-void DidOpenFileSystem(base::File::Error* error_out,
- base::File::Error error) {
- *error_out = error;
-}
-
-std::string RegisterFileSystem() {
- return IsolatedContext::GetInstance()->RegisterFileSystemForVirtualPath(
- kType, kRootName, base::FilePath());
-}
-
-} // namespace
-
-class PluginPrivateFileSystemBackendTest : public testing::Test {
- protected:
- void SetUp() override {
- ASSERT_TRUE(data_dir_.CreateUniqueTempDir());
- context_ = CreateFileSystemContextForTesting(NULL /* quota_manager_proxy */,
- data_dir_.GetPath());
- }
-
- FileSystemURL CreateURL(const GURL& root_url, const std::string& relative) {
- FileSystemURL root = context_->CrackURL(root_url);
- return context_->CreateCrackedFileSystemURL(
- root.origin(),
- root.mount_type(),
- root.virtual_path().AppendASCII(relative));
- }
-
- storage::PluginPrivateFileSystemBackend* backend() const {
- return context_->plugin_private_backend();
- }
-
- const base::FilePath& base_path() const { return backend()->base_path(); }
-
- base::ScopedTempDir data_dir_;
- base::MessageLoop message_loop_;
- scoped_refptr<FileSystemContext> context_;
-};
-
-// TODO(kinuko,nhiroki): There are a lot of duplicate code in these tests. Write
-// helper functions to simplify the tests.
-
-TEST_F(PluginPrivateFileSystemBackendTest, OpenFileSystemBasic) {
- const std::string filesystem_id1 = RegisterFileSystem();
- base::File::Error error = base::File::FILE_ERROR_FAILED;
- backend()->OpenPrivateFileSystem(
- kOrigin1,
- kType,
- filesystem_id1,
- kPlugin1,
- storage::OPEN_FILE_SYSTEM_CREATE_IF_NONEXISTENT,
- base::Bind(&DidOpenFileSystem, &error));
- base::RunLoop().RunUntilIdle();
- ASSERT_EQ(base::File::FILE_OK, error);
-
- // Run this again with FAIL_IF_NONEXISTENT to see if it succeeds.
- const std::string filesystem_id2 = RegisterFileSystem();
- error = base::File::FILE_ERROR_FAILED;
- backend()->OpenPrivateFileSystem(
- kOrigin1,
- kType,
- filesystem_id2,
- kPlugin1,
- storage::OPEN_FILE_SYSTEM_FAIL_IF_NONEXISTENT,
- base::Bind(&DidOpenFileSystem, &error));
- base::RunLoop().RunUntilIdle();
- ASSERT_EQ(base::File::FILE_OK, error);
-
- const GURL root_url(storage::GetIsolatedFileSystemRootURIString(
- kOrigin1, filesystem_id1, kRootName));
- FileSystemURL file = CreateURL(root_url, "foo");
- base::FilePath platform_path;
- EXPECT_EQ(base::File::FILE_OK,
- AsyncFileTestHelper::CreateFile(context_.get(), file));
- EXPECT_EQ(base::File::FILE_OK,
- AsyncFileTestHelper::GetPlatformPath(context_.get(), file,
- &platform_path));
- EXPECT_TRUE(base_path().AppendASCII("000").AppendASCII(kPlugin1).IsParent(
- platform_path));
-}
-
-TEST_F(PluginPrivateFileSystemBackendTest, PluginIsolation) {
- // Open filesystem for kPlugin1 and kPlugin2.
- const std::string filesystem_id1 = RegisterFileSystem();
- base::File::Error error = base::File::FILE_ERROR_FAILED;
- backend()->OpenPrivateFileSystem(
- kOrigin1,
- kType,
- filesystem_id1,
- kPlugin1,
- storage::OPEN_FILE_SYSTEM_CREATE_IF_NONEXISTENT,
- base::Bind(&DidOpenFileSystem, &error));
- base::RunLoop().RunUntilIdle();
- ASSERT_EQ(base::File::FILE_OK, error);
-
- const std::string filesystem_id2 = RegisterFileSystem();
- error = base::File::FILE_ERROR_FAILED;
- backend()->OpenPrivateFileSystem(
- kOrigin1,
- kType,
- filesystem_id2,
- kPlugin2,
- storage::OPEN_FILE_SYSTEM_CREATE_IF_NONEXISTENT,
- base::Bind(&DidOpenFileSystem, &error));
- base::RunLoop().RunUntilIdle();
- ASSERT_EQ(base::File::FILE_OK, error);
-
- // Create 'foo' in kPlugin1.
- const GURL root_url1(storage::GetIsolatedFileSystemRootURIString(
- kOrigin1, filesystem_id1, kRootName));
- FileSystemURL file1 = CreateURL(root_url1, "foo");
- EXPECT_EQ(base::File::FILE_OK,
- AsyncFileTestHelper::CreateFile(context_.get(), file1));
- EXPECT_TRUE(AsyncFileTestHelper::FileExists(
- context_.get(), file1, AsyncFileTestHelper::kDontCheckSize));
-
- // See the same path is not available in kPlugin2.
- const GURL root_url2(storage::GetIsolatedFileSystemRootURIString(
- kOrigin1, filesystem_id2, kRootName));
- FileSystemURL file2 = CreateURL(root_url2, "foo");
- EXPECT_FALSE(AsyncFileTestHelper::FileExists(
- context_.get(), file2, AsyncFileTestHelper::kDontCheckSize));
-}
-
-TEST_F(PluginPrivateFileSystemBackendTest, OriginIsolation) {
- // Open filesystem for kOrigin1 and kOrigin2.
- const std::string filesystem_id1 = RegisterFileSystem();
- base::File::Error error = base::File::FILE_ERROR_FAILED;
- backend()->OpenPrivateFileSystem(
- kOrigin1,
- kType,
- filesystem_id1,
- kPlugin1,
- storage::OPEN_FILE_SYSTEM_CREATE_IF_NONEXISTENT,
- base::Bind(&DidOpenFileSystem, &error));
- base::RunLoop().RunUntilIdle();
- ASSERT_EQ(base::File::FILE_OK, error);
-
- const std::string filesystem_id2 = RegisterFileSystem();
- error = base::File::FILE_ERROR_FAILED;
- backend()->OpenPrivateFileSystem(
- kOrigin2,
- kType,
- filesystem_id2,
- kPlugin1,
- storage::OPEN_FILE_SYSTEM_CREATE_IF_NONEXISTENT,
- base::Bind(&DidOpenFileSystem, &error));
- base::RunLoop().RunUntilIdle();
- ASSERT_EQ(base::File::FILE_OK, error);
-
- // Create 'foo' in kOrigin1.
- const GURL root_url1(storage::GetIsolatedFileSystemRootURIString(
- kOrigin1, filesystem_id1, kRootName));
- FileSystemURL file1 = CreateURL(root_url1, "foo");
- EXPECT_EQ(base::File::FILE_OK,
- AsyncFileTestHelper::CreateFile(context_.get(), file1));
- EXPECT_TRUE(AsyncFileTestHelper::FileExists(
- context_.get(), file1, AsyncFileTestHelper::kDontCheckSize));
-
- // See the same path is not available in kOrigin2.
- const GURL root_url2(storage::GetIsolatedFileSystemRootURIString(
- kOrigin2, filesystem_id2, kRootName));
- FileSystemURL file2 = CreateURL(root_url2, "foo");
- EXPECT_FALSE(AsyncFileTestHelper::FileExists(
- context_.get(), file2, AsyncFileTestHelper::kDontCheckSize));
-}
-
-TEST_F(PluginPrivateFileSystemBackendTest, DeleteOriginDirectory) {
- // Open filesystem for kOrigin1 and kOrigin2.
- const std::string filesystem_id1 = RegisterFileSystem();
- base::File::Error error = base::File::FILE_ERROR_FAILED;
- backend()->OpenPrivateFileSystem(
- kOrigin1,
- kType,
- filesystem_id1,
- kPlugin1,
- storage::OPEN_FILE_SYSTEM_CREATE_IF_NONEXISTENT,
- base::Bind(&DidOpenFileSystem, &error));
- base::RunLoop().RunUntilIdle();
- ASSERT_EQ(base::File::FILE_OK, error);
-
- const std::string filesystem_id2 = RegisterFileSystem();
- error = base::File::FILE_ERROR_FAILED;
- backend()->OpenPrivateFileSystem(
- kOrigin2,
- kType,
- filesystem_id2,
- kPlugin1,
- storage::OPEN_FILE_SYSTEM_CREATE_IF_NONEXISTENT,
- base::Bind(&DidOpenFileSystem, &error));
- base::RunLoop().RunUntilIdle();
- ASSERT_EQ(base::File::FILE_OK, error);
-
- // Create 'foo' in kOrigin1.
- const GURL root_url1(storage::GetIsolatedFileSystemRootURIString(
- kOrigin1, filesystem_id1, kRootName));
- FileSystemURL file1 = CreateURL(root_url1, "foo");
- EXPECT_EQ(base::File::FILE_OK,
- AsyncFileTestHelper::CreateFile(context_.get(), file1));
- EXPECT_TRUE(AsyncFileTestHelper::FileExists(
- context_.get(), file1, AsyncFileTestHelper::kDontCheckSize));
-
- // Create 'foo' in kOrigin2.
- const GURL root_url2(storage::GetIsolatedFileSystemRootURIString(
- kOrigin2, filesystem_id2, kRootName));
- FileSystemURL file2 = CreateURL(root_url2, "foo");
- EXPECT_EQ(base::File::FILE_OK,
- AsyncFileTestHelper::CreateFile(context_.get(), file2));
- EXPECT_TRUE(AsyncFileTestHelper::FileExists(
- context_.get(), file2, AsyncFileTestHelper::kDontCheckSize));
-
- // Delete data for kOrigin1.
- error = backend()->DeleteOriginDataOnFileTaskRunner(
- context_.get(), NULL, kOrigin1, kType);
- EXPECT_EQ(base::File::FILE_OK, error);
-
- // Confirm 'foo' in kOrigin1 is deleted.
- EXPECT_FALSE(AsyncFileTestHelper::FileExists(
- context_.get(), file1, AsyncFileTestHelper::kDontCheckSize));
-
- // Confirm 'foo' in kOrigin2 is NOT deleted.
- EXPECT_TRUE(AsyncFileTestHelper::FileExists(
- context_.get(), file2, AsyncFileTestHelper::kDontCheckSize));
-
- // Re-open filesystem for kOrigin1.
- const std::string filesystem_id3 = RegisterFileSystem();
- error = base::File::FILE_ERROR_FAILED;
- backend()->OpenPrivateFileSystem(
- kOrigin1,
- kType,
- filesystem_id3,
- kPlugin1,
- storage::OPEN_FILE_SYSTEM_CREATE_IF_NONEXISTENT,
- base::Bind(&DidOpenFileSystem, &error));
- base::RunLoop().RunUntilIdle();
- ASSERT_EQ(base::File::FILE_OK, error);
-
- // Re-create 'foo' in kOrigin1.
- const GURL root_url3(storage::GetIsolatedFileSystemRootURIString(
- kOrigin1, filesystem_id3, kRootName));
- FileSystemURL file3 = CreateURL(root_url3, "foo");
- EXPECT_EQ(base::File::FILE_OK,
- AsyncFileTestHelper::CreateFile(context_.get(), file3));
- EXPECT_TRUE(AsyncFileTestHelper::FileExists(
- context_.get(), file3, AsyncFileTestHelper::kDontCheckSize));
-
- // Confirm 'foo' in kOrigin1 is re-created.
- EXPECT_TRUE(AsyncFileTestHelper::FileExists(
- context_.get(), file3, AsyncFileTestHelper::kDontCheckSize));
-}
-
-} // namespace content

Powered by Google App Engine
This is Rietveld 408576698