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

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

Issue 278273002: drive: Change the return type of ResourceMetadata's methods to FileError (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months 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/resource_metadata.h" 5 #include "chrome/browser/chromeos/drive/resource_metadata.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 scoped_ptr<ResourceMetadataStorage, test_util::DestroyHelperForTests> 152 scoped_ptr<ResourceMetadataStorage, test_util::DestroyHelperForTests>
153 metadata_storage_; 153 metadata_storage_;
154 scoped_ptr<ResourceMetadata, test_util::DestroyHelperForTests> 154 scoped_ptr<ResourceMetadata, test_util::DestroyHelperForTests>
155 resource_metadata_; 155 resource_metadata_;
156 }; 156 };
157 157
158 TEST_F(ResourceMetadataTest, LargestChangestamp) { 158 TEST_F(ResourceMetadataTest, LargestChangestamp) {
159 const int64 kChangestamp = 123456; 159 const int64 kChangestamp = 123456;
160 EXPECT_EQ(FILE_ERROR_OK, 160 EXPECT_EQ(FILE_ERROR_OK,
161 resource_metadata_->SetLargestChangestamp(kChangestamp)); 161 resource_metadata_->SetLargestChangestamp(kChangestamp));
162 EXPECT_EQ(kChangestamp, resource_metadata_->GetLargestChangestamp()); 162 int64 changestamp = 0;
163 EXPECT_EQ(FILE_ERROR_OK,
164 resource_metadata_->GetLargestChangestamp(&changestamp));
165 EXPECT_EQ(kChangestamp, changestamp);
163 } 166 }
164 167
165 TEST_F(ResourceMetadataTest, GetResourceEntryByPath) { 168 TEST_F(ResourceMetadataTest, GetResourceEntryByPath) {
166 // Confirm that an existing file is found. 169 // Confirm that an existing file is found.
167 ResourceEntry entry; 170 ResourceEntry entry;
168 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetResourceEntryByPath( 171 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetResourceEntryByPath(
169 base::FilePath::FromUTF8Unsafe("drive/root/dir1/file4"), &entry)); 172 base::FilePath::FromUTF8Unsafe("drive/root/dir1/file4"), &entry));
170 EXPECT_EQ("file4", entry.base_name()); 173 EXPECT_EQ("file4", entry.base_name());
171 174
172 // Confirm that a non existing file is not found. 175 // Confirm that a non existing file is not found.
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 EXPECT_EQ("file9", entry.base_name()); 223 EXPECT_EQ("file9", entry.base_name());
221 EXPECT_TRUE(!entry.file_info().is_directory()); 224 EXPECT_TRUE(!entry.file_info().is_directory());
222 EXPECT_EQ("md5:file9", entry.file_specific_info().md5()); 225 EXPECT_EQ("md5:file9", entry.file_specific_info().md5());
223 226
224 // Rename it. 227 // Rename it.
225 ResourceEntry file_entry(entry); 228 ResourceEntry file_entry(entry);
226 file_entry.set_title("file100"); 229 file_entry.set_title("file100");
227 EXPECT_EQ(FILE_ERROR_OK, 230 EXPECT_EQ(FILE_ERROR_OK,
228 resource_metadata_->RefreshEntry(file_entry)); 231 resource_metadata_->RefreshEntry(file_entry));
229 232
230 EXPECT_EQ("drive/root/dir1/dir3/file100", 233 base::FilePath path;
231 resource_metadata_->GetFilePath(file_id).AsUTF8Unsafe()); 234 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetFilePath(file_id, &path));
235 EXPECT_EQ("drive/root/dir1/dir3/file100", path.AsUTF8Unsafe());
232 entry.Clear(); 236 entry.Clear();
233 EXPECT_EQ(FILE_ERROR_OK, 237 EXPECT_EQ(FILE_ERROR_OK,
234 resource_metadata_->GetResourceEntryById(file_id, &entry)); 238 resource_metadata_->GetResourceEntryById(file_id, &entry));
235 EXPECT_EQ("file100", entry.base_name()); 239 EXPECT_EQ("file100", entry.base_name());
236 EXPECT_TRUE(!entry.file_info().is_directory()); 240 EXPECT_TRUE(!entry.file_info().is_directory());
237 EXPECT_EQ("md5:file9", entry.file_specific_info().md5()); 241 EXPECT_EQ("md5:file9", entry.file_specific_info().md5());
238 242
239 // Update the file md5. 243 // Update the file md5.
240 const std::string updated_md5("md5:updated"); 244 const std::string updated_md5("md5:updated");
241 file_entry = entry; 245 file_entry = entry;
242 file_entry.mutable_file_specific_info()->set_md5(updated_md5); 246 file_entry.mutable_file_specific_info()->set_md5(updated_md5);
243 EXPECT_EQ(FILE_ERROR_OK, 247 EXPECT_EQ(FILE_ERROR_OK,
244 resource_metadata_->RefreshEntry(file_entry)); 248 resource_metadata_->RefreshEntry(file_entry));
245 249
246 EXPECT_EQ("drive/root/dir1/dir3/file100", 250 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetFilePath(file_id, &path));
247 resource_metadata_->GetFilePath(file_id).AsUTF8Unsafe()); 251 EXPECT_EQ("drive/root/dir1/dir3/file100", path.AsUTF8Unsafe());
248 entry.Clear(); 252 entry.Clear();
249 EXPECT_EQ(FILE_ERROR_OK, 253 EXPECT_EQ(FILE_ERROR_OK,
250 resource_metadata_->GetResourceEntryById(file_id, &entry)); 254 resource_metadata_->GetResourceEntryById(file_id, &entry));
251 EXPECT_EQ("file100", entry.base_name()); 255 EXPECT_EQ("file100", entry.base_name());
252 EXPECT_TRUE(!entry.file_info().is_directory()); 256 EXPECT_TRUE(!entry.file_info().is_directory());
253 EXPECT_EQ(updated_md5, entry.file_specific_info().md5()); 257 EXPECT_EQ(updated_md5, entry.file_specific_info().md5());
254 258
255 // Make sure we get the same thing from GetResourceEntryByPath. 259 // Make sure we get the same thing from GetResourceEntryByPath.
256 entry.Clear(); 260 entry.Clear();
257 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetResourceEntryByPath( 261 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetResourceEntryByPath(
(...skipping 16 matching lines...) Expand all
274 std::string dir3_id; 278 std::string dir3_id;
275 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetIdByPath( 279 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetIdByPath(
276 base::FilePath::FromUTF8Unsafe("drive/root/dir1/dir3"), &dir3_id)); 280 base::FilePath::FromUTF8Unsafe("drive/root/dir1/dir3"), &dir3_id));
277 281
278 // Change the name to dir100 and change the parent to drive/dir1/dir3. 282 // Change the name to dir100 and change the parent to drive/dir1/dir3.
279 ResourceEntry dir_entry(entry); 283 ResourceEntry dir_entry(entry);
280 dir_entry.set_title("dir100"); 284 dir_entry.set_title("dir100");
281 dir_entry.set_parent_local_id(dir3_id); 285 dir_entry.set_parent_local_id(dir3_id);
282 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->RefreshEntry(dir_entry)); 286 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->RefreshEntry(dir_entry));
283 287
284 EXPECT_EQ("drive/root/dir1/dir3/dir100", 288 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetFilePath(dir_id, &path));
285 resource_metadata_->GetFilePath(dir_id).AsUTF8Unsafe()); 289 EXPECT_EQ("drive/root/dir1/dir3/dir100", path.AsUTF8Unsafe());
286 entry.Clear(); 290 entry.Clear();
287 EXPECT_EQ(FILE_ERROR_OK, 291 EXPECT_EQ(FILE_ERROR_OK,
288 resource_metadata_->GetResourceEntryById(dir_id, &entry)); 292 resource_metadata_->GetResourceEntryById(dir_id, &entry));
289 EXPECT_EQ("dir100", entry.base_name()); 293 EXPECT_EQ("dir100", entry.base_name());
290 EXPECT_TRUE(entry.file_info().is_directory()); 294 EXPECT_TRUE(entry.file_info().is_directory());
291 EXPECT_EQ("id:dir2", entry.resource_id()); 295 EXPECT_EQ("id:dir2", entry.resource_id());
292 296
293 // Make sure the children have moved over. Test file6. 297 // Make sure the children have moved over. Test file6.
294 entry.Clear(); 298 entry.Clear();
295 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetResourceEntryByPath( 299 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetResourceEntryByPath(
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 resource_metadata_->RefreshEntry(new_entry)); 340 resource_metadata_->RefreshEntry(new_entry));
337 } 341 }
338 342
339 TEST_F(ResourceMetadataTest, GetSubDirectoriesRecursively) { 343 TEST_F(ResourceMetadataTest, GetSubDirectoriesRecursively) {
340 std::set<base::FilePath> sub_directories; 344 std::set<base::FilePath> sub_directories;
341 345
342 // file9: not a directory, so no children. 346 // file9: not a directory, so no children.
343 std::string local_id; 347 std::string local_id;
344 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetIdByPath( 348 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetIdByPath(
345 base::FilePath::FromUTF8Unsafe("drive/root/dir1/dir3/file9"), &local_id)); 349 base::FilePath::FromUTF8Unsafe("drive/root/dir1/dir3/file9"), &local_id));
346 resource_metadata_->GetSubDirectoriesRecursively(local_id, &sub_directories); 350 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetSubDirectoriesRecursively(
351 local_id, &sub_directories));
347 EXPECT_TRUE(sub_directories.empty()); 352 EXPECT_TRUE(sub_directories.empty());
348 353
349 // dir2: no child directories. 354 // dir2: no child directories.
350 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetIdByPath( 355 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetIdByPath(
351 base::FilePath::FromUTF8Unsafe("drive/root/dir2"), &local_id)); 356 base::FilePath::FromUTF8Unsafe("drive/root/dir2"), &local_id));
352 resource_metadata_->GetSubDirectoriesRecursively(local_id, &sub_directories); 357 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetSubDirectoriesRecursively(
358 local_id, &sub_directories));
353 EXPECT_TRUE(sub_directories.empty()); 359 EXPECT_TRUE(sub_directories.empty());
354 const std::string dir2_id = local_id; 360 const std::string dir2_id = local_id;
355 361
356 // dir1: dir3 is the only child 362 // dir1: dir3 is the only child
357 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetIdByPath( 363 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetIdByPath(
358 base::FilePath::FromUTF8Unsafe("drive/root/dir1"), &local_id)); 364 base::FilePath::FromUTF8Unsafe("drive/root/dir1"), &local_id));
359 resource_metadata_->GetSubDirectoriesRecursively(local_id, &sub_directories); 365 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetSubDirectoriesRecursively(
366 local_id, &sub_directories));
360 EXPECT_EQ(1u, sub_directories.size()); 367 EXPECT_EQ(1u, sub_directories.size());
361 EXPECT_EQ(1u, sub_directories.count( 368 EXPECT_EQ(1u, sub_directories.count(
362 base::FilePath::FromUTF8Unsafe("drive/root/dir1/dir3"))); 369 base::FilePath::FromUTF8Unsafe("drive/root/dir1/dir3")));
363 sub_directories.clear(); 370 sub_directories.clear();
364 371
365 // Add a few more directories to make sure deeper nesting works. 372 // Add a few more directories to make sure deeper nesting works.
366 // dir2/dir100 373 // dir2/dir100
367 // dir2/dir101 374 // dir2/dir101
368 // dir2/dir101/dir102 375 // dir2/dir101/dir102
369 // dir2/dir101/dir103 376 // dir2/dir101/dir103
(...skipping 12 matching lines...) Expand all
382 CreateDirectoryEntry("dir103", dir101_id), &local_id)); 389 CreateDirectoryEntry("dir103", dir101_id), &local_id));
383 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->AddEntry( 390 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->AddEntry(
384 CreateDirectoryEntry("dir104", dir101_id), &local_id)); 391 CreateDirectoryEntry("dir104", dir101_id), &local_id));
385 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->AddEntry( 392 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->AddEntry(
386 CreateDirectoryEntry("dir105", local_id), &local_id)); 393 CreateDirectoryEntry("dir105", local_id), &local_id));
387 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->AddEntry( 394 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->AddEntry(
388 CreateDirectoryEntry("dir106", local_id), &local_id)); 395 CreateDirectoryEntry("dir106", local_id), &local_id));
389 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->AddEntry( 396 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->AddEntry(
390 CreateDirectoryEntry("dir107", local_id), &local_id)); 397 CreateDirectoryEntry("dir107", local_id), &local_id));
391 398
392 resource_metadata_->GetSubDirectoriesRecursively(dir2_id, &sub_directories); 399 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetSubDirectoriesRecursively(
400 dir2_id, &sub_directories));
393 EXPECT_EQ(8u, sub_directories.size()); 401 EXPECT_EQ(8u, sub_directories.size());
394 EXPECT_EQ(1u, sub_directories.count(base::FilePath::FromUTF8Unsafe( 402 EXPECT_EQ(1u, sub_directories.count(base::FilePath::FromUTF8Unsafe(
395 "drive/root/dir2/dir101"))); 403 "drive/root/dir2/dir101")));
396 EXPECT_EQ(1u, sub_directories.count(base::FilePath::FromUTF8Unsafe( 404 EXPECT_EQ(1u, sub_directories.count(base::FilePath::FromUTF8Unsafe(
397 "drive/root/dir2/dir101/dir104"))); 405 "drive/root/dir2/dir101/dir104")));
398 EXPECT_EQ(1u, sub_directories.count(base::FilePath::FromUTF8Unsafe( 406 EXPECT_EQ(1u, sub_directories.count(base::FilePath::FromUTF8Unsafe(
399 "drive/root/dir2/dir101/dir104/dir105/dir106/dir107"))); 407 "drive/root/dir2/dir101/dir104/dir105/dir106/dir107")));
400 } 408 }
401 409
402 TEST_F(ResourceMetadataTest, AddEntry) { 410 TEST_F(ResourceMetadataTest, AddEntry) {
403 base::FilePath drive_file_path;
404
405 // Add a file to dir3. 411 // Add a file to dir3.
406 std::string local_id; 412 std::string local_id;
407 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetIdByPath( 413 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetIdByPath(
408 base::FilePath::FromUTF8Unsafe("drive/root/dir1/dir3"), &local_id)); 414 base::FilePath::FromUTF8Unsafe("drive/root/dir1/dir3"), &local_id));
409 ResourceEntry file_entry = CreateFileEntry("file100", local_id); 415 ResourceEntry file_entry = CreateFileEntry("file100", local_id);
410 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->AddEntry(file_entry, &local_id)); 416 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->AddEntry(file_entry, &local_id));
411 EXPECT_EQ("drive/root/dir1/dir3/file100", 417 base::FilePath path;
412 resource_metadata_->GetFilePath(local_id).AsUTF8Unsafe()); 418 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetFilePath(local_id, &path));
419 EXPECT_EQ("drive/root/dir1/dir3/file100", path.AsUTF8Unsafe());
413 420
414 // Add a directory. 421 // Add a directory.
415 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetIdByPath( 422 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetIdByPath(
416 base::FilePath::FromUTF8Unsafe("drive/root/dir1"), &local_id)); 423 base::FilePath::FromUTF8Unsafe("drive/root/dir1"), &local_id));
417 ResourceEntry dir_entry = CreateDirectoryEntry("dir101", local_id); 424 ResourceEntry dir_entry = CreateDirectoryEntry("dir101", local_id);
418 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->AddEntry(dir_entry, &local_id)); 425 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->AddEntry(dir_entry, &local_id));
419 EXPECT_EQ("drive/root/dir1/dir101", 426 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->GetFilePath(local_id, &path));
420 resource_metadata_->GetFilePath(local_id).AsUTF8Unsafe()); 427 EXPECT_EQ("drive/root/dir1/dir101", path.AsUTF8Unsafe());
421 428
422 // Add to an invalid parent. 429 // Add to an invalid parent.
423 ResourceEntry file_entry3 = CreateFileEntry("file103", "id:invalid"); 430 ResourceEntry file_entry3 = CreateFileEntry("file103", "id:invalid");
424 EXPECT_EQ(FILE_ERROR_NOT_FOUND, 431 EXPECT_EQ(FILE_ERROR_NOT_FOUND,
425 resource_metadata_->AddEntry(file_entry3, &local_id)); 432 resource_metadata_->AddEntry(file_entry3, &local_id));
426 433
427 // Add an existing file. 434 // Add an existing file.
428 EXPECT_EQ(FILE_ERROR_EXISTS, 435 EXPECT_EQ(FILE_ERROR_EXISTS,
429 resource_metadata_->AddEntry(file_entry, &local_id)); 436 resource_metadata_->AddEntry(file_entry, &local_id));
430 } 437 }
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
615 std::vector<ResourceEntry> entries; 622 std::vector<ResourceEntry> entries;
616 ASSERT_EQ(FILE_ERROR_OK, 623 ASSERT_EQ(FILE_ERROR_OK,
617 resource_metadata_->ReadDirectoryByPath( 624 resource_metadata_->ReadDirectoryByPath(
618 base::FilePath::FromUTF8Unsafe("drive/root"), &entries)); 625 base::FilePath::FromUTF8Unsafe("drive/root"), &entries));
619 ASSERT_FALSE(entries.empty()); 626 ASSERT_FALSE(entries.empty());
620 627
621 // Reset. 628 // Reset.
622 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->Reset()); 629 EXPECT_EQ(FILE_ERROR_OK, resource_metadata_->Reset());
623 630
624 // change stamp should be reset. 631 // change stamp should be reset.
625 EXPECT_EQ(0, resource_metadata_->GetLargestChangestamp()); 632 int64 changestamp = 0;
633 EXPECT_EQ(FILE_ERROR_OK,
634 resource_metadata_->GetLargestChangestamp(&changestamp));
635 EXPECT_EQ(0, changestamp);
626 636
627 // root should continue to exist. 637 // root should continue to exist.
628 ResourceEntry entry; 638 ResourceEntry entry;
629 ASSERT_EQ(FILE_ERROR_OK, 639 ASSERT_EQ(FILE_ERROR_OK,
630 resource_metadata_->GetResourceEntryByPath( 640 resource_metadata_->GetResourceEntryByPath(
631 base::FilePath::FromUTF8Unsafe("drive"), &entry)); 641 base::FilePath::FromUTF8Unsafe("drive"), &entry));
632 EXPECT_EQ("drive", entry.base_name()); 642 EXPECT_EQ("drive", entry.base_name());
633 ASSERT_TRUE(entry.file_info().is_directory()); 643 ASSERT_TRUE(entry.file_info().is_directory());
634 EXPECT_EQ(util::kDriveGrandRootLocalId, entry.local_id()); 644 EXPECT_EQ(util::kDriveGrandRootLocalId, entry.local_id());
635 645
(...skipping 11 matching lines...) Expand all
647 657
648 // The "trash" directory should be empty. 658 // The "trash" directory should be empty.
649 ASSERT_EQ(FILE_ERROR_OK, 659 ASSERT_EQ(FILE_ERROR_OK,
650 resource_metadata_->ReadDirectoryByPath( 660 resource_metadata_->ReadDirectoryByPath(
651 base::FilePath::FromUTF8Unsafe("drive/trash"), &entries)); 661 base::FilePath::FromUTF8Unsafe("drive/trash"), &entries));
652 EXPECT_TRUE(entries.empty()); 662 EXPECT_TRUE(entries.empty());
653 } 663 }
654 664
655 } // namespace internal 665 } // namespace internal
656 } // namespace drive 666 } // namespace drive
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/drive/resource_metadata.cc ('k') | chrome/browser/chromeos/drive/search_metadata.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698