Commit d201cbeb authored by Sam McNally's avatar Sam McNally Committed by Commit Bot

Run some file manager browsertests with DriveFS enabled.

Bug: 848126
Change-Id: Ifd3cf1996fdb33f5d0d93f5c5cf721abd5440d29
Reviewed-on: https://chromium-review.googlesource.com/1102279Reviewed-by: default avatarNoel Gordon <noel@chromium.org>
Commit-Queue: Sam McNally <sammc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568339}
parent 141dc0d3
......@@ -37,10 +37,16 @@ struct TestCase {
return *this;
}
TestCase& EnableDriveFs() {
enable_drivefs = true;
return *this;
}
const char* test_case_name = nullptr;
GuestMode guest_mode = NOT_IN_GUEST_MODE;
bool trusted_events = false;
bool tablet_mode = false;
bool enable_drivefs = false;
};
// EventCase: FilesAppBrowserTest with trusted JS Events.
......@@ -74,6 +80,7 @@ class FilesAppBrowserTest : public FileManagerBrowserTestBase,
}
GuestMode GetGuestMode() const override { return GetParam().guest_mode; }
bool GetEnableDriveFs() const override { return GetParam().enable_drivefs; }
const char* GetTestCaseName() const override {
return GetParam().test_case_name;
......@@ -112,6 +119,9 @@ std::string PostTestCaseName(const ::testing::TestParamInfo<TestCase>& test) {
if (test.param.tablet_mode)
name.append("_TabletMode");
if (test.param.enable_drivefs)
name.append("_DriveFs");
return name;
}
......@@ -123,6 +133,7 @@ WRAPPED_INSTANTIATE_TEST_CASE_P(
TestCase("fileDisplayDownloads").TabletMode(),
TestCase("fileDisplayDrive"),
TestCase("fileDisplayDrive").TabletMode(),
TestCase("fileDisplayDrive").EnableDriveFs(),
TestCase("fileDisplayMtp"),
TestCase("fileDisplayUsb"),
TestCase("fileSearch"),
......@@ -134,7 +145,8 @@ WRAPPED_INSTANTIATE_TEST_CASE_P(
FilesAppBrowserTest,
::testing::Values(TestCase("videoOpenDownloads").InGuestMode(),
TestCase("videoOpenDownloads"),
TestCase("videoOpenDrive")));
TestCase("videoOpenDrive"),
TestCase("videoOpenDrive").EnableDriveFs()));
// TIMEOUT PASS on MSAN, https://crbug.com/836254
#if defined(MEMORY_SANITIZER)
......@@ -151,6 +163,7 @@ WRAPPED_INSTANTIATE_TEST_CASE_P(
TestCase("audioOpenDownloads").InGuestMode(),
TestCase("audioOpenDownloads"),
TestCase("audioOpenDrive"),
TestCase("audioOpenDrive").EnableDriveFs(),
TestCase("audioAutoAdvanceDrive"),
TestCase("audioRepeatAllModeSingleFileDrive"),
TestCase("audioNoRepeatModeSingleFileDrive"),
......@@ -170,7 +183,8 @@ WRAPPED_INSTANTIATE_TEST_CASE_P(
FilesAppBrowserTest,
::testing::Values(TestCase("imageOpenDownloads").InGuestMode(),
TestCase("imageOpenDownloads"),
TestCase("imageOpenDrive")));
TestCase("imageOpenDrive"),
TestCase("imageOpenDrive").EnableDriveFs()));
WRAPPED_INSTANTIATE_TEST_CASE_P(
CreateNewFolder, /* create_new_folder.js */
......@@ -179,7 +193,8 @@ WRAPPED_INSTANTIATE_TEST_CASE_P(
TestCase("selectCreateFolderDownloads"),
TestCase("createFolderDownloads").InGuestMode(),
TestCase("createFolderDownloads"),
TestCase("createFolderDrive")));
TestCase("createFolderDrive"),
TestCase("createFolderDrive").EnableDriveFs()));
WRAPPED_INSTANTIATE_TEST_CASE_P(
KeyboardOperations, /* keyboard_operations.js */
......@@ -187,15 +202,19 @@ WRAPPED_INSTANTIATE_TEST_CASE_P(
::testing::Values(TestCase("keyboardDeleteDownloads").InGuestMode(),
TestCase("keyboardDeleteDownloads"),
TestCase("keyboardDeleteDrive"),
TestCase("keyboardDeleteDrive").EnableDriveFs(),
TestCase("keyboardCopyDownloads").InGuestMode(),
TestCase("keyboardCopyDownloads"),
TestCase("keyboardCopyDrive"),
TestCase("keyboardCopyDrive").EnableDriveFs(),
TestCase("renameFileDownloads").InGuestMode(),
TestCase("renameFileDownloads"),
TestCase("renameFileDrive"),
TestCase("renameFileDrive").EnableDriveFs(),
TestCase("renameNewFolderDownloads").InGuestMode(),
TestCase("renameNewFolderDownloads"),
TestCase("renameNewFolderDrive")));
TestCase("renameNewFolderDrive"),
TestCase("renameNewFolderDrive").EnableDriveFs()));
WRAPPED_INSTANTIATE_TEST_CASE_P(
ContextMenu, /* context_menu.js */
......@@ -223,6 +242,7 @@ WRAPPED_INSTANTIATE_TEST_CASE_P(
TestCase("openQuickView").InGuestMode(),
TestCase("openQuickView").TabletMode(),
TestCase("openQuickViewDrive"),
TestCase("openQuickViewDrive").EnableDriveFs(),
TestCase("openQuickViewUsb"),
TestCase("openQuickViewMtp"),
TestCase("closeQuickView")));
......@@ -262,6 +282,7 @@ WRAPPED_INSTANTIATE_TEST_CASE_P(
TestCase("driveOpenSidebarSharedWithMe"),
TestCase("driveAutoCompleteQuery"),
TestCase("drivePinFileMobileNetwork"),
TestCase("drivePinFileMobileNetwork").EnableDriveFs(),
TestCase("driveClickFirstSearchResult"),
TestCase("drivePressEnterToSearch")));
......@@ -269,7 +290,9 @@ WRAPPED_INSTANTIATE_TEST_CASE_P(
Transfer, /* transfer.js */
FilesAppBrowserTest,
::testing::Values(TestCase("transferFromDriveToDownloads"),
TestCase("transferFromDriveToDownloads").EnableDriveFs(),
TestCase("transferFromDownloadsToDrive"),
TestCase("transferFromDownloadsToDrive").EnableDriveFs(),
TestCase("transferFromSharedToDownloads"),
TestCase("transferFromSharedToDrive"),
TestCase("transferFromOfflineToDownloads"),
......@@ -296,8 +319,11 @@ WRAPPED_INSTANTIATE_TEST_CASE_P(
::testing::Values(TestCase("shareFileDrive"),
TestCase("shareDirectoryDrive"),
TestCase("manageHostedFileDrive"),
TestCase("manageHostedFileDrive").EnableDriveFs(),
TestCase("manageFileDrive"),
TestCase("manageDirectoryDrive")));
TestCase("manageFileDrive").EnableDriveFs(),
TestCase("manageDirectoryDrive"),
TestCase("manageDirectoryDrive").EnableDriveFs()));
WRAPPED_INSTANTIATE_TEST_CASE_P(
SuggestAppDialog, /* suggest_app_dialog.js */
......@@ -317,9 +343,10 @@ WRAPPED_INSTANTIATE_TEST_CASE_P(
::testing::Values(TestCase("executeDefaultTaskDownloads"),
TestCase("executeDefaultTaskDownloads").InGuestMode(),
TestCase("executeDefaultTaskDrive"),
TestCase("executeDefaultTaskDrive").EnableDriveFs(),
TestCase("defaultTaskDialogDownloads"),
TestCase("defaultTaskDialogDownloads").InGuestMode(),
TestCase("defaultTaskDialogDrive"),
TestCase("defaultTaskDialogDrive").EnableDriveFs(),
TestCase("genericTaskIsNotExecuted"),
TestCase("genericTaskAndNonGenericTask")));
......@@ -368,19 +395,25 @@ WRAPPED_INSTANTIATE_TEST_CASE_P(
WRAPPED_INSTANTIATE_TEST_CASE_P(
CopyBetweenWindows, /* copy_between_windows.js */
FilesAppBrowserTest,
::testing::Values(TestCase("copyBetweenWindowsLocalToDrive"),
TestCase("copyBetweenWindowsLocalToUsb"),
TestCase("copyBetweenWindowsUsbToDrive"),
TestCase("copyBetweenWindowsDriveToLocal"),
TestCase("copyBetweenWindowsDriveToUsb"),
TestCase("copyBetweenWindowsUsbToLocal")));
::testing::Values(
TestCase("copyBetweenWindowsLocalToDrive"),
TestCase("copyBetweenWindowsLocalToDrive").EnableDriveFs(),
TestCase("copyBetweenWindowsLocalToUsb"),
TestCase("copyBetweenWindowsUsbToDrive"),
TestCase("copyBetweenWindowsUsbToDrive").EnableDriveFs(),
TestCase("copyBetweenWindowsDriveToLocal"),
TestCase("copyBetweenWindowsDriveToLocal").EnableDriveFs(),
TestCase("copyBetweenWindowsDriveToUsb"),
TestCase("copyBetweenWindowsDriveToUsb").EnableDriveFs(),
TestCase("copyBetweenWindowsUsbToLocal")));
WRAPPED_INSTANTIATE_TEST_CASE_P(
GridView, /* grid_view.js */
FilesAppBrowserTest,
::testing::Values(TestCase("showGridViewDownloads"),
TestCase("showGridViewDownloads").InGuestMode(),
TestCase("showGridViewDrive")));
TestCase("showGridViewDrive"),
TestCase("showGridViewDrive").EnableDriveFs()));
WRAPPED_INSTANTIATE_TEST_CASE_P(
Providers, /* providers.js */
......@@ -396,6 +429,7 @@ WRAPPED_INSTANTIATE_TEST_CASE_P(
::testing::Values(TestCase("showHiddenFilesDownloads"),
TestCase("showHiddenFilesDownloads").InGuestMode(),
TestCase("showHiddenFilesDrive"),
TestCase("showHiddenFilesDrive").EnableDriveFs(),
TestCase("toogleGoogleDocsDrive"),
TestCase("showPasteIntoCurrentFolder"),
TestCase("showSelectAllInCurrentFolder")));
......
......@@ -815,6 +815,10 @@ void FileManagerBrowserTestBase::SetUpCommandLine(
command_line->AppendSwitch(chromeos::switches::kDisableZipArchiverUnpacker);
command_line->AppendSwitch(chromeos::switches::kDisableZipArchiverPacker);
if (IsDriveFsTest()) {
feature_list_.InitAndEnableFeature(drive::kDriveFs);
}
extensions::ExtensionApiTest::SetUpCommandLine(command_line);
}
......@@ -906,6 +910,10 @@ void FileManagerBrowserTestBase::StartTest() {
RunTestMessageLoop();
}
bool FileManagerBrowserTestBase::GetEnableDriveFs() const {
return false;
}
void FileManagerBrowserTestBase::LaunchExtension(const base::FilePath& path,
const char* manifest_name) {
base::FilePath source_dir;
......
......@@ -9,6 +9,7 @@
#include <memory>
#include <string>
#include "base/test/scoped_feature_list.h"
#include "base/values.h"
#include "chrome/browser/chromeos/drive/drive_integration_service.h"
#include "chrome/browser/extensions/extension_apitest.h"
......@@ -43,6 +44,7 @@ class FileManagerBrowserTestBase : public extensions::ExtensionApiTest {
// Overrides for each FileManagerBrowserTest test extension type.
virtual GuestMode GetGuestMode() const = 0;
virtual bool GetEnableDriveFs() const;
virtual const char* GetTestCaseName() const = 0;
virtual const char* GetTestExtensionManifestName() const = 0;
......@@ -53,6 +55,9 @@ class FileManagerBrowserTestBase : public extensions::ExtensionApiTest {
// Returns true if the test requires in guest mode.
bool IsGuestModeTest() const { return GetGuestMode() == IN_GUEST_MODE; }
// Returns true if the test requires DriveFS.
bool IsDriveFsTest() const { return GetEnableDriveFs(); }
// Called during setup if needed, to create a drive integration service for
// the given |profile|. Caller owns the return result.
drive::DriveIntegrationService* CreateDriveIntegrationService(
......@@ -74,6 +79,8 @@ class FileManagerBrowserTestBase : public extensions::ExtensionApiTest {
const base::DictionaryValue& value,
std::string* output);
base::test::ScopedFeatureList feature_list_;
std::unique_ptr<LocalTestVolume> local_volume_;
std::map<Profile*, std::unique_ptr<DriveTestVolume>> drive_volumes_;
DriveTestVolume* drive_volume_ = nullptr;
......
......@@ -155,18 +155,18 @@ void FakeDriveFs::GetMetadata(const base::FilePath& path,
metadata->content_mime_type = stored_metadata.mime_type;
metadata->hosted = stored_metadata.hosted;
if (!stored_metadata.original_name.empty()) {
base::StringPiece prefix;
if (metadata->hosted) {
prefix = "https://document_alternate_link/";
} else if (info.is_directory) {
prefix = "https://folder_alternate_link/";
} else {
prefix = "https://file_alternate_link/";
}
metadata->alternate_url =
GURL(base::StrCat({prefix, stored_metadata.original_name})).spec();
base::StringPiece prefix;
if (metadata->hosted) {
prefix = "https://document_alternate_link/";
} else if (info.is_directory) {
prefix = "https://folder_alternate_link/";
} else {
prefix = "https://file_alternate_link/";
}
std::string suffix = stored_metadata.original_name.empty()
? path.BaseName().value()
: stored_metadata.original_name;
metadata->alternate_url = GURL(base::StrCat({prefix, suffix})).spec();
std::move(callback).Run(drive::FILE_ERROR_OK, std::move(metadata));
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment