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

Unified Diff: chrome/browser/chromeos/gdata/drive_file_system_unittest.cc

Issue 10832241: Drive: Removes unused cache files after the initial feed fetch. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix the build error. Created 8 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/gdata/drive_file_system_unittest.cc
diff --git a/chrome/browser/chromeos/gdata/drive_file_system_unittest.cc b/chrome/browser/chromeos/gdata/drive_file_system_unittest.cc
index fa81311b592d0cd804ff612708d3bcc234db2e90..17dbbeb860c2ff6a9f8eb42817fd59f67fbdab03 100644
--- a/chrome/browser/chromeos/gdata/drive_file_system_unittest.cc
+++ b/chrome/browser/chromeos/gdata/drive_file_system_unittest.cc
@@ -27,6 +27,8 @@
#include "chrome/browser/chromeos/gdata/mock_directory_change_observer.h"
#include "chrome/browser/chromeos/gdata/mock_drive_cache_observer.h"
#include "chrome/browser/chromeos/gdata/mock_drive_service.h"
+#include "chrome/browser/chromeos/gdata/mock_drive_web_apps_registry.h"
+#include "chrome/browser/chromeos/gdata/mock_free_disk_space_getter.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/test/base/testing_profile.h"
#include "content/public/browser/browser_thread.h"
@@ -105,32 +107,6 @@ ACTION_P2(MockCopyDocument, status, value) {
base::Bind(arg2, status, base::Passed(value)));
}
-// Returns the absolute path for a test file stored under
-// chrome/test/data/chromeos/gdata.
-FilePath GetTestFilePath(const FilePath::StringType& base_name) {
- FilePath path;
- std::string error;
- PathService::Get(chrome::DIR_TEST_DATA, &path);
- path = path.AppendASCII("chromeos")
- .AppendASCII("gdata")
- .AppendASCII(base_name.c_str());
- EXPECT_TRUE(file_util::PathExists(path)) <<
- "Couldn't find " << path.value();
- return path;
-}
-
-// Loads a test JSON file as a base::Value.
-base::Value* LoadJSONFile(const std::string& base_name) {
- FilePath path = GetTestFilePath(base_name);
-
- std::string error;
- JSONFileValueSerializer serializer(path);
- base::Value* value = serializer.Deserialize(NULL, &error);
- EXPECT_TRUE(value) <<
- "Parse error " << path.value() << ": " << error;
- return value;
-}
-
// Counts the number of files (not directories) in |entries|.
int CountFiles(const DriveEntryProtoVector& entries) {
int num_files = 0;
@@ -143,12 +119,6 @@ int CountFiles(const DriveEntryProtoVector& entries) {
} // namespace
-class MockFreeDiskSpaceGetter : public FreeDiskSpaceGetterInterface {
- public:
- virtual ~MockFreeDiskSpaceGetter() {}
- MOCK_CONST_METHOD0(AmountOfFreeDiskSpace, int64());
-};
-
class MockGDataUploader : public GDataUploaderInterface {
public:
virtual ~MockGDataUploader() {}
@@ -157,7 +127,8 @@ class MockGDataUploader : public GDataUploaderInterface {
scoped_ptr<UploadFileInfo> upload_file_info) OVERRIDE {
// Set a document entry for an uploaded file.
// Used for TransferFileFromLocalToRemote_RegularFile test.
- scoped_ptr<base::Value> value(LoadJSONFile("uploaded_file.json"));
+ scoped_ptr<base::Value> value(
+ test_util::LoadJSONFile("uploaded_file.json"));
scoped_ptr<DocumentEntry> document_entry(
DocumentEntry::ExtractAndParse(*value));
upload_file_info->entry = document_entry.Pass();
@@ -189,19 +160,6 @@ class MockGDataUploader : public GDataUploaderInterface {
MOCK_CONST_METHOD1(GetUploadedBytes, int64(int upload_id));
};
-class MockDriveWebAppsRegistry : public DriveWebAppsRegistryInterface {
- public:
- virtual ~MockDriveWebAppsRegistry() {}
-
- MOCK_METHOD3(GetWebAppsForFile, void(const FilePath& file,
- const std::string& mime_type,
- ScopedVector<DriveWebAppInfo>* apps));
- MOCK_METHOD1(GetExtensionsForWebStoreApp,
- std::set<std::string>(const std::string& web_store_id));
- MOCK_METHOD1(UpdateFromFeed, void(const AccountMetadataFeed& metadata));
- MOCK_METHOD1(UpdateFromApplicationList, void(const AppList& applist));
-};
-
class DriveFileSystemTest : public testing::Test {
protected:
DriveFileSystemTest()
@@ -291,21 +249,15 @@ class DriveFileSystemTest : public testing::Test {
void LoadChangeFeed(const std::string& filename,
int largest_changestamp) {
- std::string error;
- scoped_ptr<Value> document(LoadJSONFile(filename));
- ASSERT_TRUE(document.get());
- ASSERT_TRUE(document->GetType() == Value::TYPE_DICTIONARY);
- scoped_ptr<DocumentFeed> document_feed(
- DocumentFeed::ExtractAndParse(*document));
- ASSERT_TRUE(document_feed.get());
- std::vector<DocumentFeed*> feed_list;
- feed_list.push_back(document_feed.get());
- ASSERT_TRUE(UpdateContent(feed_list, largest_changestamp));
+ test_util::LoadChangeFeed(filename,
+ file_system_,
+ largest_changestamp,
+ root_feed_changestamp_++);
satorux1 2012/08/30 04:38:15 looks tricky. please increment outside the functio
yoshiki 2012/08/30 15:23:45 Done. https://chromiumcodereview.appspot.com/10905
}
void AddDirectoryFromFile(const FilePath& directory_path,
const std::string& filename) {
- scoped_ptr<Value> atom(LoadJSONFile(filename));
+ scoped_ptr<Value> atom(test_util::LoadJSONFile(filename));
ASSERT_TRUE(atom.get());
ASSERT_TRUE(atom->GetType() == Value::TYPE_DICTIONARY);
@@ -334,17 +286,6 @@ class DriveFileSystemTest : public testing::Test {
EXPECT_EQ(DRIVE_FILE_OK, error);
}
- // Updates the content of directory under |directory_path| with parsed feed
- // |value|.
- bool UpdateContent(const std::vector<DocumentFeed*>& list,
- int largest_changestamp) {
- GURL unused;
- return file_system_->UpdateFromFeedForTesting(
- list,
- largest_changestamp,
- root_feed_changestamp_++) == DRIVE_FILE_OK;
- }
-
bool RemoveEntry(const FilePath& file_path) {
file_system_->GetEntryInfoByPath(
file_path,
@@ -1251,7 +1192,7 @@ TEST_F(DriveFileSystemTest, CachedFeadLoadingThenServerFeedLoading) {
// SaveTestFileSystem and "account_metadata.json" have the same changestamp,
// so no request for new feeds (i.e., call to GetDocuments) should happen.
mock_drive_service_->set_account_metadata(
- LoadJSONFile("account_metadata.json"));
+ test_util::LoadJSONFile("account_metadata.json"));
EXPECT_CALL(*mock_drive_service_, GetAccountMetadata(_)).Times(1);
EXPECT_CALL(*mock_webapps_registry_, UpdateFromFeed(_)).Times(1);
EXPECT_CALL(*mock_drive_service_, GetDocuments(_, _, _, _, _)).Times(0);
@@ -1263,7 +1204,7 @@ TEST_F(DriveFileSystemTest, CachedFeadLoadingThenServerFeedLoading) {
// it should change its state to FROM_SERVER, which admits periodic refresh.
// To test it, call CheckForUpdates and verify it does try to check updates.
mock_drive_service_->set_account_metadata(
- LoadJSONFile("account_metadata.json"));
+ test_util::LoadJSONFile("account_metadata.json"));
EXPECT_CALL(*mock_drive_service_, GetAccountMetadata(_)).Times(1);
EXPECT_CALL(*mock_webapps_registry_, UpdateFromFeed(_)).Times(1);
@@ -1334,7 +1275,8 @@ TEST_F(DriveFileSystemTest, TransferFileFromLocalToRemote_HostedDocument) {
// We'll copy a hosted document using CopyDocument.
// ".gdoc" suffix should be stripped when copying.
- scoped_ptr<base::Value> document(LoadJSONFile("uploaded_document.json"));
+ scoped_ptr<base::Value> document(
+ test_util::LoadJSONFile("uploaded_document.json"));
EXPECT_CALL(*mock_drive_service_,
CopyDocument(kResourceId,
FILE_PATH_LITERAL("Document 1"),
@@ -1387,7 +1329,8 @@ TEST_F(DriveFileSystemTest, TransferFileFromRemoteToLocal_RegularFile) {
// Before Download starts metadata from server will be fetched.
// We will read content url from the result.
- scoped_ptr<base::Value> document(LoadJSONFile("document_to_download.json"));
+ scoped_ptr<base::Value> document(
+ test_util::LoadJSONFile("document_to_download.json"));
SetExpectationsForGetDocumentEntry(&document, "file:2_file_resource_id");
// The file is obtained with the mock DriveService.
@@ -2001,7 +1944,8 @@ TEST_F(DriveFileSystemTest, GetFileByPath_FromGData_EnoughSpace) {
// Before Download starts metadata from server will be fetched.
// We will read content url from the result.
- scoped_ptr<base::Value> document(LoadJSONFile("document_to_download.json"));
+ scoped_ptr<base::Value> document(
+ test_util::LoadJSONFile("document_to_download.json"));
SetExpectationsForGetDocumentEntry(&document, "file:2_file_resource_id");
// The file is obtained with the mock DriveService.
@@ -2041,7 +1985,8 @@ TEST_F(DriveFileSystemTest, GetFileByPath_FromGData_NoSpaceAtAll) {
// Before Download starts metadata from server will be fetched.
// We will read content url from the result.
- scoped_ptr<base::Value> document(LoadJSONFile("document_to_download.json"));
+ scoped_ptr<base::Value> document(
+ test_util::LoadJSONFile("document_to_download.json"));
SetExpectationsForGetDocumentEntry(&document, "file:2_file_resource_id");
// The file is not obtained with the mock DriveService, because of no space.
@@ -2086,7 +2031,7 @@ TEST_F(DriveFileSystemTest, GetFileByPath_FromGData_NoEnoughSpaceButCanFreeUp) {
// Store something in the temporary cache directory.
TestStoreToCache("<resource_id>",
"<md5>",
- GetTestFilePath("root_feed.json"),
+ test_util::GetTestFilePath("root_feed.json"),
DRIVE_FILE_OK,
test_util::TEST_CACHE_STATE_PRESENT,
DriveCache::CACHE_TYPE_TMP);
@@ -2095,7 +2040,8 @@ TEST_F(DriveFileSystemTest, GetFileByPath_FromGData_NoEnoughSpaceButCanFreeUp) {
// Before Download starts metadata from server will be fetched.
// We will read content url from the result.
- scoped_ptr<base::Value> document(LoadJSONFile("document_to_download.json"));
+ scoped_ptr<base::Value> document(
+ test_util::LoadJSONFile("document_to_download.json"));
SetExpectationsForGetDocumentEntry(&document, "file:2_file_resource_id");
// The file is obtained with the mock DriveService, because of we freed up the
@@ -2147,7 +2093,8 @@ TEST_F(DriveFileSystemTest, GetFileByPath_FromGData_EnoughSpaceButBecomeFull) {
// Before Download starts metadata from server will be fetched.
// We will read content url from the result.
- scoped_ptr<base::Value> document(LoadJSONFile("document_to_download.json"));
+ scoped_ptr<base::Value> document(
+ test_util::LoadJSONFile("document_to_download.json"));
SetExpectationsForGetDocumentEntry(&document, "file:2_file_resource_id");
// The file is obtained with the mock DriveService.
@@ -2185,7 +2132,7 @@ TEST_F(DriveFileSystemTest, GetFileByPath_FromCache) {
// Store something as cached version of this file.
TestStoreToCache(entry_proto->resource_id(),
entry_proto->file_specific_info().file_md5(),
- GetTestFilePath("root_feed.json"),
+ test_util::GetTestFilePath("root_feed.json"),
DRIVE_FILE_OK,
test_util::TEST_CACHE_STATE_PRESENT,
DriveCache::CACHE_TYPE_TMP);
@@ -2252,7 +2199,8 @@ TEST_F(DriveFileSystemTest, GetFileByResourceId) {
// Before Download starts metadata from server will be fetched.
// We will read content url from the result.
- scoped_ptr<base::Value> document(LoadJSONFile("document_to_download.json"));
+ scoped_ptr<base::Value> document(
+ test_util::LoadJSONFile("document_to_download.json"));
SetExpectationsForGetDocumentEntry(&document, "file:2_file_resource_id");
// The file is obtained with the mock DriveService, because it's not stored in
@@ -2293,7 +2241,7 @@ TEST_F(DriveFileSystemTest, GetFileByResourceId_FromCache) {
// Store something as cached version of this file.
TestStoreToCache(entry_proto->resource_id(),
entry_proto->file_specific_info().file_md5(),
- GetTestFilePath("root_feed.json"),
+ test_util::GetTestFilePath("root_feed.json"),
DRIVE_FILE_OK,
test_util::TEST_CACHE_STATE_PRESENT,
DriveCache::CACHE_TYPE_TMP);
@@ -2340,7 +2288,8 @@ TEST_F(DriveFileSystemTest, UpdateFileByResourceId_PersistentFile) {
.AppendASCII(kResourceId + "." + kMd5);
TestStoreToCache(kResourceId,
kMd5,
- GetTestFilePath("root_feed.json"), // Anything works.
+ // Anything works.
+ test_util::GetTestFilePath("root_feed.json"),
DRIVE_FILE_OK,
test_util::TEST_CACHE_STATE_PRESENT |
test_util::TEST_CACHE_STATE_PINNED |
@@ -2394,7 +2343,7 @@ TEST_F(DriveFileSystemTest, UpdateFileByResourceId_PersistentFile) {
// GDataUploaderInterface::UploadExistingFile().
// TODO(satorux): This should be cleaned up. crbug.com/134240.
DocumentEntry* document_entry = NULL;
- scoped_ptr<base::Value> value(LoadJSONFile("root_feed.json"));
+ scoped_ptr<base::Value> value(test_util::LoadJSONFile("root_feed.json"));
ASSERT_TRUE(value.get());
base::DictionaryValue* as_dict = NULL;
base::ListValue* entry_list = NULL;
@@ -2607,7 +2556,8 @@ TEST_F(DriveFileSystemTest, OpenAndCloseFile) {
// Before Download starts metadata from server will be fetched.
// We will read content url from the result.
- scoped_ptr<base::Value> document(LoadJSONFile("document_to_download.json"));
+ scoped_ptr<base::Value> document(
+ test_util::LoadJSONFile("document_to_download.json"));
SetExpectationsForGetDocumentEntry(&document, "file:2_file_resource_id");
// The file is obtained with the mock DriveService.

Powered by Google App Engine
This is Rietveld 408576698