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 |