OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/sync/entry_update_performer.h" | 5 #include "chrome/browser/chromeos/drive/sync/entry_update_performer.h" |
6 | 6 |
7 #include "base/callback_helpers.h" | 7 #include "base/callback_helpers.h" |
8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
9 #include "base/md5.h" | 9 #include "base/md5.h" |
10 #include "base/task_runner_util.h" | 10 #include "base/task_runner_util.h" |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 FileError error = FILE_ERROR_FAILED; | 188 FileError error = FILE_ERROR_FAILED; |
189 performer_->UpdateEntry( | 189 performer_->UpdateEntry( |
190 id, ClientContext(USER_INITIATED), | 190 id, ClientContext(USER_INITIATED), |
191 google_apis::test_util::CreateCopyResultCallback(&error)); | 191 google_apis::test_util::CreateCopyResultCallback(&error)); |
192 content::RunAllBlockingPoolTasksUntilIdle(); | 192 content::RunAllBlockingPoolTasksUntilIdle(); |
193 EXPECT_EQ(FILE_ERROR_NOT_FOUND, error); | 193 EXPECT_EQ(FILE_ERROR_NOT_FOUND, error); |
194 } | 194 } |
195 | 195 |
196 TEST_F(EntryUpdatePerformerTest, UpdateEntry_ContentUpdate) { | 196 TEST_F(EntryUpdatePerformerTest, UpdateEntry_ContentUpdate) { |
197 const base::FilePath kFilePath(FILE_PATH_LITERAL("drive/root/File 1.txt")); | 197 const base::FilePath kFilePath(FILE_PATH_LITERAL("drive/root/File 1.txt")); |
198 const std::string kResourceId("file:2_file_resource_id"); | 198 const std::string kResourceId("2_file_resource_id"); |
199 | 199 |
200 const std::string local_id = GetLocalId(kFilePath); | 200 const std::string local_id = GetLocalId(kFilePath); |
201 EXPECT_FALSE(local_id.empty()); | 201 EXPECT_FALSE(local_id.empty()); |
202 | 202 |
203 const std::string kTestFileContent = "I'm being uploaded! Yay!"; | 203 const std::string kTestFileContent = "I'm being uploaded! Yay!"; |
204 EXPECT_EQ(FILE_ERROR_OK, StoreAndMarkDirty(local_id, kTestFileContent)); | 204 EXPECT_EQ(FILE_ERROR_OK, StoreAndMarkDirty(local_id, kTestFileContent)); |
205 | 205 |
206 int64 original_changestamp = | 206 int64 original_changestamp = |
207 fake_service()->about_resource().largest_change_id(); | 207 fake_service()->about_resource().largest_change_id(); |
208 | 208 |
(...skipping 23 matching lines...) Expand all Loading... |
232 server_entry->file_size()); | 232 server_entry->file_size()); |
233 | 233 |
234 // Make sure that the cache is no longer dirty. | 234 // Make sure that the cache is no longer dirty. |
235 ResourceEntry entry; | 235 ResourceEntry entry; |
236 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(kFilePath, &entry)); | 236 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(kFilePath, &entry)); |
237 EXPECT_FALSE(entry.file_specific_info().cache_state().is_dirty()); | 237 EXPECT_FALSE(entry.file_specific_info().cache_state().is_dirty()); |
238 } | 238 } |
239 | 239 |
240 TEST_F(EntryUpdatePerformerTest, UpdateEntry_ContentUpdateMd5Check) { | 240 TEST_F(EntryUpdatePerformerTest, UpdateEntry_ContentUpdateMd5Check) { |
241 const base::FilePath kFilePath(FILE_PATH_LITERAL("drive/root/File 1.txt")); | 241 const base::FilePath kFilePath(FILE_PATH_LITERAL("drive/root/File 1.txt")); |
242 const std::string kResourceId("file:2_file_resource_id"); | 242 const std::string kResourceId("2_file_resource_id"); |
243 | 243 |
244 const std::string local_id = GetLocalId(kFilePath); | 244 const std::string local_id = GetLocalId(kFilePath); |
245 EXPECT_FALSE(local_id.empty()); | 245 EXPECT_FALSE(local_id.empty()); |
246 | 246 |
247 const std::string kTestFileContent = "I'm being uploaded! Yay!"; | 247 const std::string kTestFileContent = "I'm being uploaded! Yay!"; |
248 EXPECT_EQ(FILE_ERROR_OK, StoreAndMarkDirty(local_id, kTestFileContent)); | 248 EXPECT_EQ(FILE_ERROR_OK, StoreAndMarkDirty(local_id, kTestFileContent)); |
249 | 249 |
250 int64 original_changestamp = | 250 int64 original_changestamp = |
251 fake_service()->about_resource().largest_change_id(); | 251 fake_service()->about_resource().largest_change_id(); |
252 | 252 |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
310 EXPECT_EQ(original_changestamp, | 310 EXPECT_EQ(original_changestamp, |
311 fake_service()->about_resource().largest_change_id()); | 311 fake_service()->about_resource().largest_change_id()); |
312 | 312 |
313 // Make sure that the cache is no longer dirty. | 313 // Make sure that the cache is no longer dirty. |
314 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(kFilePath, &entry)); | 314 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(kFilePath, &entry)); |
315 EXPECT_FALSE(entry.file_specific_info().cache_state().is_dirty()); | 315 EXPECT_FALSE(entry.file_specific_info().cache_state().is_dirty()); |
316 } | 316 } |
317 | 317 |
318 TEST_F(EntryUpdatePerformerTest, UpdateEntry_OpenedForWrite) { | 318 TEST_F(EntryUpdatePerformerTest, UpdateEntry_OpenedForWrite) { |
319 const base::FilePath kFilePath(FILE_PATH_LITERAL("drive/root/File 1.txt")); | 319 const base::FilePath kFilePath(FILE_PATH_LITERAL("drive/root/File 1.txt")); |
320 const std::string kResourceId("file:2_file_resource_id"); | 320 const std::string kResourceId("2_file_resource_id"); |
321 | 321 |
322 const std::string local_id = GetLocalId(kFilePath); | 322 const std::string local_id = GetLocalId(kFilePath); |
323 EXPECT_FALSE(local_id.empty()); | 323 EXPECT_FALSE(local_id.empty()); |
324 | 324 |
325 const std::string kTestFileContent = "I'm being uploaded! Yay!"; | 325 const std::string kTestFileContent = "I'm being uploaded! Yay!"; |
326 EXPECT_EQ(FILE_ERROR_OK, StoreAndMarkDirty(local_id, kTestFileContent)); | 326 EXPECT_EQ(FILE_ERROR_OK, StoreAndMarkDirty(local_id, kTestFileContent)); |
327 | 327 |
328 // Emulate a situation where someone is writing to the file. | 328 // Emulate a situation where someone is writing to the file. |
329 scoped_ptr<base::ScopedClosureRunner> file_closer; | 329 scoped_ptr<base::ScopedClosureRunner> file_closer; |
330 FileError error = FILE_ERROR_FAILED; | 330 FileError error = FILE_ERROR_FAILED; |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
546 entry.resource_id(), | 546 entry.resource_id(), |
547 google_apis::test_util::CreateCopyResultCallback(&status, &server_entry)); | 547 google_apis::test_util::CreateCopyResultCallback(&status, &server_entry)); |
548 content::RunAllBlockingPoolTasksUntilIdle(); | 548 content::RunAllBlockingPoolTasksUntilIdle(); |
549 EXPECT_EQ(google_apis::HTTP_SUCCESS, status); | 549 EXPECT_EQ(google_apis::HTTP_SUCCESS, status); |
550 ASSERT_TRUE(server_entry); | 550 ASSERT_TRUE(server_entry); |
551 EXPECT_TRUE(server_entry->IsDirectory()); | 551 EXPECT_TRUE(server_entry->IsDirectory()); |
552 } | 552 } |
553 | 553 |
554 } // namespace internal | 554 } // namespace internal |
555 } // namespace drive | 555 } // namespace drive |
OLD | NEW |