| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chromeos/drive/mock_drive_service.h" | 5 #include "chrome/browser/chromeos/drive/mock_drive_service.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/file_path.h" | 8 #include "base/file_path.h" |
| 9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
| 10 #include "base/location.h" | 10 #include "base/location.h" |
| 11 #include "base/json/json_file_value_serializer.h" | 11 #include "base/json/json_file_value_serializer.h" |
| 12 #include "base/message_loop_proxy.h" | 12 #include "base/message_loop_proxy.h" |
| 13 #include "base/path_service.h" | 13 #include "base/path_service.h" |
| 14 #include "base/platform_file.h" | 14 #include "base/platform_file.h" |
| 15 #include "chrome/browser/chromeos/drive/drive_test_util.h" | 15 #include "chrome/browser/chromeos/drive/drive_test_util.h" |
| 16 #include "chrome/common/chrome_paths.h" | 16 #include "chrome/common/chrome_paths.h" |
| 17 #include "testing/gmock/include/gmock/gmock.h" | 17 #include "testing/gmock/include/gmock/gmock.h" |
| 18 | 18 |
| 19 using ::testing::_; | 19 using ::testing::_; |
| 20 using ::testing::Invoke; | 20 using ::testing::Invoke; |
| 21 using ::testing::Return; | 21 using ::testing::Return; |
| 22 | 22 |
| 23 namespace gdata { | 23 namespace drive { |
| 24 | 24 |
| 25 MockDriveService::MockDriveService() { | 25 MockDriveService::MockDriveService() { |
| 26 ON_CALL(*this, GetProgressStatusList()) | 26 ON_CALL(*this, GetProgressStatusList()) |
| 27 .WillByDefault(Return(OperationProgressStatusList())); | 27 .WillByDefault(Return(gdata::OperationProgressStatusList())); |
| 28 ON_CALL(*this, Authenticate(_)) | 28 ON_CALL(*this, Authenticate(_)) |
| 29 .WillByDefault(Invoke(this, &MockDriveService::AuthenticateStub)); | 29 .WillByDefault(Invoke(this, &MockDriveService::AuthenticateStub)); |
| 30 ON_CALL(*this, GetDocuments(_, _, _, _, _)) | 30 ON_CALL(*this, GetDocuments(_, _, _, _, _)) |
| 31 .WillByDefault(Invoke(this, &MockDriveService::GetDocumentsStub)); | 31 .WillByDefault(Invoke(this, &MockDriveService::GetDocumentsStub)); |
| 32 ON_CALL(*this, GetAccountMetadata(_)) | 32 ON_CALL(*this, GetAccountMetadata(_)) |
| 33 .WillByDefault(Invoke(this, | 33 .WillByDefault(Invoke(this, |
| 34 &MockDriveService::GetAccountMetadataStub)); | 34 &MockDriveService::GetAccountMetadataStub)); |
| 35 ON_CALL(*this, DeleteDocument(_, _)) | 35 ON_CALL(*this, DeleteDocument(_, _)) |
| 36 .WillByDefault(Invoke(this, &MockDriveService::DeleteDocumentStub)); | 36 .WillByDefault(Invoke(this, &MockDriveService::DeleteDocumentStub)); |
| 37 ON_CALL(*this, DownloadDocument(_, _, _, _, _)) | 37 ON_CALL(*this, DownloadDocument(_, _, _, _, _)) |
| 38 .WillByDefault(Invoke(this, &MockDriveService::DownloadDocumentStub)); | 38 .WillByDefault(Invoke(this, &MockDriveService::DownloadDocumentStub)); |
| 39 ON_CALL(*this, CopyDocument(_, _, _)) | 39 ON_CALL(*this, CopyDocument(_, _, _)) |
| 40 .WillByDefault(Invoke(this, &MockDriveService::CopyDocumentStub)); | 40 .WillByDefault(Invoke(this, &MockDriveService::CopyDocumentStub)); |
| 41 ON_CALL(*this, RenameResource(_, _, _)) | 41 ON_CALL(*this, RenameResource(_, _, _)) |
| 42 .WillByDefault(Invoke(this, &MockDriveService::RenameResourceStub)); | 42 .WillByDefault(Invoke(this, &MockDriveService::RenameResourceStub)); |
| 43 ON_CALL(*this, AddResourceToDirectory(_, _, _)) | 43 ON_CALL(*this, AddResourceToDirectory(_, _, _)) |
| 44 .WillByDefault( | 44 .WillByDefault( |
| 45 Invoke(this, &MockDriveService::AddResourceToDirectoryStub)); | 45 Invoke(this, &MockDriveService::AddResourceToDirectoryStub)); |
| 46 ON_CALL(*this, RemoveResourceFromDirectory(_, _, _, _)) | 46 ON_CALL(*this, RemoveResourceFromDirectory(_, _, _, _)) |
| 47 .WillByDefault( | 47 .WillByDefault( |
| 48 Invoke(this, &MockDriveService::RemoveResourceFromDirectoryStub)); | 48 Invoke(this, &MockDriveService::RemoveResourceFromDirectoryStub)); |
| 49 ON_CALL(*this, CreateDirectory(_, _, _)) | 49 ON_CALL(*this, CreateDirectory(_, _, _)) |
| 50 .WillByDefault(Invoke(this, &MockDriveService::CreateDirectoryStub)); | 50 .WillByDefault(Invoke(this, &MockDriveService::CreateDirectoryStub)); |
| 51 ON_CALL(*this, DownloadFile(_, _, _, _, _)) | 51 ON_CALL(*this, DownloadFile(_, _, _, _, _)) |
| 52 .WillByDefault(Invoke(this, &MockDriveService::DownloadFileStub)); | 52 .WillByDefault(Invoke(this, &MockDriveService::DownloadFileStub)); |
| 53 | 53 |
| 54 // Fill in the default values for mock feeds. | 54 // Fill in the default values for mock feeds. |
| 55 account_metadata_ = | 55 account_metadata_ = |
| 56 test_util::LoadJSONFile("gdata/account_metadata.json"); | 56 gdata::test_util::LoadJSONFile("gdata/account_metadata.json"); |
| 57 feed_data_ = test_util::LoadJSONFile("gdata/basic_feed.json"); | 57 feed_data_ = gdata::test_util::LoadJSONFile("gdata/basic_feed.json"); |
| 58 directory_data_ = | 58 directory_data_ = |
| 59 test_util::LoadJSONFile("gdata/new_folder_entry.json"); | 59 gdata::test_util::LoadJSONFile("gdata/new_folder_entry.json"); |
| 60 } | 60 } |
| 61 | 61 |
| 62 MockDriveService::~MockDriveService() {} | 62 MockDriveService::~MockDriveService() {} |
| 63 | 63 |
| 64 void MockDriveService::set_search_result( | 64 void MockDriveService::set_search_result( |
| 65 const std::string& search_result_feed) { | 65 const std::string& search_result_feed) { |
| 66 search_result_ = test_util::LoadJSONFile(search_result_feed); | 66 search_result_ = gdata::test_util::LoadJSONFile(search_result_feed); |
| 67 } | 67 } |
| 68 | 68 |
| 69 void MockDriveService::AuthenticateStub( | 69 void MockDriveService::AuthenticateStub( |
| 70 const AuthStatusCallback& callback) { | 70 const gdata::AuthStatusCallback& callback) { |
| 71 base::MessageLoopProxy::current()->PostTask( | 71 base::MessageLoopProxy::current()->PostTask( |
| 72 FROM_HERE, | 72 FROM_HERE, |
| 73 base::Bind(callback, HTTP_SUCCESS, "my_auth_token")); | 73 base::Bind(callback, gdata::HTTP_SUCCESS, "my_auth_token")); |
| 74 } | 74 } |
| 75 | 75 |
| 76 void MockDriveService::GetDocumentsStub( | 76 void MockDriveService::GetDocumentsStub( |
| 77 const GURL& feed_url, | 77 const GURL& feed_url, |
| 78 int64 start_changestamp, | 78 int64 start_changestamp, |
| 79 const std::string& search_string, | 79 const std::string& search_string, |
| 80 const std::string& directory_resource_id, | 80 const std::string& directory_resource_id, |
| 81 const GetDataCallback& callback) { | 81 const gdata::GetDataCallback& callback) { |
| 82 if (search_string.empty()) { | 82 if (search_string.empty()) { |
| 83 base::MessageLoopProxy::current()->PostTask( | 83 base::MessageLoopProxy::current()->PostTask( |
| 84 FROM_HERE, | 84 FROM_HERE, |
| 85 base::Bind(callback, HTTP_SUCCESS, base::Passed(&feed_data_))); | 85 base::Bind(callback, gdata::HTTP_SUCCESS, |
| 86 base::Passed(&feed_data_))); |
| 86 } else { | 87 } else { |
| 87 base::MessageLoopProxy::current()->PostTask( | 88 base::MessageLoopProxy::current()->PostTask( |
| 88 FROM_HERE, | 89 FROM_HERE, |
| 89 base::Bind(callback, HTTP_SUCCESS, base::Passed(&search_result_))); | 90 base::Bind(callback, gdata::HTTP_SUCCESS, |
| 91 base::Passed(&search_result_))); |
| 90 } | 92 } |
| 91 } | 93 } |
| 92 | 94 |
| 93 void MockDriveService::GetAccountMetadataStub( | 95 void MockDriveService::GetAccountMetadataStub( |
| 94 const GetDataCallback& callback) { | 96 const gdata::GetDataCallback& callback) { |
| 95 base::MessageLoopProxy::current()->PostTask( | 97 base::MessageLoopProxy::current()->PostTask( |
| 96 FROM_HERE, | 98 FROM_HERE, |
| 97 base::Bind(callback, HTTP_SUCCESS, base::Passed(&account_metadata_))); | 99 base::Bind(callback, gdata::HTTP_SUCCESS, |
| 100 base::Passed(&account_metadata_))); |
| 98 } | 101 } |
| 99 | 102 |
| 100 void MockDriveService::DeleteDocumentStub( | 103 void MockDriveService::DeleteDocumentStub( |
| 101 const GURL& document_url, | 104 const GURL& document_url, |
| 102 const EntryActionCallback& callback) { | 105 const gdata::EntryActionCallback& callback) { |
| 103 base::MessageLoopProxy::current()->PostTask( | 106 base::MessageLoopProxy::current()->PostTask( |
| 104 FROM_HERE, | 107 FROM_HERE, |
| 105 base::Bind(callback, HTTP_SUCCESS, document_url)); | 108 base::Bind(callback, gdata::HTTP_SUCCESS, document_url)); |
| 106 } | 109 } |
| 107 | 110 |
| 108 void MockDriveService::DownloadDocumentStub( | 111 void MockDriveService::DownloadDocumentStub( |
| 109 const FilePath& virtual_path, | 112 const FilePath& virtual_path, |
| 110 const FilePath& local_tmp_path, | 113 const FilePath& local_tmp_path, |
| 111 const GURL& content_url, | 114 const GURL& content_url, |
| 112 DocumentExportFormat format, | 115 DocumentExportFormat format, |
| 113 const DownloadActionCallback& callback) { | 116 const gdata::DownloadActionCallback& callback) { |
| 114 base::MessageLoopProxy::current()->PostTask( | 117 base::MessageLoopProxy::current()->PostTask( |
| 115 FROM_HERE, | 118 FROM_HERE, |
| 116 base::Bind(callback, HTTP_SUCCESS, content_url, local_tmp_path)); | 119 base::Bind(callback, gdata::HTTP_SUCCESS, content_url, local_tmp_path)); |
| 117 } | 120 } |
| 118 | 121 |
| 119 void MockDriveService::CopyDocumentStub( | 122 void MockDriveService::CopyDocumentStub( |
| 120 const std::string& resource_id, | 123 const std::string& resource_id, |
| 121 const FilePath::StringType& new_name, | 124 const FilePath::StringType& new_name, |
| 122 const GetDataCallback& callback) { | 125 const gdata::GetDataCallback& callback) { |
| 123 base::MessageLoopProxy::current()->PostTask( | 126 base::MessageLoopProxy::current()->PostTask( |
| 124 FROM_HERE, | 127 FROM_HERE, |
| 125 base::Bind(callback, HTTP_SUCCESS, base::Passed(&document_data_))); | 128 base::Bind(callback, gdata::HTTP_SUCCESS, base::Passed(&document_data_))); |
| 126 } | 129 } |
| 127 | 130 |
| 128 void MockDriveService::RenameResourceStub( | 131 void MockDriveService::RenameResourceStub( |
| 129 const GURL& resource_url, | 132 const GURL& resource_url, |
| 130 const FilePath::StringType& new_name, | 133 const FilePath::StringType& new_name, |
| 131 const EntryActionCallback& callback) { | 134 const gdata::EntryActionCallback& callback) { |
| 132 base::MessageLoopProxy::current()->PostTask( | 135 base::MessageLoopProxy::current()->PostTask( |
| 133 FROM_HERE, | 136 FROM_HERE, |
| 134 base::Bind(callback, HTTP_SUCCESS, resource_url)); | 137 base::Bind(callback, gdata::HTTP_SUCCESS, resource_url)); |
| 135 } | 138 } |
| 136 | 139 |
| 137 void MockDriveService::AddResourceToDirectoryStub( | 140 void MockDriveService::AddResourceToDirectoryStub( |
| 138 const GURL& parent_content_url, | 141 const GURL& parent_content_url, |
| 139 const GURL& resource_url, | 142 const GURL& resource_url, |
| 140 const EntryActionCallback& callback) { | 143 const gdata::EntryActionCallback& callback) { |
| 141 base::MessageLoopProxy::current()->PostTask( | 144 base::MessageLoopProxy::current()->PostTask( |
| 142 FROM_HERE, | 145 FROM_HERE, |
| 143 base::Bind(callback, HTTP_SUCCESS, resource_url)); | 146 base::Bind(callback, gdata::HTTP_SUCCESS, resource_url)); |
| 144 } | 147 } |
| 145 | 148 |
| 146 void MockDriveService::RemoveResourceFromDirectoryStub( | 149 void MockDriveService::RemoveResourceFromDirectoryStub( |
| 147 const GURL& parent_content_url, | 150 const GURL& parent_content_url, |
| 148 const GURL& resource_url, | 151 const GURL& resource_url, |
| 149 const std::string& resource_id, | 152 const std::string& resource_id, |
| 150 const EntryActionCallback& callback) { | 153 const gdata::EntryActionCallback& callback) { |
| 151 base::MessageLoopProxy::current()->PostTask( | 154 base::MessageLoopProxy::current()->PostTask( |
| 152 FROM_HERE, | 155 FROM_HERE, |
| 153 base::Bind(callback, HTTP_SUCCESS, resource_url)); | 156 base::Bind(callback, gdata::HTTP_SUCCESS, resource_url)); |
| 154 } | 157 } |
| 155 | 158 |
| 156 void MockDriveService::CreateDirectoryStub( | 159 void MockDriveService::CreateDirectoryStub( |
| 157 const GURL& parent_content_url, | 160 const GURL& parent_content_url, |
| 158 const FilePath::StringType& directory_name, | 161 const FilePath::StringType& directory_name, |
| 159 const GetDataCallback& callback) { | 162 const gdata::GetDataCallback& callback) { |
| 160 base::MessageLoopProxy::current()->PostTask( | 163 base::MessageLoopProxy::current()->PostTask( |
| 161 FROM_HERE, | 164 FROM_HERE, |
| 162 base::Bind(callback, HTTP_SUCCESS, base::Passed(&directory_data_))); | 165 base::Bind(callback, gdata::HTTP_SUCCESS, |
| 166 base::Passed(&directory_data_))); |
| 163 } | 167 } |
| 164 | 168 |
| 165 void MockDriveService::DownloadFileStub( | 169 void MockDriveService::DownloadFileStub( |
| 166 const FilePath& virtual_path, | 170 const FilePath& virtual_path, |
| 167 const FilePath& local_tmp_path, | 171 const FilePath& local_tmp_path, |
| 168 const GURL& content_url, | 172 const GURL& content_url, |
| 169 const DownloadActionCallback& download_action_callback, | 173 const gdata::DownloadActionCallback& download_action_callback, |
| 170 const GetContentCallback& get_content_callback) { | 174 const gdata::GetContentCallback& get_content_callback) { |
| 171 GDataErrorCode error = HTTP_SUCCESS; | 175 gdata::GDataErrorCode error = gdata::HTTP_SUCCESS; |
| 172 if (file_data_.get()) { | 176 if (file_data_.get()) { |
| 173 int file_data_size = static_cast<int>(file_data_->size()); | 177 int file_data_size = static_cast<int>(file_data_->size()); |
| 174 ASSERT_EQ(file_data_size, | 178 ASSERT_EQ(file_data_size, |
| 175 file_util::WriteFile(local_tmp_path, file_data_->data(), | 179 file_util::WriteFile(local_tmp_path, file_data_->data(), |
| 176 file_data_size)); | 180 file_data_size)); |
| 177 } | 181 } |
| 178 base::MessageLoopProxy::current()->PostTask( | 182 base::MessageLoopProxy::current()->PostTask( |
| 179 FROM_HERE, | 183 FROM_HERE, |
| 180 base::Bind(download_action_callback, error, content_url, local_tmp_path)); | 184 base::Bind(download_action_callback, error, content_url, local_tmp_path)); |
| 181 } | 185 } |
| 182 | 186 |
| 183 } // namespace gdata | 187 } // namespace drive |
| OLD | NEW |