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

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

Issue 9742002: Wired GDataFileSystem::GetFile() method with internal cache. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: unit tests added Created 8 years, 9 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 <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 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 GURL unused; 152 GURL unused;
153 return file_system_->UpdateDirectoryWithDocumentFeed( 153 return file_system_->UpdateDirectoryWithDocumentFeed(
154 list, FROM_SERVER) == base::PLATFORM_FILE_OK; 154 list, FROM_SERVER) == base::PLATFORM_FILE_OK;
155 } 155 }
156 156
157 bool RemoveFile(const FilePath& file_path) { 157 bool RemoveFile(const FilePath& file_path) {
158 return file_system_->RemoveFileFromFileSystem(file_path) == 158 return file_system_->RemoveFileFromFileSystem(file_path) ==
159 base::PLATFORM_FILE_OK; 159 base::PLATFORM_FILE_OK;
160 } 160 }
161 161
162 FilePath GetCachePathForFile(GDataFile* file) {
163 return file_system_->GetCacheFilePath(file->resource_id(),
164 file->file_md5(),
165 GDataFileSystem::CACHE_TYPE_TMP,
166 false);
167 }
168
162 GDataFileBase* FindFile(const FilePath& file_path) { 169 GDataFileBase* FindFile(const FilePath& file_path) {
163 ReadOnlyFindFileDelegate search_delegate; 170 ReadOnlyFindFileDelegate search_delegate;
164 file_system_->FindFileByPathSync(file_path, &search_delegate); 171 file_system_->FindFileByPathSync(file_path, &search_delegate);
165 return search_delegate.file(); 172 return search_delegate.file();
166 } 173 }
167 174
168 void FindAndTestFilePath(const FilePath& file_path) { 175 void FindAndTestFilePath(const FilePath& file_path) {
169 GDataFileBase* file = FindFile(file_path); 176 GDataFileBase* file = FindFile(file_path);
170 ASSERT_TRUE(file) << "File can't be found " << file_path.value(); 177 ASSERT_TRUE(file) << "File can't be found " << file_path.value();
171 EXPECT_EQ(file->GetFilePath(), file_path); 178 EXPECT_EQ(file->GetFilePath(), file_path);
(...skipping 1310 matching lines...) Expand 10 before | Expand all | Expand 10 after
1482 false, // is_exclusive 1489 false, // is_exclusive
1483 true, // is_recursive 1490 true, // is_recursive
1484 base::Bind(&CallbackHelper::FileOperationCallback, 1491 base::Bind(&CallbackHelper::FileOperationCallback,
1485 callback_helper_.get())); 1492 callback_helper_.get()));
1486 message_loop_.RunAllPending(); // Wait to get our result. 1493 message_loop_.RunAllPending(); // Wait to get our result.
1487 // TODO(gspencer): Uncomment this when we get a blob that 1494 // TODO(gspencer): Uncomment this when we get a blob that
1488 // works that can be returned from the mock. 1495 // works that can be returned from the mock.
1489 // EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_); 1496 // EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_);
1490 } 1497 }
1491 1498
1492 TEST_F(GDataFileSystemTest, GetFile) { 1499 TEST_F(GDataFileSystemTest, GetFileFromDownloads) {
1493 LoadRootFeedDocument("root_feed.json"); 1500 LoadRootFeedDocument("root_feed.json");
1494 1501
1495 GetFileCallback callback = 1502 GetFileCallback callback =
1496 base::Bind(&CallbackHelper::GetFileCallback, 1503 base::Bind(&CallbackHelper::GetFileCallback,
1497 callback_helper_.get()); 1504 callback_helper_.get());
1498 1505
1506 FilePath file_in_root(FILE_PATH_LITERAL("gdata/File 1.txt"));
1507 GDataFileBase* file_base = FindFile(file_in_root);
1508 GDataFile* file = file_base->AsGDataFile();
1509 FilePath downloaded_file = GetCachePathForFile(file);
1510
1499 EXPECT_CALL(*mock_doc_service_, 1511 EXPECT_CALL(*mock_doc_service_,
1500 DownloadFile(_, GURL("https://file_content_url/"), _)); 1512 DownloadFile(file_in_root,
1513 downloaded_file,
1514 GURL("https://file_content_url/"),
1515 _))
1516 .Times(1);
1501 1517
1502 FilePath file_in_root(FILE_PATH_LITERAL("gdata/File 1.txt"));
1503 file_system_->GetFile(file_in_root, callback); 1518 file_system_->GetFile(file_in_root, callback);
1519 RunAllPendingForCache();
1520
1504 message_loop_.RunAllPending(); // Wait to get our result. 1521 message_loop_.RunAllPending(); // Wait to get our result.
1505 EXPECT_STREQ("file_content_url/", 1522 EXPECT_STREQ(downloaded_file.value().c_str(),
1506 callback_helper_->download_path_.value().c_str()); 1523 callback_helper_->download_path_.value().c_str());
1507 } 1524 }
1508 1525
1526 TEST_F(GDataFileSystemTest, GetFileFromCache) {
1527 LoadRootFeedDocument("root_feed.json");
1528
1529 GetFileCallback callback =
1530 base::Bind(&CallbackHelper::GetFileCallback,
1531 callback_helper_.get());
1532
1533 FilePath file_in_root(FILE_PATH_LITERAL("gdata/File 1.txt"));
1534 GDataFileBase* file_base = FindFile(file_in_root);
1535 GDataFile* file = file_base->AsGDataFile();
1536 FilePath downloaded_file = GetCachePathForFile(file);
1537
1538 // Store something as cached version of this file.
1539 TestStoreToCache(file->resource_id(),
1540 file->file_md5(),
1541 GetTestFilePath("root_feed.json"),
1542 base::PLATFORM_FILE_OK);
1543
1544 // Make sure we don't call downloads at all.
1545 EXPECT_CALL(*mock_doc_service_,
1546 DownloadFile(file_in_root,
1547 downloaded_file,
1548 GURL("https://file_content_url/"),
1549 _))
1550 .Times(0);
1551
1552 file_system_->GetFile(file_in_root, callback);
1553 RunAllPendingForCache();
1554
1555 message_loop_.RunAllPending(); // Wait to get our result.
kuan 2012/03/20 05:22:27 nit: don't need this because RunAllPendingForCache
zel 2012/03/20 05:27:20 Done.
1556 EXPECT_STREQ(downloaded_file.value().c_str(),
1557 callback_helper_->download_path_.value().c_str());
1558 }
1559
1509 TEST_F(GDataFileSystemTest, GetAvailableSpace) { 1560 TEST_F(GDataFileSystemTest, GetAvailableSpace) {
1510 GetAvailableSpaceCallback callback = 1561 GetAvailableSpaceCallback callback =
1511 base::Bind(&CallbackHelper::GetAvailableSpaceCallback, 1562 base::Bind(&CallbackHelper::GetAvailableSpaceCallback,
1512 callback_helper_.get()); 1563 callback_helper_.get());
1513 1564
1514 EXPECT_CALL(*mock_doc_service_, GetAccountMetadata(_)); 1565 EXPECT_CALL(*mock_doc_service_, GetAccountMetadata(_));
1515 1566
1516 file_system_->GetAvailableSpace(callback); 1567 file_system_->GetAvailableSpace(callback);
1517 message_loop_.RunAllPending(); // Wait to get our result. 1568 message_loop_.RunAllPending(); // Wait to get our result.
1518 EXPECT_EQ(1234, callback_helper_->quota_bytes_used_); 1569 EXPECT_EQ(1234, callback_helper_->quota_bytes_used_);
1519 EXPECT_EQ(12345, callback_helper_->quota_bytes_total_); 1570 EXPECT_EQ(12345, callback_helper_->quota_bytes_total_);
1520 } 1571 }
1521 1572
1522 } // namespace gdata 1573 } // namespace gdata
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/gdata/gdata_file_system_proxy.cc ('k') | chrome/browser/chromeos/gdata/gdata_mock.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698