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 873 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
884 | 884 |
885 // Creates a proto file representing a filesystem with directories: | 885 // Creates a proto file representing a filesystem with directories: |
886 // gdata, gdata/Dir1, gdata/Dir1/SubDir2 | 886 // gdata, gdata/Dir1, gdata/Dir1/SubDir2 |
887 // and files | 887 // and files |
888 // gdata/File1, gdata/Dir1/File2, gdata/Dir1/SubDir2/File3 | 888 // gdata/File1, gdata/Dir1/File2, gdata/Dir1/SubDir2/File3 |
889 void SaveTestFileSystem() { | 889 void SaveTestFileSystem() { |
890 GDataRootDirectoryProto root; | 890 GDataRootDirectoryProto root; |
891 GDataDirectoryProto* root_dir = root.mutable_gdata_directory(); | 891 GDataDirectoryProto* root_dir = root.mutable_gdata_directory(); |
892 GDataEntryProto* file_base = root_dir->mutable_gdata_entry(); | 892 GDataEntryProto* file_base = root_dir->mutable_gdata_entry(); |
893 PlatformFileInfoProto* platform_info = file_base->mutable_file_info(); | 893 PlatformFileInfoProto* platform_info = file_base->mutable_file_info(); |
894 file_base->set_file_name("gdata"); | 894 file_base->set_title("gdata"); |
895 platform_info->set_is_directory(true); | 895 platform_info->set_is_directory(true); |
896 | 896 |
897 // gdata/File1 | 897 // gdata/File1 |
898 GDataFileProto* file = root_dir->add_child_files(); | 898 GDataFileProto* file = root_dir->add_child_files(); |
899 file_base = file->mutable_gdata_entry(); | 899 file_base = file->mutable_gdata_entry(); |
900 platform_info = file_base->mutable_file_info(); | 900 platform_info = file_base->mutable_file_info(); |
901 file_base->set_file_name("File1"); | 901 file_base->set_title("File1"); |
902 platform_info->set_is_directory(false); | 902 platform_info->set_is_directory(false); |
903 platform_info->set_size(1048576); | 903 platform_info->set_size(1048576); |
904 | 904 |
905 // gdata/Dir1 | 905 // gdata/Dir1 |
906 GDataDirectoryProto* dir1 = root_dir->add_child_directories(); | 906 GDataDirectoryProto* dir1 = root_dir->add_child_directories(); |
907 file_base = dir1->mutable_gdata_entry(); | 907 file_base = dir1->mutable_gdata_entry(); |
908 platform_info = file_base->mutable_file_info(); | 908 platform_info = file_base->mutable_file_info(); |
909 file_base->set_file_name("Dir1"); | 909 file_base->set_title("Dir1"); |
910 platform_info->set_is_directory(true); | 910 platform_info->set_is_directory(true); |
911 | 911 |
912 // gdata/Dir1/File2 | 912 // gdata/Dir1/File2 |
913 file = dir1->add_child_files(); | 913 file = dir1->add_child_files(); |
914 file_base = file->mutable_gdata_entry(); | 914 file_base = file->mutable_gdata_entry(); |
915 platform_info = file_base->mutable_file_info(); | 915 platform_info = file_base->mutable_file_info(); |
916 file_base->set_file_name("File2"); | 916 file_base->set_title("File2"); |
917 platform_info->set_is_directory(false); | 917 platform_info->set_is_directory(false); |
918 platform_info->set_size(555); | 918 platform_info->set_size(555); |
919 | 919 |
920 // gdata/Dir1/SubDir2 | 920 // gdata/Dir1/SubDir2 |
921 GDataDirectoryProto* dir2 = dir1->add_child_directories(); | 921 GDataDirectoryProto* dir2 = dir1->add_child_directories(); |
922 file_base = dir2->mutable_gdata_entry(); | 922 file_base = dir2->mutable_gdata_entry(); |
923 platform_info = file_base->mutable_file_info(); | 923 platform_info = file_base->mutable_file_info(); |
924 file_base->set_file_name("SubDir2"); | 924 file_base->set_title("SubDir2"); |
925 platform_info->set_is_directory(true); | 925 platform_info->set_is_directory(true); |
926 | 926 |
927 // gdata/Dir1/SubDir2/File3 | 927 // gdata/Dir1/SubDir2/File3 |
928 file = dir2->add_child_files(); | 928 file = dir2->add_child_files(); |
929 file_base = file->mutable_gdata_entry(); | 929 file_base = file->mutable_gdata_entry(); |
930 platform_info = file_base->mutable_file_info(); | 930 platform_info = file_base->mutable_file_info(); |
931 file_base->set_file_name("File3"); | 931 file_base->set_title("File3"); |
932 platform_info->set_is_directory(false); | 932 platform_info->set_is_directory(false); |
933 platform_info->set_size(12345); | 933 platform_info->set_size(12345); |
934 | 934 |
935 // Write this proto out to GCache/vi/meta/file_system.pb | 935 // Write this proto out to GCache/vi/meta/file_system.pb |
936 std::string serialized_proto; | 936 std::string serialized_proto; |
937 ASSERT_TRUE(root.SerializeToString(&serialized_proto)); | 937 ASSERT_TRUE(root.SerializeToString(&serialized_proto)); |
938 ASSERT_TRUE(!serialized_proto.empty()); | 938 ASSERT_TRUE(!serialized_proto.empty()); |
939 | 939 |
940 FilePath cache_dir_path = profile_->GetPath().Append( | 940 FilePath cache_dir_path = profile_->GetPath().Append( |
941 FILE_PATH_LITERAL("GCache/v1/meta/")); | 941 FILE_PATH_LITERAL("GCache/v1/meta/")); |
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1376 callback_helper_->last_error_); | 1376 callback_helper_->last_error_); |
1377 | 1377 |
1378 EXPECT_EQ(src_file, FindEntry(src_file_path)); | 1378 EXPECT_EQ(src_file, FindEntry(src_file_path)); |
1379 EXPECT_EQ(src_file, FindEntryByResourceId(src_file_path_resource)); | 1379 EXPECT_EQ(src_file, FindEntryByResourceId(src_file_path_resource)); |
1380 EXPECT_EQ(dest_parent, FindEntry(dest_parent_path)); | 1380 EXPECT_EQ(dest_parent, FindEntry(dest_parent_path)); |
1381 | 1381 |
1382 EXPECT_TRUE(FindEntry(dest_file_path) == NULL); | 1382 EXPECT_TRUE(FindEntry(dest_file_path) == NULL); |
1383 } | 1383 } |
1384 | 1384 |
1385 TEST_F(GDataFileSystemTest, RenameFile) { | 1385 TEST_F(GDataFileSystemTest, RenameFile) { |
1386 FilePath src_file_path( | 1386 const FilePath src_file_path( |
1387 FILE_PATH_LITERAL("gdata/Directory 1/SubDirectory File 1.txt")); | 1387 FILE_PATH_LITERAL("gdata/Directory 1/SubDirectory File 1.txt")); |
1388 FilePath src_parent_path(FILE_PATH_LITERAL("gdata/Directory 1")); | 1388 const FilePath src_parent_path(FILE_PATH_LITERAL("gdata/Directory 1")); |
1389 FilePath dest_file_path(FILE_PATH_LITERAL("gdata/Directory 1/Test.log")); | 1389 const FilePath dest_file_path( |
| 1390 FILE_PATH_LITERAL("gdata/Directory 1/Test.log")); |
1390 | 1391 |
1391 LoadRootFeedDocument("root_feed.json"); | 1392 LoadRootFeedDocument("root_feed.json"); |
1392 | 1393 |
1393 GDataEntry* src_file = NULL; | 1394 GDataEntry* src_file = FindEntry(src_file_path); |
1394 EXPECT_TRUE((src_file = FindEntry(src_file_path)) != NULL); | 1395 EXPECT_TRUE(src_file != NULL); |
1395 EXPECT_TRUE(src_file->AsGDataFile() != NULL); | 1396 EXPECT_TRUE(src_file->AsGDataFile() != NULL); |
1396 std::string src_file_resource = src_file->AsGDataFile()->resource_id(); | 1397 std::string src_file_resource = src_file->AsGDataFile()->resource_id(); |
1397 EXPECT_EQ(src_file, FindEntryByResourceId(src_file_resource)); | 1398 EXPECT_EQ(src_file, FindEntryByResourceId(src_file_resource)); |
1398 | 1399 |
1399 EXPECT_CALL(*mock_doc_service_, | 1400 EXPECT_CALL(*mock_doc_service_, |
1400 RenameResource(src_file->edit_url(), | 1401 RenameResource(src_file->edit_url(), |
1401 FILE_PATH_LITERAL("Test.log"), _)); | 1402 FILE_PATH_LITERAL("Test.log"), _)); |
1402 | 1403 |
1403 FileOperationCallback callback = | 1404 FileOperationCallback callback = |
1404 base::Bind(&CallbackHelper::FileOperationCallback, | 1405 base::Bind(&CallbackHelper::FileOperationCallback, |
1405 callback_helper_.get()); | 1406 callback_helper_.get()); |
1406 | 1407 |
1407 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | 1408 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( |
1408 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1); | 1409 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1); |
1409 | 1410 |
1410 file_system_->Move(src_file_path, dest_file_path, callback); | 1411 file_system_->Move(src_file_path, dest_file_path, callback); |
1411 message_loop_.RunAllPending(); | 1412 message_loop_.RunAllPending(); |
1412 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_); | 1413 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_); |
1413 | 1414 |
1414 EXPECT_TRUE(FindEntry(src_file_path) == NULL); | 1415 EXPECT_TRUE(FindEntry(src_file_path) == NULL); |
1415 | 1416 |
1416 GDataEntry* dest_file = NULL; | 1417 GDataEntry* dest_file = FindEntry(dest_file_path); |
1417 EXPECT_TRUE((dest_file = FindEntry(dest_file_path)) != NULL); | 1418 EXPECT_TRUE(dest_file != NULL); |
1418 EXPECT_EQ(dest_file, FindEntryByResourceId(src_file_resource)); | 1419 EXPECT_EQ(dest_file, FindEntryByResourceId(src_file_resource)); |
1419 EXPECT_EQ(src_file, dest_file); | 1420 EXPECT_EQ(src_file, dest_file); |
1420 } | 1421 } |
1421 | 1422 |
1422 TEST_F(GDataFileSystemTest, MoveFileFromRootToSubDirectory) { | 1423 TEST_F(GDataFileSystemTest, MoveFileFromRootToSubDirectory) { |
1423 FilePath src_file_path(FILE_PATH_LITERAL("gdata/File 1.txt")); | 1424 FilePath src_file_path(FILE_PATH_LITERAL("gdata/File 1.txt")); |
1424 FilePath dest_parent_path(FILE_PATH_LITERAL("gdata/Directory 1")); | 1425 FilePath dest_parent_path(FILE_PATH_LITERAL("gdata/Directory 1")); |
1425 FilePath dest_file_path(FILE_PATH_LITERAL("gdata/Directory 1/Test.log")); | 1426 FilePath dest_file_path(FILE_PATH_LITERAL("gdata/Directory 1/Test.log")); |
1426 | 1427 |
1427 LoadRootFeedDocument("root_feed.json"); | 1428 LoadRootFeedDocument("root_feed.json"); |
(...skipping 1526 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2954 EXPECT_EQ(1, num_callback_invocations_); | 2955 EXPECT_EQ(1, num_callback_invocations_); |
2955 EXPECT_TRUE(CacheEntryExists(resource_id, md5)); | 2956 EXPECT_TRUE(CacheEntryExists(resource_id, md5)); |
2956 | 2957 |
2957 // Try to remove the file. | 2958 // Try to remove the file. |
2958 num_callback_invocations_ = 0; | 2959 num_callback_invocations_ = 0; |
2959 TestRemoveFromCache(resource_id, base::PLATFORM_FILE_OK); | 2960 TestRemoveFromCache(resource_id, base::PLATFORM_FILE_OK); |
2960 EXPECT_EQ(1, num_callback_invocations_); | 2961 EXPECT_EQ(1, num_callback_invocations_); |
2961 } | 2962 } |
2962 | 2963 |
2963 } // namespace gdata | 2964 } // namespace gdata |
OLD | NEW |