| OLD | NEW |
| 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/file_cache.h" | 5 #include "chrome/browser/chromeos/drive/file_cache.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), | 70 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), |
| 71 &dummy_file_path_)); | 71 &dummy_file_path_)); |
| 72 fake_free_disk_space_getter_.reset(new FakeFreeDiskSpaceGetter); | 72 fake_free_disk_space_getter_.reset(new FakeFreeDiskSpaceGetter); |
| 73 | 73 |
| 74 scoped_refptr<base::SequencedWorkerPool> pool = | 74 scoped_refptr<base::SequencedWorkerPool> pool = |
| 75 content::BrowserThread::GetBlockingPool(); | 75 content::BrowserThread::GetBlockingPool(); |
| 76 blocking_task_runner_ = | 76 blocking_task_runner_ = |
| 77 pool->GetSequencedTaskRunner(pool->GetSequenceToken()); | 77 pool->GetSequencedTaskRunner(pool->GetSequenceToken()); |
| 78 | 78 |
| 79 metadata_storage_.reset(new ResourceMetadataStorage( | 79 metadata_storage_.reset(new ResourceMetadataStorage( |
| 80 temp_dir_.path(), blocking_task_runner_)); | 80 temp_dir_.path(), blocking_task_runner_.get())); |
| 81 | 81 |
| 82 bool success = false; | 82 bool success = false; |
| 83 base::PostTaskAndReplyWithResult( | 83 base::PostTaskAndReplyWithResult( |
| 84 blocking_task_runner_, | 84 blocking_task_runner_.get(), |
| 85 FROM_HERE, | 85 FROM_HERE, |
| 86 base::Bind(&ResourceMetadataStorage::Initialize, | 86 base::Bind(&ResourceMetadataStorage::Initialize, |
| 87 base::Unretained(metadata_storage_.get())), | 87 base::Unretained(metadata_storage_.get())), |
| 88 google_apis::test_util::CreateCopyResultCallback(&success)); | 88 google_apis::test_util::CreateCopyResultCallback(&success)); |
| 89 google_apis::test_util::RunBlockingPoolTask(); | 89 google_apis::test_util::RunBlockingPoolTask(); |
| 90 ASSERT_TRUE(success); | 90 ASSERT_TRUE(success); |
| 91 | 91 |
| 92 cache_.reset(new FileCache( | 92 cache_.reset(new FileCache( |
| 93 metadata_storage_.get(), | 93 metadata_storage_.get(), |
| 94 temp_dir_.path().Append(util::kCacheFileDirectory), | 94 temp_dir_.path().Append(util::kCacheFileDirectory), |
| 95 blocking_task_runner_.get(), | 95 blocking_task_runner_.get(), |
| 96 fake_free_disk_space_getter_.get())); | 96 fake_free_disk_space_getter_.get())); |
| 97 | 97 |
| 98 success = false; | 98 success = false; |
| 99 base::PostTaskAndReplyWithResult( | 99 base::PostTaskAndReplyWithResult( |
| 100 blocking_task_runner_, | 100 blocking_task_runner_.get(), |
| 101 FROM_HERE, | 101 FROM_HERE, |
| 102 base::Bind(&FileCache::Initialize, | 102 base::Bind(&FileCache::Initialize, base::Unretained(cache_.get())), |
| 103 base::Unretained(cache_.get())), | |
| 104 google_apis::test_util::CreateCopyResultCallback(&success)); | 103 google_apis::test_util::CreateCopyResultCallback(&success)); |
| 105 google_apis::test_util::RunBlockingPoolTask(); | 104 google_apis::test_util::RunBlockingPoolTask(); |
| 106 ASSERT_TRUE(success); | 105 ASSERT_TRUE(success); |
| 107 } | 106 } |
| 108 | 107 |
| 109 void TestGetFileFromCacheByResourceIdAndMd5( | 108 void TestGetFileFromCacheByResourceIdAndMd5( |
| 110 const std::string& resource_id, | 109 const std::string& resource_id, |
| 111 const std::string& md5, | 110 const std::string& md5, |
| 112 FileError expected_error, | 111 FileError expected_error, |
| 113 const std::string& expected_file_extension) { | 112 const std::string& expected_file_extension) { |
| (...skipping 777 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 891 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 890 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
| 892 ASSERT_TRUE(file_util::CreateDirectory( | 891 ASSERT_TRUE(file_util::CreateDirectory( |
| 893 temp_dir_.path().Append(util::kMetadataDirectory))); | 892 temp_dir_.path().Append(util::kMetadataDirectory))); |
| 894 ASSERT_TRUE(file_util::CreateDirectory( | 893 ASSERT_TRUE(file_util::CreateDirectory( |
| 895 temp_dir_.path().Append(util::kCacheFileDirectory))); | 894 temp_dir_.path().Append(util::kCacheFileDirectory))); |
| 896 | 895 |
| 897 fake_free_disk_space_getter_.reset(new FakeFreeDiskSpaceGetter); | 896 fake_free_disk_space_getter_.reset(new FakeFreeDiskSpaceGetter); |
| 898 | 897 |
| 899 metadata_storage_.reset(new ResourceMetadataStorage( | 898 metadata_storage_.reset(new ResourceMetadataStorage( |
| 900 temp_dir_.path().Append(util::kMetadataDirectory), | 899 temp_dir_.path().Append(util::kMetadataDirectory), |
| 901 base::MessageLoopProxy::current())); | 900 base::MessageLoopProxy::current().get())); |
| 902 ASSERT_TRUE(metadata_storage_->Initialize()); | 901 ASSERT_TRUE(metadata_storage_->Initialize()); |
| 903 | 902 |
| 904 cache_.reset(new FileCache( | 903 cache_.reset(new FileCache( |
| 905 metadata_storage_.get(), | 904 metadata_storage_.get(), |
| 906 temp_dir_.path().Append(util::kCacheFileDirectory), | 905 temp_dir_.path().Append(util::kCacheFileDirectory), |
| 907 base::MessageLoopProxy::current(), | 906 base::MessageLoopProxy::current().get(), |
| 908 fake_free_disk_space_getter_.get())); | 907 fake_free_disk_space_getter_.get())); |
| 909 ASSERT_TRUE(cache_->Initialize()); | 908 ASSERT_TRUE(cache_->Initialize()); |
| 910 } | 909 } |
| 911 | 910 |
| 912 static bool ImportOldDB(FileCache* cache, const base::FilePath& old_db_path) { | 911 static bool ImportOldDB(FileCache* cache, const base::FilePath& old_db_path) { |
| 913 return cache->ImportOldDB(old_db_path); | 912 return cache->ImportOldDB(old_db_path); |
| 914 } | 913 } |
| 915 | 914 |
| 916 content::TestBrowserThreadBundle thread_bundle_; | 915 content::TestBrowserThreadBundle thread_bundle_; |
| 917 base::ScopedTempDir temp_dir_; | 916 base::ScopedTempDir temp_dir_; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 937 ASSERT_TRUE(base::Delete(metadata_directory, true /* recursive */)); | 936 ASSERT_TRUE(base::Delete(metadata_directory, true /* recursive */)); |
| 938 | 937 |
| 939 // Put an empty file with the same name as old DB. | 938 // Put an empty file with the same name as old DB. |
| 940 // This file cannot be opened by ImportOldDB() and will be dismissed. | 939 // This file cannot be opened by ImportOldDB() and will be dismissed. |
| 941 ASSERT_TRUE(file_util::CreateDirectory(metadata_directory)); | 940 ASSERT_TRUE(file_util::CreateDirectory(metadata_directory)); |
| 942 ASSERT_TRUE(google_apis::test_util::WriteStringToFile( | 941 ASSERT_TRUE(google_apis::test_util::WriteStringToFile( |
| 943 metadata_directory.Append(FileCache::kOldCacheMetadataDBName), "")); | 942 metadata_directory.Append(FileCache::kOldCacheMetadataDBName), "")); |
| 944 | 943 |
| 945 // Create a new cache and initialize it. | 944 // Create a new cache and initialize it. |
| 946 metadata_storage_.reset(new ResourceMetadataStorage( | 945 metadata_storage_.reset(new ResourceMetadataStorage( |
| 947 metadata_directory, base::MessageLoopProxy::current())); | 946 metadata_directory, base::MessageLoopProxy::current().get())); |
| 948 ASSERT_TRUE(metadata_storage_->Initialize()); | 947 ASSERT_TRUE(metadata_storage_->Initialize()); |
| 949 | 948 |
| 950 cache_.reset(new FileCache(metadata_storage_.get(), | 949 cache_.reset(new FileCache(metadata_storage_.get(), |
| 951 temp_dir_.path().Append(util::kCacheFileDirectory), | 950 temp_dir_.path().Append(util::kCacheFileDirectory), |
| 952 base::MessageLoopProxy::current(), | 951 base::MessageLoopProxy::current().get(), |
| 953 fake_free_disk_space_getter_.get())); | 952 fake_free_disk_space_getter_.get())); |
| 954 ASSERT_TRUE(cache_->Initialize()); | 953 ASSERT_TRUE(cache_->Initialize()); |
| 955 | 954 |
| 956 // Check contents of the cache. | 955 // Check contents of the cache. |
| 957 FileCacheEntry cache_entry; | 956 FileCacheEntry cache_entry; |
| 958 EXPECT_TRUE(cache_->GetCacheEntry("id_foo", std::string(), &cache_entry)); | 957 EXPECT_TRUE(cache_->GetCacheEntry("id_foo", std::string(), &cache_entry)); |
| 959 EXPECT_TRUE(cache_entry.is_present()); | 958 EXPECT_TRUE(cache_entry.is_present()); |
| 960 EXPECT_EQ("md5foo", cache_entry.md5()); | 959 EXPECT_EQ("md5foo", cache_entry.md5()); |
| 961 | 960 |
| 962 EXPECT_TRUE(cache_->GetCacheEntry("id_bar", std::string(), &cache_entry)); | 961 EXPECT_TRUE(cache_->GetCacheEntry("id_bar", std::string(), &cache_entry)); |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1037 // Data is imported correctly. | 1036 // Data is imported correctly. |
| 1038 FileCacheEntry entry; | 1037 FileCacheEntry entry; |
| 1039 EXPECT_TRUE(cache_->GetCacheEntry(key1, std::string(), &entry)); | 1038 EXPECT_TRUE(cache_->GetCacheEntry(key1, std::string(), &entry)); |
| 1040 EXPECT_EQ(md5_1, entry.md5()); | 1039 EXPECT_EQ(md5_1, entry.md5()); |
| 1041 EXPECT_TRUE(cache_->GetCacheEntry(key2, std::string(), &entry)); | 1040 EXPECT_TRUE(cache_->GetCacheEntry(key2, std::string(), &entry)); |
| 1042 EXPECT_EQ(md5_2, entry.md5()); | 1041 EXPECT_EQ(md5_2, entry.md5()); |
| 1043 } | 1042 } |
| 1044 | 1043 |
| 1045 } // namespace internal | 1044 } // namespace internal |
| 1046 } // namespace drive | 1045 } // namespace drive |
| OLD | NEW |