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

Side by Side Diff: chrome/browser/chromeos/gdata/gdata_file_system_unittest.cc

Issue 10084018: Revert 132149 - gdata: Remove OnDirectoryChanged from MockGDataSyncClient (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 8 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
« no previous file with comments | « no previous file | chrome/browser/chromeos/gdata/mock_gdata_sync_client.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <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 1291 matching lines...) Expand 10 before | Expand all | Expand 10 after
1302 EXPECT_EQ(src_file, FindFileByResourceId(src_file_resource)); 1302 EXPECT_EQ(src_file, FindFileByResourceId(src_file_resource));
1303 1303
1304 EXPECT_CALL(*mock_doc_service_, 1304 EXPECT_CALL(*mock_doc_service_,
1305 RenameResource(src_file->self_url(), 1305 RenameResource(src_file->self_url(),
1306 FILE_PATH_LITERAL("Test.log"), _)); 1306 FILE_PATH_LITERAL("Test.log"), _));
1307 1307
1308 FileOperationCallback callback = 1308 FileOperationCallback callback =
1309 base::Bind(&CallbackHelper::FileOperationCallback, 1309 base::Bind(&CallbackHelper::FileOperationCallback,
1310 callback_helper_.get()); 1310 callback_helper_.get());
1311 1311
1312 EXPECT_CALL(*mock_sync_client_, OnDirectoryChanged(
1313 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1);
1314
1312 file_system_->Move(src_file_path, dest_file_path, callback); 1315 file_system_->Move(src_file_path, dest_file_path, callback);
1313 message_loop_.RunAllPending(); 1316 message_loop_.RunAllPending();
1314 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_); 1317 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_);
1315 1318
1316 EXPECT_TRUE(FindFile(src_file_path) == NULL); 1319 EXPECT_TRUE(FindFile(src_file_path) == NULL);
1317 1320
1318 GDataFileBase* dest_file = NULL; 1321 GDataFileBase* dest_file = NULL;
1319 EXPECT_TRUE((dest_file = FindFile(dest_file_path)) != NULL); 1322 EXPECT_TRUE((dest_file = FindFile(dest_file_path)) != NULL);
1320 EXPECT_EQ(dest_file, FindFileByResourceId(src_file_resource)); 1323 EXPECT_EQ(dest_file, FindFileByResourceId(src_file_resource));
1321 EXPECT_EQ(src_file, dest_file); 1324 EXPECT_EQ(src_file, dest_file);
(...skipping 22 matching lines...) Expand all
1344 RenameResource(src_file->self_url(), 1347 RenameResource(src_file->self_url(),
1345 FILE_PATH_LITERAL("Test.log"), _)); 1348 FILE_PATH_LITERAL("Test.log"), _));
1346 EXPECT_CALL(*mock_doc_service_, 1349 EXPECT_CALL(*mock_doc_service_,
1347 AddResourceToDirectory(dest_parent->content_url(), 1350 AddResourceToDirectory(dest_parent->content_url(),
1348 src_file->self_url(), _)); 1351 src_file->self_url(), _));
1349 1352
1350 FileOperationCallback callback = 1353 FileOperationCallback callback =
1351 base::Bind(&CallbackHelper::FileOperationCallback, 1354 base::Bind(&CallbackHelper::FileOperationCallback,
1352 callback_helper_.get()); 1355 callback_helper_.get());
1353 1356
1357 // Expect notification for both source and destination directories.
1358 EXPECT_CALL(*mock_sync_client_, OnDirectoryChanged(
1359 Eq(FilePath(FILE_PATH_LITERAL("gdata"))))).Times(1);
1360 EXPECT_CALL(*mock_sync_client_, OnDirectoryChanged(
1361 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1);
1362
1354 file_system_->Move(src_file_path, dest_file_path, callback); 1363 file_system_->Move(src_file_path, dest_file_path, callback);
1355 message_loop_.RunAllPending(); 1364 message_loop_.RunAllPending();
1356 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_); 1365 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_);
1357 1366
1358 EXPECT_TRUE(FindFile(src_file_path) == NULL); 1367 EXPECT_TRUE(FindFile(src_file_path) == NULL);
1359 1368
1360 GDataFileBase* dest_file = NULL; 1369 GDataFileBase* dest_file = NULL;
1361 EXPECT_TRUE((dest_file = FindFile(dest_file_path)) != NULL); 1370 EXPECT_TRUE((dest_file = FindFile(dest_file_path)) != NULL);
1362 EXPECT_EQ(dest_file, FindFileByResourceId(src_file_path_resource)); 1371 EXPECT_EQ(dest_file, FindFileByResourceId(src_file_path_resource));
1363 EXPECT_EQ(src_file, dest_file); 1372 EXPECT_EQ(src_file, dest_file);
(...skipping 24 matching lines...) Expand all
1388 FILE_PATH_LITERAL("Test.log"), _)); 1397 FILE_PATH_LITERAL("Test.log"), _));
1389 EXPECT_CALL(*mock_doc_service_, 1398 EXPECT_CALL(*mock_doc_service_,
1390 RemoveResourceFromDirectory(src_parent->content_url(), 1399 RemoveResourceFromDirectory(src_parent->content_url(),
1391 src_file->self_url(), 1400 src_file->self_url(),
1392 src_file_path_resource, _)); 1401 src_file_path_resource, _));
1393 1402
1394 FileOperationCallback callback = 1403 FileOperationCallback callback =
1395 base::Bind(&CallbackHelper::FileOperationCallback, 1404 base::Bind(&CallbackHelper::FileOperationCallback,
1396 callback_helper_.get()); 1405 callback_helper_.get());
1397 1406
1407 // Expect notification for both source and destination directories.
1408 EXPECT_CALL(*mock_sync_client_, OnDirectoryChanged(
1409 Eq(FilePath(FILE_PATH_LITERAL("gdata"))))).Times(1);
1410 EXPECT_CALL(*mock_sync_client_, OnDirectoryChanged(
1411 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1);
1412
1398 file_system_->Move(src_file_path, dest_file_path, callback); 1413 file_system_->Move(src_file_path, dest_file_path, callback);
1399 message_loop_.RunAllPending(); 1414 message_loop_.RunAllPending();
1400 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_); 1415 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_);
1401 1416
1402 EXPECT_TRUE(FindFile(src_file_path) == NULL); 1417 EXPECT_TRUE(FindFile(src_file_path) == NULL);
1403 1418
1404 GDataFileBase* dest_file = NULL; 1419 GDataFileBase* dest_file = NULL;
1405 EXPECT_TRUE((dest_file = FindFile(dest_file_path)) != NULL); 1420 EXPECT_TRUE((dest_file = FindFile(dest_file_path)) != NULL);
1406 EXPECT_EQ(dest_file, FindFileByResourceId(src_file_path_resource)); 1421 EXPECT_EQ(dest_file, FindFileByResourceId(src_file_path_resource));
1407 EXPECT_EQ(src_file, dest_file); 1422 EXPECT_EQ(src_file, dest_file);
1408 } 1423 }
1409 1424
1410 TEST_F(GDataFileSystemTest, MoveFileBetweenSubDirectories) { 1425 TEST_F(GDataFileSystemTest, MoveFileBetweenSubDirectories) {
1411 FilePath src_parent_path(FILE_PATH_LITERAL("gdata/Directory 1")); 1426 FilePath src_parent_path(FILE_PATH_LITERAL("gdata/Directory 1"));
1412 FilePath src_file_path( 1427 FilePath src_file_path(
1413 FILE_PATH_LITERAL("gdata/Directory 1/SubDirectory File 1.txt")); 1428 FILE_PATH_LITERAL("gdata/Directory 1/SubDirectory File 1.txt"));
1414 FilePath dest_parent_path(FILE_PATH_LITERAL("gdata/New Folder 1")); 1429 FilePath dest_parent_path(FILE_PATH_LITERAL("gdata/New Folder 1"));
1415 FilePath dest_file_path(FILE_PATH_LITERAL("gdata/New Folder 1/Test.log")); 1430 FilePath dest_file_path(FILE_PATH_LITERAL("gdata/New Folder 1/Test.log"));
1416 FilePath interim_file_path(FILE_PATH_LITERAL("gdata/Test.log")); 1431 FilePath interim_file_path(FILE_PATH_LITERAL("gdata/Test.log"));
1417 1432
1418 LoadRootFeedDocument("root_feed.json"); 1433 LoadRootFeedDocument("root_feed.json");
1419 1434
1435 EXPECT_CALL(*mock_sync_client_, OnDirectoryChanged(
1436 Eq(FilePath(FILE_PATH_LITERAL("gdata"))))).Times(1);
1437
1420 AddDirectoryFromFile(dest_parent_path, "directory_entry_atom.json"); 1438 AddDirectoryFromFile(dest_parent_path, "directory_entry_atom.json");
1421 1439
1422 GDataFileBase* src_file = NULL; 1440 GDataFileBase* src_file = NULL;
1423 EXPECT_TRUE((src_file = FindFile(src_file_path)) != NULL); 1441 EXPECT_TRUE((src_file = FindFile(src_file_path)) != NULL);
1424 EXPECT_TRUE(src_file->AsGDataFile() != NULL); 1442 EXPECT_TRUE(src_file->AsGDataFile() != NULL);
1425 std::string src_file_path_resource = src_file->AsGDataFile()->resource_id(); 1443 std::string src_file_path_resource = src_file->AsGDataFile()->resource_id();
1426 EXPECT_EQ(src_file, FindFileByResourceId(src_file_path_resource)); 1444 EXPECT_EQ(src_file, FindFileByResourceId(src_file_path_resource));
1427 EXPECT_FALSE(src_file->self_url().is_empty()); 1445 EXPECT_FALSE(src_file->self_url().is_empty());
1428 1446
1429 GDataFileBase* src_parent = NULL; 1447 GDataFileBase* src_parent = NULL;
(...skipping 16 matching lines...) Expand all
1446 src_file->self_url(), 1464 src_file->self_url(),
1447 src_file_path_resource, _)); 1465 src_file_path_resource, _));
1448 EXPECT_CALL(*mock_doc_service_, 1466 EXPECT_CALL(*mock_doc_service_,
1449 AddResourceToDirectory(dest_parent->content_url(), 1467 AddResourceToDirectory(dest_parent->content_url(),
1450 src_file->self_url(), _)); 1468 src_file->self_url(), _));
1451 1469
1452 FileOperationCallback callback = 1470 FileOperationCallback callback =
1453 base::Bind(&CallbackHelper::FileOperationCallback, 1471 base::Bind(&CallbackHelper::FileOperationCallback,
1454 callback_helper_.get()); 1472 callback_helper_.get());
1455 1473
1474 // Expect notification for both source and destination directories plus
1475 // interim file path.
1476 EXPECT_CALL(*mock_sync_client_, OnDirectoryChanged(
1477 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1);
1478 EXPECT_CALL(*mock_sync_client_, OnDirectoryChanged(
1479 Eq(FilePath(FILE_PATH_LITERAL("gdata"))))).Times(1);
1480 EXPECT_CALL(*mock_sync_client_, OnDirectoryChanged(
1481 Eq(FilePath(FILE_PATH_LITERAL("gdata/New Folder 1"))))).Times(1);
1482
1456 file_system_->Move(src_file_path, dest_file_path, callback); 1483 file_system_->Move(src_file_path, dest_file_path, callback);
1457 message_loop_.RunAllPending(); 1484 message_loop_.RunAllPending();
1458 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_); 1485 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_);
1459 1486
1460 EXPECT_TRUE(FindFile(src_file_path) == NULL); 1487 EXPECT_TRUE(FindFile(src_file_path) == NULL);
1461 EXPECT_TRUE(FindFile(interim_file_path) == NULL); 1488 EXPECT_TRUE(FindFile(interim_file_path) == NULL);
1462 1489
1463 GDataFileBase* dest_file = NULL; 1490 GDataFileBase* dest_file = NULL;
1464 EXPECT_TRUE((dest_file = FindFile(dest_file_path)) != NULL); 1491 EXPECT_TRUE((dest_file = FindFile(dest_file_path)) != NULL);
1465 EXPECT_EQ(dest_file, FindFileByResourceId(src_file_path_resource)); 1492 EXPECT_EQ(dest_file, FindFileByResourceId(src_file_path_resource));
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
1572 std::string file_in_root_resource = file->AsGDataFile()->resource_id(); 1599 std::string file_in_root_resource = file->AsGDataFile()->resource_id();
1573 EXPECT_EQ(file, FindFileByResourceId(file_in_root_resource)); 1600 EXPECT_EQ(file, FindFileByResourceId(file_in_root_resource));
1574 1601
1575 EXPECT_TRUE(FindFile(dir_in_root) != NULL); 1602 EXPECT_TRUE(FindFile(dir_in_root) != NULL);
1576 1603
1577 EXPECT_TRUE((file = FindFile(file_in_subdir)) != NULL); 1604 EXPECT_TRUE((file = FindFile(file_in_subdir)) != NULL);
1578 EXPECT_TRUE(file->AsGDataFile() != NULL); 1605 EXPECT_TRUE(file->AsGDataFile() != NULL);
1579 std::string file_in_subdir_resource = file->AsGDataFile()->resource_id(); 1606 std::string file_in_subdir_resource = file->AsGDataFile()->resource_id();
1580 EXPECT_EQ(file, FindFileByResourceId(file_in_subdir_resource)); 1607 EXPECT_EQ(file, FindFileByResourceId(file_in_subdir_resource));
1581 1608
1609 // Once for file in root and once for file...
1610 EXPECT_CALL(*mock_sync_client_, OnDirectoryChanged(
1611 Eq(FilePath(FILE_PATH_LITERAL("gdata"))))).Times(2);
1612
1582 // Remove first file in root. 1613 // Remove first file in root.
1583 EXPECT_TRUE(RemoveFile(file_in_root)); 1614 EXPECT_TRUE(RemoveFile(file_in_root));
1584 EXPECT_TRUE(FindFile(file_in_root) == NULL); 1615 EXPECT_TRUE(FindFile(file_in_root) == NULL);
1585 EXPECT_EQ(NULL, FindFileByResourceId(file_in_root_resource)); 1616 EXPECT_EQ(NULL, FindFileByResourceId(file_in_root_resource));
1586 EXPECT_TRUE(FindFile(dir_in_root) != NULL); 1617 EXPECT_TRUE(FindFile(dir_in_root) != NULL);
1587 EXPECT_TRUE((file = FindFile(file_in_subdir)) != NULL); 1618 EXPECT_TRUE((file = FindFile(file_in_subdir)) != NULL);
1588 EXPECT_EQ(file, FindFileByResourceId(file_in_subdir_resource)); 1619 EXPECT_EQ(file, FindFileByResourceId(file_in_subdir_resource));
1589 1620
1590 // Remove directory. 1621 // Remove directory.
1591 EXPECT_TRUE(RemoveFile(dir_in_root)); 1622 EXPECT_TRUE(RemoveFile(dir_in_root));
(...skipping 12 matching lines...) Expand all
1604 // Try removing root file element. 1635 // Try removing root file element.
1605 EXPECT_FALSE(RemoveFile(FilePath(FILE_PATH_LITERAL("gdata")))); 1636 EXPECT_FALSE(RemoveFile(FilePath(FILE_PATH_LITERAL("gdata"))));
1606 1637
1607 // Need this to ensure OnDirectoryChanged() is run. 1638 // Need this to ensure OnDirectoryChanged() is run.
1608 RunAllPendingForIO(); 1639 RunAllPendingForIO();
1609 } 1640 }
1610 1641
1611 TEST_F(GDataFileSystemTest, CreateDirectory) { 1642 TEST_F(GDataFileSystemTest, CreateDirectory) {
1612 LoadRootFeedDocument("root_feed.json"); 1643 LoadRootFeedDocument("root_feed.json");
1613 1644
1645 EXPECT_CALL(*mock_sync_client_, OnDirectoryChanged(
1646 Eq(FilePath(FILE_PATH_LITERAL("gdata"))))).Times(1);
1647
1614 // Create directory in root. 1648 // Create directory in root.
1615 FilePath dir_path(FILE_PATH_LITERAL("gdata/New Folder 1")); 1649 FilePath dir_path(FILE_PATH_LITERAL("gdata/New Folder 1"));
1616 EXPECT_TRUE(FindFile(dir_path) == NULL); 1650 EXPECT_TRUE(FindFile(dir_path) == NULL);
1617 AddDirectoryFromFile(dir_path, "directory_entry_atom.json"); 1651 AddDirectoryFromFile(dir_path, "directory_entry_atom.json");
1618 EXPECT_TRUE(FindFile(dir_path) != NULL); 1652 EXPECT_TRUE(FindFile(dir_path) != NULL);
1619 1653
1654 EXPECT_CALL(*mock_sync_client_, OnDirectoryChanged(
1655 Eq(FilePath(FILE_PATH_LITERAL("gdata/New Folder 1"))))).Times(1);
1656
1620 // Create directory in a sub dirrectory. 1657 // Create directory in a sub dirrectory.
1621 FilePath subdir_path(FILE_PATH_LITERAL("gdata/New Folder 1/New Folder 2")); 1658 FilePath subdir_path(FILE_PATH_LITERAL("gdata/New Folder 1/New Folder 2"));
1622 EXPECT_TRUE(FindFile(subdir_path) == NULL); 1659 EXPECT_TRUE(FindFile(subdir_path) == NULL);
1623 AddDirectoryFromFile(subdir_path, "directory_entry_atom.json"); 1660 AddDirectoryFromFile(subdir_path, "directory_entry_atom.json");
1624 EXPECT_TRUE(FindFile(subdir_path) != NULL); 1661 EXPECT_TRUE(FindFile(subdir_path) != NULL);
1625 } 1662 }
1626 1663
1627 TEST_F(GDataFileSystemTest, FindFirstMissingParentDirectory) { 1664 TEST_F(GDataFileSystemTest, FindFirstMissingParentDirectory) {
1628 LoadRootFeedDocument("root_feed.json"); 1665 LoadRootFeedDocument("root_feed.json");
1629 1666
(...skipping 1181 matching lines...) Expand 10 before | Expand all | Expand 10 after
2811 2848
2812 // Verify account meta feed is saved to cache. 2849 // Verify account meta feed is saved to cache.
2813 RunAllPendingForIO(); 2850 RunAllPendingForIO();
2814 FilePath path = file_system_->cache_paths_[ 2851 FilePath path = file_system_->cache_paths_[
2815 GDataRootDirectory::CACHE_TYPE_META].Append( 2852 GDataRootDirectory::CACHE_TYPE_META].Append(
2816 FILE_PATH_LITERAL("account_metadata.json")); 2853 FILE_PATH_LITERAL("account_metadata.json"));
2817 EXPECT_TRUE(file_util::PathExists(path)); 2854 EXPECT_TRUE(file_util::PathExists(path));
2818 } 2855 }
2819 2856
2820 } // namespace gdata 2857 } // namespace gdata
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/gdata/mock_gdata_sync_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698