fake_drive_uploader.h revision 46d4c2bc3267f3f028f39e7e311b0f89aba2e4fd
1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_FAKE_DRIVE_UPLOADER_H_ 6#define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_FAKE_DRIVE_UPLOADER_H_ 7 8#include <string> 9 10#include "base/file_util.h" 11#include "base/strings/stringprintf.h" 12#include "base/values.h" 13#include "chrome/browser/drive/drive_uploader.h" 14#include "chrome/browser/drive/fake_drive_service.h" 15#include "chrome/browser/sync_file_system/drive_backend/fake_drive_service_helper.h" 16#include "google_apis/drive/gdata_errorcode.h" 17#include "google_apis/drive/test_util.h" 18#include "net/base/escape.h" 19 20namespace sync_file_system { 21namespace drive_backend { 22 23class FakeDriveServiceWrapper : public drive::FakeDriveService { 24 public: 25 FakeDriveServiceWrapper(); 26 virtual ~FakeDriveServiceWrapper(); 27 28 // DriveServiceInterface overrides. 29 virtual google_apis::CancelCallback AddNewDirectory( 30 const std::string& parent_resource_id, 31 const std::string& directory_name, 32 const AddNewDirectoryOptions& options, 33 const google_apis::FileResourceCallback& callback) OVERRIDE; 34 35 void set_make_directory_conflict(bool enable) { 36 make_directory_conflict_ = enable; 37 } 38 39 private: 40 bool make_directory_conflict_; 41 42 DISALLOW_COPY_AND_ASSIGN(FakeDriveServiceWrapper); 43}; 44 45// A fake implementation of DriveUploaderInterface, which provides fake 46// behaviors for file uploading. 47class FakeDriveUploader : public drive::DriveUploaderInterface { 48 public: 49 explicit FakeDriveUploader(FakeDriveServiceWrapper* fake_drive_service); 50 virtual ~FakeDriveUploader(); 51 52 // DriveUploaderInterface overrides. 53 virtual google_apis::CancelCallback UploadNewFile( 54 const std::string& parent_resource_id, 55 const base::FilePath& local_file_path, 56 const std::string& title, 57 const std::string& content_type, 58 const UploadNewFileOptions& options, 59 const drive::UploadCompletionCallback& callback, 60 const google_apis::ProgressCallback& progress_callback) OVERRIDE; 61 virtual google_apis::CancelCallback UploadExistingFile( 62 const std::string& resource_id, 63 const base::FilePath& local_file_path, 64 const std::string& content_type, 65 const UploadExistingFileOptions& options, 66 const drive::UploadCompletionCallback& callback, 67 const google_apis::ProgressCallback& progress_callback) OVERRIDE; 68 virtual google_apis::CancelCallback ResumeUploadFile( 69 const GURL& upload_location, 70 const base::FilePath& local_file_path, 71 const std::string& content_type, 72 const drive::UploadCompletionCallback& callback, 73 const google_apis::ProgressCallback& progress_callback) OVERRIDE; 74 75 void set_make_file_conflict(bool enable) { 76 make_file_conflict_ = enable; 77 } 78 79 private: 80 FakeDriveServiceWrapper* fake_drive_service_; 81 bool make_file_conflict_; 82 83 DISALLOW_COPY_AND_ASSIGN(FakeDriveUploader); 84}; 85 86} // namespace drive_backend 87} // namespace sync_file_system 88 89#endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_FAKE_DRIVE_UPLOADER_H_ 90