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 <errno.h> | 5 #include <errno.h> |
6 #include <string> | 6 #include <string> |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 876 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
887 | 887 |
888 // Creates a proto file representing a filesystem with directories: | 888 // Creates a proto file representing a filesystem with directories: |
889 // gdata, gdata/Dir1, gdata/Dir1/SubDir2 | 889 // gdata, gdata/Dir1, gdata/Dir1/SubDir2 |
890 // and files | 890 // and files |
891 // gdata/File1, gdata/Dir1/File2, gdata/Dir1/SubDir2/File3 | 891 // gdata/File1, gdata/Dir1/File2, gdata/Dir1/SubDir2/File3 |
892 void SaveTestFileSystem() { | 892 void SaveTestFileSystem() { |
893 GDataRootDirectoryProto root; | 893 GDataRootDirectoryProto root; |
894 GDataDirectoryProto* root_dir = root.mutable_gdata_directory(); | 894 GDataDirectoryProto* root_dir = root.mutable_gdata_directory(); |
895 GDataEntryProto* file_base = root_dir->mutable_gdata_entry(); | 895 GDataEntryProto* file_base = root_dir->mutable_gdata_entry(); |
896 PlatformFileInfoProto* platform_info = file_base->mutable_file_info(); | 896 PlatformFileInfoProto* platform_info = file_base->mutable_file_info(); |
897 file_base->set_file_name("gdata"); | 897 file_base->set_title("gdata"); |
898 platform_info->set_is_directory(true); | 898 platform_info->set_is_directory(true); |
899 | 899 |
900 // gdata/File1 | 900 // gdata/File1 |
901 GDataFileProto* file = root_dir->add_child_files(); | 901 GDataFileProto* file = root_dir->add_child_files(); |
902 file_base = file->mutable_gdata_entry(); | 902 file_base = file->mutable_gdata_entry(); |
903 platform_info = file_base->mutable_file_info(); | 903 platform_info = file_base->mutable_file_info(); |
904 file_base->set_file_name("File1"); | 904 file_base->set_title("File1"); |
905 platform_info->set_is_directory(false); | 905 platform_info->set_is_directory(false); |
906 platform_info->set_size(1048576); | 906 platform_info->set_size(1048576); |
907 | 907 |
908 // gdata/Dir1 | 908 // gdata/Dir1 |
909 GDataDirectoryProto* dir1 = root_dir->add_child_directories(); | 909 GDataDirectoryProto* dir1 = root_dir->add_child_directories(); |
910 file_base = dir1->mutable_gdata_entry(); | 910 file_base = dir1->mutable_gdata_entry(); |
911 platform_info = file_base->mutable_file_info(); | 911 platform_info = file_base->mutable_file_info(); |
912 file_base->set_file_name("Dir1"); | 912 file_base->set_title("Dir1"); |
913 platform_info->set_is_directory(true); | 913 platform_info->set_is_directory(true); |
914 | 914 |
915 // gdata/Dir1/File2 | 915 // gdata/Dir1/File2 |
916 file = dir1->add_child_files(); | 916 file = dir1->add_child_files(); |
917 file_base = file->mutable_gdata_entry(); | 917 file_base = file->mutable_gdata_entry(); |
918 platform_info = file_base->mutable_file_info(); | 918 platform_info = file_base->mutable_file_info(); |
919 file_base->set_file_name("File2"); | 919 file_base->set_title("File2"); |
920 platform_info->set_is_directory(false); | 920 platform_info->set_is_directory(false); |
921 platform_info->set_size(555); | 921 platform_info->set_size(555); |
922 | 922 |
923 // gdata/Dir1/SubDir2 | 923 // gdata/Dir1/SubDir2 |
924 GDataDirectoryProto* dir2 = dir1->add_child_directories(); | 924 GDataDirectoryProto* dir2 = dir1->add_child_directories(); |
925 file_base = dir2->mutable_gdata_entry(); | 925 file_base = dir2->mutable_gdata_entry(); |
926 platform_info = file_base->mutable_file_info(); | 926 platform_info = file_base->mutable_file_info(); |
927 file_base->set_file_name("SubDir2"); | 927 file_base->set_title("SubDir2"); |
928 platform_info->set_is_directory(true); | 928 platform_info->set_is_directory(true); |
929 | 929 |
930 // gdata/Dir1/SubDir2/File3 | 930 // gdata/Dir1/SubDir2/File3 |
931 file = dir2->add_child_files(); | 931 file = dir2->add_child_files(); |
932 file_base = file->mutable_gdata_entry(); | 932 file_base = file->mutable_gdata_entry(); |
933 platform_info = file_base->mutable_file_info(); | 933 platform_info = file_base->mutable_file_info(); |
934 file_base->set_file_name("File3"); | 934 file_base->set_title("File3"); |
935 platform_info->set_is_directory(false); | 935 platform_info->set_is_directory(false); |
936 platform_info->set_size(12345); | 936 platform_info->set_size(12345); |
937 | 937 |
938 // Write this proto out to GCache/vi/meta/file_system.pb | 938 // Write this proto out to GCache/vi/meta/file_system.pb |
939 std::string serialized_proto; | 939 std::string serialized_proto; |
940 ASSERT_TRUE(root.SerializeToString(&serialized_proto)); | 940 ASSERT_TRUE(root.SerializeToString(&serialized_proto)); |
941 ASSERT_TRUE(!serialized_proto.empty()); | 941 ASSERT_TRUE(!serialized_proto.empty()); |
942 | 942 |
943 FilePath cache_dir_path = profile_->GetPath().Append( | 943 FilePath cache_dir_path = profile_->GetPath().Append( |
944 FILE_PATH_LITERAL("GCache/v1/meta/")); | 944 FILE_PATH_LITERAL("GCache/v1/meta/")); |
(...skipping 527 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1472 callback_helper_->last_error_); | 1472 callback_helper_->last_error_); |
1473 | 1473 |
1474 EXPECT_EQ(src_file, FindEntry(src_file_path)); | 1474 EXPECT_EQ(src_file, FindEntry(src_file_path)); |
1475 EXPECT_EQ(src_file, FindEntryByResourceId(src_file_path_resource)); | 1475 EXPECT_EQ(src_file, FindEntryByResourceId(src_file_path_resource)); |
1476 EXPECT_EQ(dest_parent, FindEntry(dest_parent_path)); | 1476 EXPECT_EQ(dest_parent, FindEntry(dest_parent_path)); |
1477 | 1477 |
1478 EXPECT_TRUE(FindEntry(dest_file_path) == NULL); | 1478 EXPECT_TRUE(FindEntry(dest_file_path) == NULL); |
1479 } | 1479 } |
1480 | 1480 |
1481 TEST_F(GDataFileSystemTest, RenameFile) { | 1481 TEST_F(GDataFileSystemTest, RenameFile) { |
1482 FilePath src_file_path( | 1482 const FilePath src_file_path( |
1483 FILE_PATH_LITERAL("gdata/Directory 1/SubDirectory File 1.txt")); | 1483 FILE_PATH_LITERAL("gdata/Directory 1/SubDirectory File 1.txt")); |
1484 FilePath src_parent_path(FILE_PATH_LITERAL("gdata/Directory 1")); | 1484 const FilePath src_parent_path(FILE_PATH_LITERAL("gdata/Directory 1")); |
1485 FilePath dest_file_path(FILE_PATH_LITERAL("gdata/Directory 1/Test.log")); | 1485 const FilePath dest_file_path( |
| 1486 FILE_PATH_LITERAL("gdata/Directory 1/Test.log")); |
1486 | 1487 |
1487 LoadRootFeedDocument("root_feed.json"); | 1488 LoadRootFeedDocument("root_feed.json"); |
1488 | 1489 |
1489 GDataEntry* src_file = NULL; | 1490 GDataEntry* src_file = FindEntry(src_file_path); |
1490 EXPECT_TRUE((src_file = FindEntry(src_file_path)) != NULL); | 1491 EXPECT_TRUE(src_file != NULL); |
1491 EXPECT_TRUE(src_file->AsGDataFile() != NULL); | 1492 EXPECT_TRUE(src_file->AsGDataFile() != NULL); |
1492 std::string src_file_resource = src_file->AsGDataFile()->resource_id(); | 1493 std::string src_file_resource = src_file->AsGDataFile()->resource_id(); |
1493 EXPECT_EQ(src_file, FindEntryByResourceId(src_file_resource)); | 1494 EXPECT_EQ(src_file, FindEntryByResourceId(src_file_resource)); |
1494 | 1495 |
1495 EXPECT_CALL(*mock_doc_service_, | 1496 EXPECT_CALL(*mock_doc_service_, |
1496 RenameResource(src_file->edit_url(), | 1497 RenameResource(src_file->edit_url(), |
1497 FILE_PATH_LITERAL("Test.log"), _)); | 1498 FILE_PATH_LITERAL("Test.log"), _)); |
1498 | 1499 |
1499 FileOperationCallback callback = | 1500 FileOperationCallback callback = |
1500 base::Bind(&CallbackHelper::FileOperationCallback, | 1501 base::Bind(&CallbackHelper::FileOperationCallback, |
1501 callback_helper_.get()); | 1502 callback_helper_.get()); |
1502 | 1503 |
1503 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | 1504 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( |
1504 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1); | 1505 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1); |
1505 | 1506 |
1506 file_system_->Move(src_file_path, dest_file_path, callback); | 1507 file_system_->Move(src_file_path, dest_file_path, callback); |
1507 message_loop_.RunAllPending(); | 1508 message_loop_.RunAllPending(); |
1508 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_); | 1509 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_); |
1509 | 1510 |
1510 EXPECT_TRUE(FindEntry(src_file_path) == NULL); | 1511 EXPECT_TRUE(FindEntry(src_file_path) == NULL); |
1511 | 1512 |
1512 GDataEntry* dest_file = NULL; | 1513 GDataEntry* dest_file = FindEntry(dest_file_path); |
1513 EXPECT_TRUE((dest_file = FindEntry(dest_file_path)) != NULL); | 1514 EXPECT_TRUE(dest_file != NULL); |
1514 EXPECT_EQ(dest_file, FindEntryByResourceId(src_file_resource)); | 1515 EXPECT_EQ(dest_file, FindEntryByResourceId(src_file_resource)); |
1515 EXPECT_EQ(src_file, dest_file); | 1516 EXPECT_EQ(src_file, dest_file); |
1516 } | 1517 } |
1517 | 1518 |
1518 TEST_F(GDataFileSystemTest, MoveFileFromRootToSubDirectory) { | 1519 TEST_F(GDataFileSystemTest, MoveFileFromRootToSubDirectory) { |
1519 FilePath src_file_path(FILE_PATH_LITERAL("gdata/File 1.txt")); | 1520 FilePath src_file_path(FILE_PATH_LITERAL("gdata/File 1.txt")); |
1520 FilePath dest_parent_path(FILE_PATH_LITERAL("gdata/Directory 1")); | 1521 FilePath dest_parent_path(FILE_PATH_LITERAL("gdata/Directory 1")); |
1521 FilePath dest_file_path(FILE_PATH_LITERAL("gdata/Directory 1/Test.log")); | 1522 FilePath dest_file_path(FILE_PATH_LITERAL("gdata/Directory 1/Test.log")); |
1522 | 1523 |
1523 LoadRootFeedDocument("root_feed.json"); | 1524 LoadRootFeedDocument("root_feed.json"); |
(...skipping 1520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3044 EXPECT_EQ(1, num_callback_invocations_); | 3045 EXPECT_EQ(1, num_callback_invocations_); |
3045 EXPECT_TRUE(CacheEntryExists(resource_id, md5)); | 3046 EXPECT_TRUE(CacheEntryExists(resource_id, md5)); |
3046 | 3047 |
3047 // Try to remove the file. | 3048 // Try to remove the file. |
3048 num_callback_invocations_ = 0; | 3049 num_callback_invocations_ = 0; |
3049 TestRemoveFromCache(resource_id, base::PLATFORM_FILE_OK); | 3050 TestRemoveFromCache(resource_id, base::PLATFORM_FILE_OK); |
3050 EXPECT_EQ(1, num_callback_invocations_); | 3051 EXPECT_EQ(1, num_callback_invocations_); |
3051 } | 3052 } |
3052 | 3053 |
3053 } // namespace gdata | 3054 } // namespace gdata |
OLD | NEW |