blob: a526468ae1b552f7de0bb676b1353bb4bc2529be [file] [log] [blame]
// 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 "components/drive/service/test_util.h"
#include <memory>
#include <string>
#include "base/run_loop.h"
#include "components/drive/drive_api_util.h"
#include "components/drive/service/fake_drive_service.h"
#include "google_apis/drive/drive_api_parser.h"
#include "google_apis/drive/test_util.h"
using google_apis::DRIVE_OTHER_ERROR;
using google_apis::DriveApiErrorCode;
using google_apis::FileResource;
using google_apis::HTTP_CREATED;
namespace drive {
namespace test_util {
bool SetUpTestEntries(FakeDriveService* drive_service) {
return SetUpTestEntries(drive_service, drive_service->GetRootResourceId());
}
bool SetUpTeamDriveTestEntries(FakeDriveService* drive_service,
const std::string& team_drive_id,
const std::string& team_drive_name) {
drive_service->AddTeamDrive(team_drive_id, team_drive_name);
return SetUpTestEntries(drive_service, team_drive_id);
}
bool SetUpTestEntries(FakeDriveService* drive_service,
const std::string& parent_resource_id) {
DriveApiErrorCode error = DRIVE_OTHER_ERROR;
std::unique_ptr<FileResource> entry;
drive_service->AddNewFileWithResourceId(
"2_file_resource_id", "audio/mpeg", "This is some test content.",
parent_resource_id, "File 1.txt",
false, // shared_with_me
google_apis::test_util::CreateCopyResultCallback(&error, &entry));
base::RunLoop().RunUntilIdle();
if (error != HTTP_CREATED)
return false;
drive_service->AddNewFileWithResourceId(
"slash_file_resource_id", "audio/mpeg", "This is some test content.",
parent_resource_id, "Slash / in file 1.txt",
false, // shared_with_me
google_apis::test_util::CreateCopyResultCallback(&error, &entry));
base::RunLoop().RunUntilIdle();
if (error != HTTP_CREATED)
return false;
drive_service->AddNewFileWithResourceId(
"3_file_resource_id", "audio/mpeg", "This is some test content.",
parent_resource_id, "Duplicate Name.txt",
false, // shared_with_me
google_apis::test_util::CreateCopyResultCallback(&error, &entry));
base::RunLoop().RunUntilIdle();
if (error != HTTP_CREATED)
return false;
drive_service->AddNewFileWithResourceId(
"4_file_resource_id", "audio/mpeg", "This is some test content.",
parent_resource_id, "Duplicate Name.txt",
false, // shared_with_me
google_apis::test_util::CreateCopyResultCallback(&error, &entry));
base::RunLoop().RunUntilIdle();
if (error != HTTP_CREATED)
return false;
drive_service->AddNewFileWithResourceId(
"5_document_resource_id", util::kGoogleDocumentMimeType, std::string(),
parent_resource_id, "Document 1 excludeDir-test",
false, // shared_with_me
google_apis::test_util::CreateCopyResultCallback(&error, &entry));
base::RunLoop().RunUntilIdle();
if (error != HTTP_CREATED)
return false;
drive_service->AddNewFileWithResourceId(
"1_folder_resource_id", util::kDriveFolderMimeType, std::string(),
parent_resource_id, "Directory 1",
false, // shared_with_me
google_apis::test_util::CreateCopyResultCallback(&error, &entry));
base::RunLoop().RunUntilIdle();
if (error != HTTP_CREATED)
return false;
drive_service->AddNewFileWithResourceId(
"subdirectory_file_1_id",
"audio/mpeg",
"This is some test content.",
"1_folder_resource_id",
"SubDirectory File 1.txt",
false, // shared_with_me
google_apis::test_util::CreateCopyResultCallback(&error, &entry));
base::RunLoop().RunUntilIdle();
if (error != HTTP_CREATED)
return false;
drive_service->AddNewFileWithResourceId(
"subdirectory_unowned_file_1_id",
"audio/mpeg",
"This is some test content.",
"1_folder_resource_id",
"Shared to The Account Owner.txt",
true, // shared_with_me
google_apis::test_util::CreateCopyResultCallback(&error, &entry));
base::RunLoop().RunUntilIdle();
if (error != HTTP_CREATED)
return false;
drive_service->AddNewDirectoryWithResourceId(
"sub_dir_folder_resource_id", "1_folder_resource_id",
"Sub Directory Folder", AddNewDirectoryOptions(),
google_apis::test_util::CreateCopyResultCallback(&error, &entry));
base::RunLoop().RunUntilIdle();
if (error != HTTP_CREATED)
return false;
drive_service->AddNewDirectoryWithResourceId(
"sub_sub_directory_folder_id", "sub_dir_folder_resource_id",
"Sub Sub Directory Folder", AddNewDirectoryOptions(),
google_apis::test_util::CreateCopyResultCallback(&error, &entry));
base::RunLoop().RunUntilIdle();
if (error != HTTP_CREATED)
return false;
drive_service->AddNewDirectoryWithResourceId(
"slash_dir_folder_resource_id", parent_resource_id,
"Slash / in directory", AddNewDirectoryOptions(),
google_apis::test_util::CreateCopyResultCallback(&error, &entry));
base::RunLoop().RunUntilIdle();
if (error != HTTP_CREATED)
return false;
drive_service->AddNewFileWithResourceId(
"slash_subdir_file",
"audio/mpeg",
"This is some test content.",
"slash_dir_folder_resource_id",
"Slash SubDir File.txt",
false, // shared_with_me
google_apis::test_util::CreateCopyResultCallback(&error, &entry));
base::RunLoop().RunUntilIdle();
if (error != HTTP_CREATED)
return false;
drive_service->AddNewDirectoryWithResourceId(
"sub_dir_folder_2_self_link", parent_resource_id,
"Directory 2 excludeDir-test", AddNewDirectoryOptions(),
google_apis::test_util::CreateCopyResultCallback(&error, &entry));
base::RunLoop().RunUntilIdle();
if (error != HTTP_CREATED)
return false;
drive_service->AddNewFileWithResourceId(
"1_orphanfile_resource_id",
"text/plain",
"This is some test content.",
std::string(),
"Orphan File 1.txt",
true, // shared_with_me
google_apis::test_util::CreateCopyResultCallback(&error, &entry));
base::RunLoop().RunUntilIdle();
if (error != HTTP_CREATED)
return false;
drive_service->AddNewFileWithResourceId(
"orphan_doc_1",
util::kGoogleDocumentMimeType,
std::string(),
std::string(),
"Orphan Document",
true, // shared_with_me
google_apis::test_util::CreateCopyResultCallback(&error, &entry));
base::RunLoop().RunUntilIdle();
if (error != HTTP_CREATED)
return false;
return true;
}
} // namespace test_util
} // namespace drive