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/gdata/gdata_files.h" | 5 #include "chrome/browser/chromeos/gdata/gdata_files.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 13 matching lines...) Expand all Loading... |
24 | 24 |
25 // See gdata.proto for the difference between the two URLs. | 25 // See gdata.proto for the difference between the two URLs. |
26 const char kResumableEditMediaUrl[] = "http://resumable-edit-media/"; | 26 const char kResumableEditMediaUrl[] = "http://resumable-edit-media/"; |
27 const char kResumableCreateMediaUrl[] = "http://resumable-create-media/"; | 27 const char kResumableCreateMediaUrl[] = "http://resumable-create-media/"; |
28 | 28 |
29 // Add a directory to |parent| and return that directory. The name and | 29 // Add a directory to |parent| and return that directory. The name and |
30 // resource_id are determined by the incrementing counter |sequence_id|. | 30 // resource_id are determined by the incrementing counter |sequence_id|. |
31 GDataDirectory* AddDirectory(GDataDirectory* parent, | 31 GDataDirectory* AddDirectory(GDataDirectory* parent, |
32 GDataDirectoryService* directory_service, | 32 GDataDirectoryService* directory_service, |
33 int sequence_id) { | 33 int sequence_id) { |
34 GDataDirectory* dir = new GDataDirectory(parent, directory_service); | 34 GDataDirectory* dir = new GDataDirectory(NULL, directory_service); |
35 const std::string dir_name = "dir" + base::IntToString(sequence_id); | 35 const std::string dir_name = "dir" + base::IntToString(sequence_id); |
36 const std::string resource_id = std::string("dir_resource_id:") + | 36 const std::string resource_id = std::string("dir_resource_id:") + |
37 dir_name; | 37 dir_name; |
38 dir->set_title(dir_name); | 38 dir->set_title(dir_name); |
39 dir->set_resource_id(resource_id); | 39 dir->set_resource_id(resource_id); |
40 GDataFileError error = GDATA_FILE_ERROR_FAILED; | 40 GDataFileError error = GDATA_FILE_ERROR_FAILED; |
41 directory_service->AddEntryToDirectory( | 41 directory_service->AddEntryToDirectory( |
42 parent->GetFilePath(), | 42 parent->GetFilePath(), |
43 dir, | 43 dir, |
44 base::Bind(&test_util::CopyErrorCodeFromFileOperationCallback, &error)); | 44 base::Bind(&test_util::CopyErrorCodeFromFilePathUpdateCallback, &error)); |
45 test_util::RunBlockingPoolTask(); | 45 test_util::RunBlockingPoolTask(); |
46 EXPECT_EQ(GDATA_FILE_OK, error); | 46 EXPECT_EQ(GDATA_FILE_OK, error); |
47 return dir; | 47 return dir; |
48 } | 48 } |
49 | 49 |
50 // Add a file to |parent| and return that file. The name and | 50 // Add a file to |parent| and return that file. The name and |
51 // resource_id are determined by the incrementing counter |sequence_id|. | 51 // resource_id are determined by the incrementing counter |sequence_id|. |
52 GDataFile* AddFile(GDataDirectory* parent, | 52 GDataFile* AddFile(GDataDirectory* parent, |
53 GDataDirectoryService* directory_service, | 53 GDataDirectoryService* directory_service, |
54 int sequence_id) { | 54 int sequence_id) { |
55 GDataFile* file = new GDataFile(parent, directory_service); | 55 GDataFile* file = new GDataFile(NULL, directory_service); |
56 const std::string title = "file" + base::IntToString(sequence_id); | 56 const std::string title = "file" + base::IntToString(sequence_id); |
57 const std::string resource_id = std::string("file_resource_id:") + | 57 const std::string resource_id = std::string("file_resource_id:") + |
58 title; | 58 title; |
59 file->set_title(title); | 59 file->set_title(title); |
60 file->set_resource_id(resource_id); | 60 file->set_resource_id(resource_id); |
61 file->set_file_md5(std::string("file_md5:") + title); | 61 file->set_file_md5(std::string("file_md5:") + title); |
62 GDataFileError error = GDATA_FILE_ERROR_FAILED; | 62 GDataFileError error = GDATA_FILE_ERROR_FAILED; |
63 directory_service->AddEntryToDirectory( | 63 directory_service->AddEntryToDirectory( |
64 parent->GetFilePath(), | 64 parent->GetFilePath(), |
65 file, | 65 file, |
66 base::Bind(&test_util::CopyErrorCodeFromFileOperationCallback, &error)); | 66 base::Bind(&test_util::CopyErrorCodeFromFilePathUpdateCallback, &error)); |
67 test_util::RunBlockingPoolTask(); | 67 test_util::RunBlockingPoolTask(); |
68 EXPECT_EQ(GDATA_FILE_OK, error); | 68 EXPECT_EQ(GDATA_FILE_OK, error); |
69 return file; | 69 return file; |
70 } | 70 } |
71 | 71 |
72 // Creates the following files/directories | 72 // Creates the following files/directories |
73 // drive/dir1/ | 73 // drive/dir1/ |
74 // drive/dir2/ | 74 // drive/dir2/ |
75 // drive/dir1/dir3/ | 75 // drive/dir1/dir3/ |
76 // drive/dir1/file4 | 76 // drive/dir1/file4 |
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
366 // No file should be added to the root directory. | 366 // No file should be added to the root directory. |
367 ASSERT_TRUE(root->child_files().empty()); | 367 ASSERT_TRUE(root->child_files().empty()); |
368 // Two directories ("empty", "dir") should be added to the root directory. | 368 // Two directories ("empty", "dir") should be added to the root directory. |
369 ASSERT_EQ(2U, root->child_directories().size()); | 369 ASSERT_EQ(2U, root->child_directories().size()); |
370 // The origin should change to FROM_CACHE because we loaded from the cache. | 370 // The origin should change to FROM_CACHE because we loaded from the cache. |
371 ASSERT_EQ(FROM_CACHE, directory_service.origin()); | 371 ASSERT_EQ(FROM_CACHE, directory_service.origin()); |
372 } | 372 } |
373 | 373 |
374 TEST(GDataRootDirectoryTest, RefreshFile) { | 374 TEST(GDataRootDirectoryTest, RefreshFile) { |
375 MessageLoopForUI message_loop; | 375 MessageLoopForUI message_loop; |
| 376 content::TestBrowserThread ui_thread(content::BrowserThread::UI, |
| 377 &message_loop); |
| 378 |
376 GDataDirectoryService directory_service; | 379 GDataDirectoryService directory_service; |
377 GDataDirectory* root(directory_service.root()); | |
378 // Add a directory to the file system. | 380 // Add a directory to the file system. |
379 GDataDirectory* directory_entry = new GDataDirectory(root, | 381 GDataDirectory* directory_entry = new GDataDirectory(NULL, |
380 &directory_service); | 382 &directory_service); |
381 directory_entry->set_resource_id("folder:directory_resource_id"); | 383 directory_entry->set_resource_id("folder:directory_resource_id"); |
382 directory_entry->set_title("directory"); | 384 directory_entry->set_title("directory"); |
383 directory_entry->SetBaseNameFromTitle(); | 385 directory_entry->SetBaseNameFromTitle(); |
384 GDataFileError error = GDATA_FILE_ERROR_FAILED; | 386 GDataFileError error = GDATA_FILE_ERROR_FAILED; |
385 directory_service.AddEntryToDirectory( | 387 directory_service.AddEntryToDirectory( |
386 FilePath(kGDataRootDirectory), | 388 FilePath(kGDataRootDirectory), |
387 directory_entry, | 389 directory_entry, |
388 base::Bind(&test_util::CopyErrorCodeFromFileOperationCallback, &error)); | 390 base::Bind(&test_util::CopyErrorCodeFromFilePathUpdateCallback, &error)); |
389 test_util::RunBlockingPoolTask(); | 391 test_util::RunBlockingPoolTask(); |
390 ASSERT_EQ(GDATA_FILE_OK, error); | 392 ASSERT_EQ(GDATA_FILE_OK, error); |
391 | 393 |
392 // Add a new file to the directory. | 394 // Add a new file to the directory. |
393 GDataFile* initial_file_entry = new GDataFile(NULL, &directory_service); | 395 GDataFile* initial_file_entry = new GDataFile(NULL, &directory_service); |
394 initial_file_entry->set_resource_id("file:file_resource_id"); | 396 initial_file_entry->set_resource_id("file:file_resource_id"); |
395 initial_file_entry->set_title("file"); | 397 initial_file_entry->set_title("file"); |
396 initial_file_entry->SetBaseNameFromTitle(); | 398 initial_file_entry->SetBaseNameFromTitle(); |
| 399 error = GDATA_FILE_ERROR_FAILED; |
397 directory_service.AddEntryToDirectory( | 400 directory_service.AddEntryToDirectory( |
398 directory_entry->GetFilePath(), | 401 directory_entry->GetFilePath(), |
399 initial_file_entry, | 402 initial_file_entry, |
400 base::Bind(&test_util::CopyErrorCodeFromFileOperationCallback, &error)); | 403 base::Bind(&test_util::CopyErrorCodeFromFilePathUpdateCallback, &error)); |
401 test_util::RunBlockingPoolTask(); | 404 test_util::RunBlockingPoolTask(); |
402 ASSERT_EQ(GDATA_FILE_OK, error); | 405 ASSERT_EQ(GDATA_FILE_OK, error); |
403 | 406 |
404 ASSERT_EQ(directory_entry, initial_file_entry->parent()); | 407 ASSERT_EQ(directory_entry, initial_file_entry->parent()); |
405 | 408 |
406 // Initial file system state set, let's try refreshing entries. | 409 // Initial file system state set, let's try refreshing entries. |
407 | 410 |
408 // New value for the entry with resource id "file:file_resource_id". | 411 // New value for the entry with resource id "file:file_resource_id". |
409 GDataFile* new_file_entry = new GDataFile(NULL, &directory_service); | 412 GDataFile* new_file_entry = new GDataFile(NULL, &directory_service); |
410 new_file_entry->set_resource_id("file:file_resource_id"); | 413 new_file_entry->set_resource_id("file:file_resource_id"); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
464 GDataDirectoryService directory_service2; | 467 GDataDirectoryService directory_service2; |
465 // InitFromDB should succeed with GDATA_FILE_OK as the db now exists. | 468 // InitFromDB should succeed with GDATA_FILE_OK as the db now exists. |
466 directory_service2.InitFromDB(db_path, blocking_task_runner, | 469 directory_service2.InitFromDB(db_path, blocking_task_runner, |
467 base::Bind(&InitFromDBCallback, GDATA_FILE_OK)); | 470 base::Bind(&InitFromDBCallback, GDATA_FILE_OK)); |
468 test_util::RunBlockingPoolTask(); | 471 test_util::RunBlockingPoolTask(); |
469 | 472 |
470 VerifyDirectoryService(&directory_service2); | 473 VerifyDirectoryService(&directory_service2); |
471 } | 474 } |
472 | 475 |
473 } // namespace gdata | 476 } // namespace gdata |
OLD | NEW |