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

Unified Diff: chrome/browser/drive/fake_drive_service.h

Issue 1190203002: Move (most of) chrome/browser/drive into components/drive/service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebasing... Created 5 years, 5 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
« no previous file with comments | « chrome/browser/drive/event_logger_unittest.cc ('k') | chrome/browser/drive/fake_drive_service.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/drive/fake_drive_service.h
diff --git a/chrome/browser/drive/fake_drive_service.h b/chrome/browser/drive/fake_drive_service.h
deleted file mode 100644
index 78cfdeb34fd70874811e8872eaf20da139f1067d..0000000000000000000000000000000000000000
--- a/chrome/browser/drive/fake_drive_service.h
+++ /dev/null
@@ -1,406 +0,0 @@
-// Copyright (c) 2012 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.
-
-#ifndef CHROME_BROWSER_DRIVE_FAKE_DRIVE_SERVICE_H_
-#define CHROME_BROWSER_DRIVE_FAKE_DRIVE_SERVICE_H_
-
-#include <string>
-
-#include "base/files/file_path.h"
-#include "base/threading/thread_checker.h"
-#include "chrome/browser/drive/drive_service_interface.h"
-
-namespace base {
-class DictionaryValue;
-}
-
-namespace google_apis {
-class AboutResource;
-class ChangeResource;
-class FileResource;
-}
-
-namespace drive {
-
-// This class implements a fake DriveService which acts like a real Drive
-// service. The fake service works as follows:
-//
-// 1) Load JSON files and construct the in-memory resource list.
-// 2) Return valid responses based on the the in-memory resource list.
-// 3) Update the in-memory resource list by requests like DeleteResource().
-class FakeDriveService : public DriveServiceInterface {
- public:
- class ChangeObserver {
- public:
- virtual ~ChangeObserver() {}
- virtual void OnNewChangeAvailable() = 0;
- };
-
- FakeDriveService();
- ~FakeDriveService() override;
-
- // Loads the app list for Drive API. Returns true on success.
- bool LoadAppListForDriveApi(const std::string& relative_path);
-
- // Adds an app to app list.
- void AddApp(const std::string& app_id,
- const std::string& app_name,
- const std::string& product_id,
- const std::string& create_url,
- bool is_removable);
-
- // Removes an app by product id.
- void RemoveAppByProductId(const std::string& product_id);
-
- // Returns true if the service knows the given drive app id.
- bool HasApp(const std::string& app_id) const;
-
- // Changes the offline state. All functions fail with DRIVE_NO_CONNECTION
- // when offline. By default the offline state is false.
- void set_offline(bool offline) { offline_ = offline; }
-
- // GetAllFileList never returns result when this is set to true.
- // Used to emulate the real server's slowness.
- void set_never_return_all_file_list(bool value) {
- never_return_all_file_list_ = value;
- }
-
- // Changes the default max results returned from GetAllFileList().
- // By default, it's set to 0, which is unlimited.
- void set_default_max_results(int default_max_results) {
- default_max_results_ = default_max_results;
- }
-
- // Sets the url to the test server to be used as a base for generated share
- // urls to the share dialog.
- void set_share_url_base(const GURL& share_url_base) {
- share_url_base_ = share_url_base;
- }
-
- // Changes the quota fields returned from GetAboutResource().
- void SetQuotaValue(int64 used, int64 total);
-
- // Returns the AboutResource.
- const google_apis::AboutResource& about_resource() const {
- return *about_resource_;
- }
-
- // Returns the number of times the file list is successfully loaded by
- // GetAllFileList().
- int file_list_load_count() const { return file_list_load_count_; }
-
- // Returns the number of times the resource list is successfully loaded by
- // GetChangeList().
- int change_list_load_count() const { return change_list_load_count_; }
-
- // Returns the number of times the resource list is successfully loaded by
- // GetFileListInDirectory().
- int directory_load_count() const { return directory_load_count_; }
-
- // Returns the number of times the about resource is successfully loaded
- // by GetAboutResource().
- int about_resource_load_count() const {
- return about_resource_load_count_;
- }
-
- // Returns the number of times the app list is successfully loaded by
- // GetAppList().
- int app_list_load_count() const { return app_list_load_count_; }
-
- // Returns the number of times GetAllFileList are blocked due to
- // set_never_return_all_file_list().
- int blocked_file_list_load_count() const {
- return blocked_file_list_load_count_;
- }
-
- // Returns the file path whose request is cancelled just before this method
- // invocation.
- const base::FilePath& last_cancelled_file() const {
- return last_cancelled_file_;
- }
-
- // Returns the (fake) URL for the link.
- static GURL GetFakeLinkUrl(const std::string& resource_id);
-
- // Sets the printf format for constructing the response of AuthorizeApp().
- // The format string must include two %s that are to be filled with
- // resource_id and app_id.
- void set_open_url_format(const std::string& url_format) {
- open_url_format_ = url_format;
- }
-
- // DriveServiceInterface Overrides
- void Initialize(const std::string& account_id) override;
- void AddObserver(DriveServiceObserver* observer) override;
- void RemoveObserver(DriveServiceObserver* observer) override;
- bool CanSendRequest() const override;
- std::string GetRootResourceId() const override;
- bool HasAccessToken() const override;
- void RequestAccessToken(
- const google_apis::AuthStatusCallback& callback) override;
- bool HasRefreshToken() const override;
- void ClearAccessToken() override;
- void ClearRefreshToken() override;
- google_apis::CancelCallback GetAllFileList(
- const google_apis::FileListCallback& callback) override;
- google_apis::CancelCallback GetFileListInDirectory(
- const std::string& directory_resource_id,
- const google_apis::FileListCallback& callback) override;
- // See the comment for EntryMatchWidthQuery() in .cc file for details about
- // the supported search query types.
- google_apis::CancelCallback Search(
- const std::string& search_query,
- const google_apis::FileListCallback& callback) override;
- google_apis::CancelCallback SearchByTitle(
- const std::string& title,
- const std::string& directory_resource_id,
- const google_apis::FileListCallback& callback) override;
- google_apis::CancelCallback GetChangeList(
- int64 start_changestamp,
- const google_apis::ChangeListCallback& callback) override;
- google_apis::CancelCallback GetRemainingChangeList(
- const GURL& next_link,
- const google_apis::ChangeListCallback& callback) override;
- google_apis::CancelCallback GetRemainingFileList(
- const GURL& next_link,
- const google_apis::FileListCallback& callback) override;
- google_apis::CancelCallback GetFileResource(
- const std::string& resource_id,
- const google_apis::FileResourceCallback& callback) override;
- google_apis::CancelCallback GetShareUrl(
- const std::string& resource_id,
- const GURL& embed_origin,
- const google_apis::GetShareUrlCallback& callback) override;
- google_apis::CancelCallback GetAboutResource(
- const google_apis::AboutResourceCallback& callback) override;
- google_apis::CancelCallback GetAppList(
- const google_apis::AppListCallback& callback) override;
- google_apis::CancelCallback DeleteResource(
- const std::string& resource_id,
- const std::string& etag,
- const google_apis::EntryActionCallback& callback) override;
- google_apis::CancelCallback TrashResource(
- const std::string& resource_id,
- const google_apis::EntryActionCallback& callback) override;
- google_apis::CancelCallback DownloadFile(
- const base::FilePath& local_cache_path,
- const std::string& resource_id,
- const google_apis::DownloadActionCallback& download_action_callback,
- const google_apis::GetContentCallback& get_content_callback,
- const google_apis::ProgressCallback& progress_callback) override;
- google_apis::CancelCallback CopyResource(
- const std::string& resource_id,
- const std::string& parent_resource_id,
- const std::string& new_title,
- const base::Time& last_modified,
- const google_apis::FileResourceCallback& callback) override;
- google_apis::CancelCallback UpdateResource(
- const std::string& resource_id,
- const std::string& parent_resource_id,
- const std::string& new_title,
- const base::Time& last_modified,
- const base::Time& last_viewed_by_me,
- const google_apis::drive::Properties& properties,
- const google_apis::FileResourceCallback& callback) override;
- google_apis::CancelCallback AddResourceToDirectory(
- const std::string& parent_resource_id,
- const std::string& resource_id,
- const google_apis::EntryActionCallback& callback) override;
- google_apis::CancelCallback RemoveResourceFromDirectory(
- const std::string& parent_resource_id,
- const std::string& resource_id,
- const google_apis::EntryActionCallback& callback) override;
- google_apis::CancelCallback AddNewDirectory(
- const std::string& parent_resource_id,
- const std::string& directory_title,
- const AddNewDirectoryOptions& options,
- const google_apis::FileResourceCallback& callback) override;
- google_apis::CancelCallback InitiateUploadNewFile(
- const std::string& content_type,
- int64 content_length,
- const std::string& parent_resource_id,
- const std::string& title,
- const UploadNewFileOptions& options,
- const google_apis::InitiateUploadCallback& callback) override;
- google_apis::CancelCallback InitiateUploadExistingFile(
- const std::string& content_type,
- int64 content_length,
- const std::string& resource_id,
- const UploadExistingFileOptions& options,
- const google_apis::InitiateUploadCallback& callback) override;
- google_apis::CancelCallback ResumeUpload(
- const GURL& upload_url,
- int64 start_position,
- int64 end_position,
- int64 content_length,
- const std::string& content_type,
- const base::FilePath& local_file_path,
- const google_apis::drive::UploadRangeCallback& callback,
- const google_apis::ProgressCallback& progress_callback) override;
- google_apis::CancelCallback GetUploadStatus(
- const GURL& upload_url,
- int64 content_length,
- const google_apis::drive::UploadRangeCallback& callback) override;
- google_apis::CancelCallback MultipartUploadNewFile(
- const std::string& content_type,
- int64 content_length,
- const std::string& parent_resource_id,
- const std::string& title,
- const base::FilePath& local_file_path,
- const UploadNewFileOptions& options,
- const google_apis::FileResourceCallback& callback,
- const google_apis::ProgressCallback& progress_callback) override;
- google_apis::CancelCallback MultipartUploadExistingFile(
- const std::string& content_type,
- int64 content_length,
- const std::string& resource_id,
- const base::FilePath& local_file_path,
- const UploadExistingFileOptions& options,
- const google_apis::FileResourceCallback& callback,
- const google_apis::ProgressCallback& progress_callback) override;
- google_apis::CancelCallback AuthorizeApp(
- const std::string& resource_id,
- const std::string& app_id,
- const google_apis::AuthorizeAppCallback& callback) override;
- google_apis::CancelCallback UninstallApp(
- const std::string& app_id,
- const google_apis::EntryActionCallback& callback) override;
- google_apis::CancelCallback AddPermission(
- const std::string& resource_id,
- const std::string& email,
- google_apis::drive::PermissionRole role,
- const google_apis::EntryActionCallback& callback) override;
- scoped_ptr<BatchRequestConfiguratorInterface> StartBatchRequest() override;
-
- // Adds a new file with the given parameters. On success, returns
- // HTTP_CREATED with the parsed entry.
- // |callback| must not be null.
- void AddNewFile(const std::string& content_type,
- const std::string& content_data,
- const std::string& parent_resource_id,
- const std::string& title,
- bool shared_with_me,
- const google_apis::FileResourceCallback& callback);
-
- // Adds a new file with the given |resource_id|. If the id already exists,
- // it's an error. This is used for testing cross profile file sharing that
- // needs to have matching resource IDs in different fake service instances.
- // |callback| must not be null.
- void AddNewFileWithResourceId(
- const std::string& resource_id,
- const std::string& content_type,
- const std::string& content_data,
- const std::string& parent_resource_id,
- const std::string& title,
- bool shared_with_me,
- const google_apis::FileResourceCallback& callback);
-
- // Adds a new directory with the given |resource_id|.
- // |callback| must not be null.
- google_apis::CancelCallback AddNewDirectoryWithResourceId(
- const std::string& resource_id,
- const std::string& parent_resource_id,
- const std::string& directory_title,
- const AddNewDirectoryOptions& options,
- const google_apis::FileResourceCallback& callback);
-
- // Sets the last modified time for an entry specified by |resource_id|.
- // On success, returns HTTP_SUCCESS with the parsed entry.
- // |callback| must not be null.
- void SetLastModifiedTime(
- const std::string& resource_id,
- const base::Time& last_modified_time,
- const google_apis::FileResourceCallback& callback);
-
- // Sets the user's permission for an entry specified by |resource_id|.
- google_apis::DriveApiErrorCode SetUserPermission(
- const std::string& resource_id,
- google_apis::drive::PermissionRole user_permission);
-
- void AddChangeObserver(ChangeObserver* observer);
- void RemoveChangeObserver(ChangeObserver* observer);
-
- private:
- struct EntryInfo;
- struct UploadSession;
-
- // Returns a pointer to the entry that matches |resource_id|, or NULL if
- // not found.
- EntryInfo* FindEntryByResourceId(const std::string& resource_id);
-
- // Returns a new resource ID, which looks like "resource_id_<num>" where
- // <num> is a monotonically increasing number starting from 1.
- std::string GetNewResourceId();
-
- // Increments |largest_changestamp_| and adds the new changestamp.
- void AddNewChangestamp(google_apis::ChangeResource* change);
-
- // Update ETag of |file| based on |largest_changestamp_|.
- void UpdateETag(google_apis::FileResource* file);
-
- // Adds a new entry based on the given parameters.
- // |resource_id| can be empty, in the case, the id is automatically generated.
- // Returns a pointer to the newly added entry, or NULL if failed.
- const EntryInfo* AddNewEntry(
- const std::string& resource_id,
- const std::string& content_type,
- const std::string& content_data,
- const std::string& parent_resource_id,
- const std::string& title,
- bool shared_with_me);
-
- // Core implementation of GetChangeList.
- // This method returns the slice of the all matched entries, and its range
- // is between |start_offset| (inclusive) and |start_offset| + |max_results|
- // (exclusive).
- // Increments *load_counter by 1 before it returns successfully.
- void GetChangeListInternal(
- int64 start_changestamp,
- const std::string& search_query,
- const std::string& directory_resource_id,
- int start_offset,
- int max_results,
- int* load_counter,
- const google_apis::ChangeListCallback& callback);
-
- // Returns new upload session URL.
- GURL GetNewUploadSessionUrl();
-
- void NotifyObservers();
-
- // The class is expected to run on UI thread.
- base::ThreadChecker thread_checker_;
-
- typedef std::map<std::string, EntryInfo*> EntryInfoMap;
- EntryInfoMap entries_;
- scoped_ptr<google_apis::AboutResource> about_resource_;
- scoped_ptr<base::DictionaryValue> app_info_value_;
- std::map<GURL, UploadSession> upload_sessions_;
- int64 published_date_seq_;
- int64 next_upload_sequence_number_;
- int default_max_results_;
- int resource_id_count_;
- int file_list_load_count_;
- int change_list_load_count_;
- int directory_load_count_;
- int about_resource_load_count_;
- int app_list_load_count_;
- int blocked_file_list_load_count_;
- bool offline_;
- bool never_return_all_file_list_;
- base::FilePath last_cancelled_file_;
- GURL share_url_base_;
- std::string app_json_template_;
- std::string open_url_format_;
-
- base::ObserverList<ChangeObserver> change_observers_;
-
- base::WeakPtrFactory<FakeDriveService> weak_ptr_factory_;
-
- DISALLOW_COPY_AND_ASSIGN(FakeDriveService);
-};
-
-} // namespace drive
-
-#endif // CHROME_BROWSER_DRIVE_FAKE_DRIVE_SERVICE_H_
« no previous file with comments | « chrome/browser/drive/event_logger_unittest.cc ('k') | chrome/browser/drive/fake_drive_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698