chromium/content/browser/file_system_access/file_system_access_safe_move_helper_unittest.cc

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "content/browser/file_system_access/file_system_access_safe_move_helper.h"

#include <memory>
#include <string>
#include <utility>

#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/files/scoped_temp_dir.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/strings/string_number_conversions.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/bind.h"
#include "base/test/gmock_callback_support.h"
#include "content/browser/file_system_access/features.h"
#include "content/browser/file_system_access/file_system_access_safe_move_helper.h"
#include "content/browser/file_system_access/fixed_file_system_access_permission_grant.h"
#include "content/browser/file_system_access/mock_file_system_access_permission_context.h"
#include "content/public/test/browser_task_environment.h"
#include "storage/browser/file_system/file_system_operation.h"
#include "storage/browser/file_system/file_system_url.h"
#include "storage/browser/quota/quota_manager_proxy.h"
#include "storage/browser/test/async_file_test_helper.h"
#include "storage/browser/test/test_file_system_backend.h"
#include "storage/browser/test/test_file_system_context.h"
#include "storage/common/file_system/file_system_types.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/storage_key/storage_key.h"
#include "third_party/blink/public/mojom/file_system_access/file_system_access_error.mojom.h"
#include "url/gurl.h"

FileSystemAccessStatus;
FileSystemURL;

_;
AllOf;
Eq;
Field;

namespace content {

namespace {

class MockQuarantine : public quarantine::mojom::Quarantine {};

// File System Backend that can notify whenever a FileSystemOperation is
// created. This lets tests simulate race conditions between file operations and
// other work.
class TestFileSystemBackend : public storage::TestFileSystemBackend {};

}  // namespace

std::string GetHexEncodedString(const std::string& input) {}

class FileSystemAccessSafeMoveHelperTest : public testing::Test {};

TEST_F(FileSystemAccessSafeMoveHelperTest, HashSimpleOK) {}

TEST_F(FileSystemAccessSafeMoveHelperTest, HashEmptyOK) {}

TEST_F(FileSystemAccessSafeMoveHelperTest, HashNonExistingFileFails) {}

TEST_F(FileSystemAccessSafeMoveHelperTest, HashLargerFileOK) {}

TEST_F(FileSystemAccessSafeMoveHelperTest, Simple) {}

TEST_F(FileSystemAccessSafeMoveHelperTest, DestExists) {}

TEST_F(FileSystemAccessSafeMoveHelperTest, SecurityCheckFailed) {}

TEST_F(FileSystemAccessSafeMoveHelperTest, SandboxedToSandboxed) {}

TEST_F(FileSystemAccessSafeMoveHelperTest, SandboxedToLocal) {}

TEST_F(FileSystemAccessSafeMoveHelperTest, SandboxedToExternal) {}

TEST_F(FileSystemAccessSafeMoveHelperTest, LocalToLocalSameExtension) {}

TEST_F(FileSystemAccessSafeMoveHelperTest, LocalToLocalDifferentExtension) {}

TEST_F(FileSystemAccessSafeMoveHelperTest, LocalToLocalCompoundExtension) {}

TEST_F(FileSystemAccessSafeMoveHelperTest, LocalToLocalNoExtension) {}

TEST_F(FileSystemAccessSafeMoveHelperTest, LocalToLocalNoExtensionSource) {}

TEST_F(FileSystemAccessSafeMoveHelperTest, LocalToLocalNoExtensionDest) {}

TEST_F(FileSystemAccessSafeMoveHelperTest, LocalToExternal) {}

TEST_F(FileSystemAccessSafeMoveHelperTest, LocalToSandboxed) {}

class FileSystemAccessSafeMoveHelperAfterWriteChecksTest
    : public FileSystemAccessSafeMoveHelperTest {};

TEST_F(FileSystemAccessSafeMoveHelperAfterWriteChecksTest, Allow) {}

TEST_F(FileSystemAccessSafeMoveHelperAfterWriteChecksTest, Block) {}

TEST_F(FileSystemAccessSafeMoveHelperAfterWriteChecksTest,
       LocalNoExtensionChange) {}

TEST_F(FileSystemAccessSafeMoveHelperAfterWriteChecksTest,
       LocalNoExtensionChangeSecurityCheckFailed) {}

}  // namespace content