Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Side by Side Diff: chrome/browser/chromeos/drive/drive_file_system_unittest.cc

Issue 11293247: Make DriveFeedProcessor asynchronous. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: indentation Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/drive_file_system.h" 5 #include "chrome/browser/chromeos/drive/drive_file_system.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 1008 matching lines...) Expand 10 before | Expand all | Expand 10 after
1019 ++latest_changelog)); 1019 ++latest_changelog));
1020 EXPECT_TRUE( 1020 EXPECT_TRUE(
1021 EntryExists(FilePath(FILE_PATH_LITERAL("drive/Added file.gdoc")))); 1021 EntryExists(FilePath(FILE_PATH_LITERAL("drive/Added file.gdoc"))));
1022 1022
1023 ASSERT_TRUE(LoadChangeFeed("gdata/delta_file_deleted_in_root.json", 1023 ASSERT_TRUE(LoadChangeFeed("gdata/delta_file_deleted_in_root.json",
1024 ++latest_changelog)); 1024 ++latest_changelog));
1025 EXPECT_FALSE( 1025 EXPECT_FALSE(
1026 EntryExists(FilePath(FILE_PATH_LITERAL("drive/Added file.gdoc")))); 1026 EntryExists(FilePath(FILE_PATH_LITERAL("drive/Added file.gdoc"))));
1027 } 1027 }
1028 1028
1029
1030 TEST_F(DriveFileSystemTest, ChangeFeed_AddAndDeleteFileFromExistingDirectory) { 1029 TEST_F(DriveFileSystemTest, ChangeFeed_AddAndDeleteFileFromExistingDirectory) {
1031 int latest_changelog = 0; 1030 int latest_changelog = 0;
1032 ASSERT_TRUE(LoadRootFeedDocument("gdata/root_feed.json")); 1031 ASSERT_TRUE(LoadRootFeedDocument("gdata/root_feed.json"));
1033 1032
1034 EXPECT_TRUE(EntryExists(FilePath( 1033 EXPECT_TRUE(EntryExists(FilePath(
1035 FILE_PATH_LITERAL("drive/Directory 1")))); 1034 FILE_PATH_LITERAL("drive/Directory 1"))));
1036 1035
1037 // Add file to an existing directory. 1036 // Add file to an existing directory.
1038 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 1037 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
1039 Eq(FilePath(FILE_PATH_LITERAL("drive"))))).Times(1); 1038 Eq(FilePath(FILE_PATH_LITERAL("drive"))))).Times(1);
1040 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 1039 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
1041 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1); 1040 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1);
1041 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(Eq(FilePath(
1042 FILE_PATH_LITERAL("drive/Directory 1/Sub Directory Folder")))))
1043 .Times(1);
1044 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(Eq(FilePath(
1045 FILE_PATH_LITERAL(
1046 "drive/Directory 1/Sub Directory Folder/Sub Sub Directory Folder")))))
1047 .Times(1);
1042 ASSERT_TRUE(LoadChangeFeed("gdata/delta_file_added_in_directory.json", 1048 ASSERT_TRUE(LoadChangeFeed("gdata/delta_file_added_in_directory.json",
1043 ++latest_changelog)); 1049 ++latest_changelog));
1044 EXPECT_TRUE(EntryExists(FilePath( 1050 EXPECT_TRUE(EntryExists(FilePath(
1045 FILE_PATH_LITERAL("drive/Directory 1/Added file.gdoc")))); 1051 FILE_PATH_LITERAL("drive/Directory 1/Added file.gdoc"))));
1046 1052
1047 // Remove that file from the directory. 1053 // Remove that file from the directory.
1048 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 1054 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
1049 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1); 1055 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1);
1050 ASSERT_TRUE(LoadChangeFeed("gdata/delta_file_deleted_in_directory.json", 1056 ASSERT_TRUE(LoadChangeFeed("gdata/delta_file_deleted_in_directory.json",
1051 ++latest_changelog)); 1057 ++latest_changelog));
(...skipping 18 matching lines...) Expand all
1070 EXPECT_TRUE(EntryExists(FilePath( 1076 EXPECT_TRUE(EntryExists(FilePath(
1071 FILE_PATH_LITERAL("drive/New Directory")))); 1077 FILE_PATH_LITERAL("drive/New Directory"))));
1072 EXPECT_TRUE(EntryExists(FilePath( 1078 EXPECT_TRUE(EntryExists(FilePath(
1073 FILE_PATH_LITERAL("drive/New Directory/File in new dir.gdoc")))); 1079 FILE_PATH_LITERAL("drive/New Directory/File in new dir.gdoc"))));
1074 } 1080 }
1075 1081
1076 TEST_F(DriveFileSystemTest, ChangeFeed_AddFileToNewButDeletedDirectory) { 1082 TEST_F(DriveFileSystemTest, ChangeFeed_AddFileToNewButDeletedDirectory) {
1077 int latest_changelog = 0; 1083 int latest_changelog = 0;
1078 ASSERT_TRUE(LoadRootFeedDocument("gdata/root_feed.json")); 1084 ASSERT_TRUE(LoadRootFeedDocument("gdata/root_feed.json"));
1079 1085
1080 // This feed contains thw following updates: 1086 // This feed contains the following updates:
1081 // 1) A new PDF file is added to a new directory 1087 // 1) A new PDF file is added to a new directory
1082 // 2) but the new directory is marked "deleted" (i.e. moved to Trash) 1088 // 2) but the new directory is marked "deleted" (i.e. moved to Trash)
1083 // Hence, the PDF file should be just ignored. 1089 // Hence, the PDF file should be just ignored.
1084 ASSERT_TRUE(LoadChangeFeed( 1090 ASSERT_TRUE(LoadChangeFeed(
1085 "gdata/delta_file_added_in_new_but_deleted_directory.json", 1091 "gdata/delta_file_added_in_new_but_deleted_directory.json",
1086 ++latest_changelog)); 1092 ++latest_changelog));
1087 } 1093 }
1088 1094
1089 TEST_F(DriveFileSystemTest, ChangeFeed_DirectoryMovedFromRootToDirectory) { 1095 TEST_F(DriveFileSystemTest, ChangeFeed_DirectoryMovedFromRootToDirectory) {
1090 int latest_changelog = 0; 1096 int latest_changelog = 0;
(...skipping 13 matching lines...) Expand all
1104 // This will move "Directory 1" from "drive/" to "drive/Directory 2/". 1110 // This will move "Directory 1" from "drive/" to "drive/Directory 2/".
1105 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 1111 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
1106 Eq(FilePath(FILE_PATH_LITERAL("drive"))))).Times(1); 1112 Eq(FilePath(FILE_PATH_LITERAL("drive"))))).Times(1);
1107 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 1113 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
1108 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1); 1114 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1);
1109 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 1115 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
1110 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 2"))))).Times(1); 1116 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 2"))))).Times(1);
1111 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 1117 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
1112 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 2/Directory 1"))))) 1118 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 2/Directory 1")))))
1113 .Times(1); 1119 .Times(1);
1120 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(Eq(FilePath(
1121 FILE_PATH_LITERAL("drive/Directory 1/Sub Directory Folder")))))
1122 .Times(1);
1123 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(Eq(FilePath(
1124 FILE_PATH_LITERAL(
1125 "drive/Directory 1/Sub Directory Folder/Sub Sub Directory Folder")))))
1126 .Times(1);
1114 ASSERT_TRUE(LoadChangeFeed( 1127 ASSERT_TRUE(LoadChangeFeed(
1115 "gdata/delta_dir_moved_from_root_to_directory.json", 1128 "gdata/delta_dir_moved_from_root_to_directory.json",
1116 ++latest_changelog)); 1129 ++latest_changelog));
1117 1130
1118 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( 1131 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL(
1119 "drive/Directory 2")))); 1132 "drive/Directory 2"))));
1120 EXPECT_FALSE(EntryExists(FilePath(FILE_PATH_LITERAL( 1133 EXPECT_FALSE(EntryExists(FilePath(FILE_PATH_LITERAL(
1121 "drive/Directory 1")))); 1134 "drive/Directory 1"))));
1122 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( 1135 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL(
1123 "drive/Directory 2/Directory 1")))); 1136 "drive/Directory 2/Directory 1"))));
(...skipping 16 matching lines...) Expand all
1140 "drive/Directory 1/Sub Directory Folder")))); 1153 "drive/Directory 1/Sub Directory Folder"))));
1141 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( 1154 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL(
1142 "drive/Directory 1/Sub Directory Folder/Sub Sub Directory Folder")))); 1155 "drive/Directory 1/Sub Directory Folder/Sub Sub Directory Folder"))));
1143 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( 1156 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL(
1144 "drive/Directory 1/SubDirectory File 1.txt")))); 1157 "drive/Directory 1/SubDirectory File 1.txt"))));
1145 1158
1146 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 1159 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
1147 Eq(FilePath(FILE_PATH_LITERAL("drive"))))).Times(1); 1160 Eq(FilePath(FILE_PATH_LITERAL("drive"))))).Times(1);
1148 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 1161 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
1149 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1); 1162 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1);
1163 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(Eq(FilePath(
1164 FILE_PATH_LITERAL("drive/Directory 1/Sub Directory Folder")))))
1165 .Times(1);
1166 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(Eq(FilePath(
1167 FILE_PATH_LITERAL(
1168 "drive/Directory 1/Sub Directory Folder/Sub Sub Directory Folder")))))
1169 .Times(1);
1150 ASSERT_TRUE(LoadChangeFeed( 1170 ASSERT_TRUE(LoadChangeFeed(
1151 "gdata/delta_file_moved_from_directory_to_root.json", 1171 "gdata/delta_file_moved_from_directory_to_root.json",
1152 ++latest_changelog)); 1172 ++latest_changelog));
1153 1173
1154 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( 1174 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL(
1155 "drive/Directory 1")))); 1175 "drive/Directory 1"))));
1156 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( 1176 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL(
1157 "drive/Directory 1/Sub Directory Folder")))); 1177 "drive/Directory 1/Sub Directory Folder"))));
1158 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( 1178 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL(
1159 "drive/Directory 1/Sub Directory Folder/Sub Sub Directory Folder")))); 1179 "drive/Directory 1/Sub Directory Folder/Sub Sub Directory Folder"))));
1160 EXPECT_FALSE(EntryExists(FilePath(FILE_PATH_LITERAL( 1180 EXPECT_FALSE(EntryExists(FilePath(FILE_PATH_LITERAL(
1161 "drive/Directory 1/SubDirectory File 1.txt")))); 1181 "drive/Directory 1/SubDirectory File 1.txt"))));
1162 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( 1182 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL(
1163 "drive/SubDirectory File 1.txt")))); 1183 "drive/SubDirectory File 1.txt"))));
1164 } 1184 }
1165 1185
1166 TEST_F(DriveFileSystemTest, ChangeFeed_FileRenamedInDirectory) { 1186 TEST_F(DriveFileSystemTest, ChangeFeed_FileRenamedInDirectory) {
1167 int latest_changelog = 0; 1187 int latest_changelog = 0;
1168 ASSERT_TRUE(LoadRootFeedDocument("gdata/root_feed.json")); 1188 ASSERT_TRUE(LoadRootFeedDocument("gdata/root_feed.json"));
1169 1189
1170 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( 1190 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL(
1171 "drive/Directory 1")))); 1191 "drive/Directory 1"))));
1172 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( 1192 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL(
1173 "drive/Directory 1/SubDirectory File 1.txt")))); 1193 "drive/Directory 1/SubDirectory File 1.txt"))));
1174 1194
1175 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 1195 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
1176 Eq(FilePath(FILE_PATH_LITERAL("drive"))))).Times(1); 1196 Eq(FilePath(FILE_PATH_LITERAL("drive"))))).Times(1);
1177 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 1197 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
1178 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1); 1198 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1);
1199 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(Eq(FilePath(
1200 FILE_PATH_LITERAL("drive/Directory 1/Sub Directory Folder")))))
1201 .Times(1);
1202 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(Eq(FilePath(
1203 FILE_PATH_LITERAL(
1204 "drive/Directory 1/Sub Directory Folder/Sub Sub Directory Folder")))))
1205 .Times(1);
1179 ASSERT_TRUE(LoadChangeFeed("gdata/delta_file_renamed_in_directory.json", 1206 ASSERT_TRUE(LoadChangeFeed("gdata/delta_file_renamed_in_directory.json",
1180 ++latest_changelog)); 1207 ++latest_changelog));
1181 1208
1182 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( 1209 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL(
1183 "drive/Directory 1")))); 1210 "drive/Directory 1"))));
1184 EXPECT_FALSE(EntryExists(FilePath(FILE_PATH_LITERAL( 1211 EXPECT_FALSE(EntryExists(FilePath(FILE_PATH_LITERAL(
1185 "drive/Directory 1/SubDirectory File 1.txt")))); 1212 "drive/Directory 1/SubDirectory File 1.txt"))));
1186 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( 1213 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL(
1187 "drive/Directory 1/New SubDirectory File 1.txt")))); 1214 "drive/Directory 1/New SubDirectory File 1.txt"))));
1188 } 1215 }
(...skipping 1503 matching lines...) Expand 10 before | Expand all | Expand 10 after
2692 2719
2693 // Try to close the same file twice. 2720 // Try to close the same file twice.
2694 file_system_->CloseFile(kFileInRoot, close_file_callback); 2721 file_system_->CloseFile(kFileInRoot, close_file_callback);
2695 message_loop_.Run(); 2722 message_loop_.Run();
2696 2723
2697 // It must fail. 2724 // It must fail.
2698 EXPECT_EQ(DRIVE_FILE_ERROR_NOT_FOUND, callback_helper_->last_error_); 2725 EXPECT_EQ(DRIVE_FILE_ERROR_NOT_FOUND, callback_helper_->last_error_);
2699 } 2726 }
2700 2727
2701 } // namespace drive 2728 } // namespace drive
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698