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

Side by Side Diff: chrome/browser/chromeos/drive/stale_cache_files_remover_unittest.cc

Issue 11106007: drive: Rename 'gdata' namespace to 'drive' in chrome/browser/chromeos/drive (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years, 2 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 <string> 5 #include <string>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/file_path.h" 9 #include "base/file_path.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 22 matching lines...) Expand all
33 #include "testing/gmock/include/gmock/gmock.h" 33 #include "testing/gmock/include/gmock/gmock.h"
34 #include "testing/gtest/include/gtest/gtest.h" 34 #include "testing/gtest/include/gtest/gtest.h"
35 35
36 using ::testing::AtLeast; 36 using ::testing::AtLeast;
37 using ::testing::Eq; 37 using ::testing::Eq;
38 using ::testing::NotNull; 38 using ::testing::NotNull;
39 using ::testing::Return; 39 using ::testing::Return;
40 using ::testing::StrictMock; 40 using ::testing::StrictMock;
41 using ::testing::_; 41 using ::testing::_;
42 42
43 namespace gdata { 43 namespace drive {
44 namespace { 44 namespace {
45 45
46 const int64 kLotsOfSpace = kMinFreeSpace * 10; 46 const int64 kLotsOfSpace = kMinFreeSpace * 10;
47 47
48 // Callback for DriveCache::StoreOnUIThread used in RemoveStaleCacheFiles test. 48 // Callback for DriveCache::StoreOnUIThread used in RemoveStaleCacheFiles test.
49 // Verifies that the result is not an error. 49 // Verifies that the result is not an error.
50 void VerifyCacheFileState(DriveFileError error, 50 void VerifyCacheFileState(DriveFileError error,
51 const std::string& resource_id, 51 const std::string& resource_id,
52 const std::string& md5) { 52 const std::string& md5) {
53 EXPECT_EQ(DRIVE_FILE_OK, error); 53 EXPECT_EQ(DRIVE_FILE_OK, error);
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 106
107 mock_directory_observer_.reset(new StrictMock<MockDirectoryChangeObserver>); 107 mock_directory_observer_.reset(new StrictMock<MockDirectoryChangeObserver>);
108 file_system_->AddObserver(mock_directory_observer_.get()); 108 file_system_->AddObserver(mock_directory_observer_.get());
109 109
110 file_system_->Initialize(); 110 file_system_->Initialize();
111 cache_->RequestInitializeOnUIThreadForTesting(); 111 cache_->RequestInitializeOnUIThreadForTesting();
112 112
113 stale_cache_files_remover_.reset(new StaleCacheFilesRemover(file_system_, 113 stale_cache_files_remover_.reset(new StaleCacheFilesRemover(file_system_,
114 cache_)); 114 cache_));
115 115
116 test_util::RunBlockingPoolTask(); 116 gdata::test_util::RunBlockingPoolTask();
117 } 117 }
118 118
119 virtual void TearDown() OVERRIDE { 119 virtual void TearDown() OVERRIDE {
120 ASSERT_TRUE(file_system_); 120 ASSERT_TRUE(file_system_);
121 stale_cache_files_remover_.reset(); 121 stale_cache_files_remover_.reset();
122 EXPECT_CALL(*mock_drive_service_, CancelAll()).Times(1); 122 EXPECT_CALL(*mock_drive_service_, CancelAll()).Times(1);
123 delete file_system_; 123 delete file_system_;
124 file_system_ = NULL; 124 file_system_ = NULL;
125 delete mock_drive_service_; 125 delete mock_drive_service_;
126 mock_drive_service_ = NULL; 126 mock_drive_service_ = NULL;
127 SetFreeDiskSpaceGetterForTesting(NULL); 127 SetFreeDiskSpaceGetterForTesting(NULL);
128 cache_->DestroyOnUIThread(); 128 cache_->DestroyOnUIThread();
129 // The cache destruction requires to post a task to the blocking pool. 129 // The cache destruction requires to post a task to the blocking pool.
130 test_util::RunBlockingPoolTask(); 130 gdata::test_util::RunBlockingPoolTask();
131 131
132 profile_.reset(NULL); 132 profile_.reset(NULL);
133 } 133 }
134 134
135 // Loads test json file as root ("/drive") element. 135 // Loads test json file as root ("/drive") element.
136 void LoadRootFeedDocument(const std::string& filename) { 136 void LoadRootFeedDocument(const std::string& filename) {
137 test_util::LoadChangeFeed(filename, 137 test_util::LoadChangeFeed(filename,
138 file_system_, 138 file_system_,
139 0, 139 0,
140 root_feed_changestamp_++); 140 root_feed_changestamp_++);
(...skipping 13 matching lines...) Expand all
154 scoped_ptr<StrictMock<MockDriveWebAppsRegistry> > mock_webapps_registry_; 154 scoped_ptr<StrictMock<MockDriveWebAppsRegistry> > mock_webapps_registry_;
155 StrictMock<MockFreeDiskSpaceGetter>* mock_free_disk_space_checker_; 155 StrictMock<MockFreeDiskSpaceGetter>* mock_free_disk_space_checker_;
156 scoped_ptr<StrictMock<MockDriveCacheObserver> > mock_cache_observer_; 156 scoped_ptr<StrictMock<MockDriveCacheObserver> > mock_cache_observer_;
157 scoped_ptr<StrictMock<MockDirectoryChangeObserver> > mock_directory_observer_; 157 scoped_ptr<StrictMock<MockDirectoryChangeObserver> > mock_directory_observer_;
158 scoped_ptr<StaleCacheFilesRemover> stale_cache_files_remover_; 158 scoped_ptr<StaleCacheFilesRemover> stale_cache_files_remover_;
159 159
160 int root_feed_changestamp_; 160 int root_feed_changestamp_;
161 }; 161 };
162 162
163 TEST_F(StaleCacheFilesRemoverTest, RemoveStaleCacheFiles) { 163 TEST_F(StaleCacheFilesRemoverTest, RemoveStaleCacheFiles) {
164 FilePath dummy_file = test_util::GetTestFilePath("gdata/root_feed.json"); 164 FilePath dummy_file =
165 gdata::test_util::GetTestFilePath("gdata/root_feed.json");
165 std::string resource_id("pdf:1a2b3c"); 166 std::string resource_id("pdf:1a2b3c");
166 std::string md5("abcdef0123456789"); 167 std::string md5("abcdef0123456789");
167 168
168 EXPECT_CALL(*mock_free_disk_space_checker_, AmountOfFreeDiskSpace()) 169 EXPECT_CALL(*mock_free_disk_space_checker_, AmountOfFreeDiskSpace())
169 .Times(AtLeast(1)).WillRepeatedly(Return(kLotsOfSpace)); 170 .Times(AtLeast(1)).WillRepeatedly(Return(kLotsOfSpace));
170 171
171 // Create a stale cache file. 172 // Create a stale cache file.
172 cache_->StoreOnUIThread(resource_id, md5, dummy_file, 173 cache_->StoreOnUIThread(resource_id, md5, dummy_file,
173 DriveCache::FILE_OPERATION_COPY, 174 DriveCache::FILE_OPERATION_COPY,
174 base::Bind(&gdata::VerifyCacheFileState)); 175 base::Bind(&VerifyCacheFileState));
175 test_util::RunBlockingPoolTask(); 176 gdata::test_util::RunBlockingPoolTask();
176 177
177 // Verify that the cache file exists. 178 // Verify that the cache file exists.
178 FilePath path = cache_->GetCacheFilePath(resource_id, 179 FilePath path = cache_->GetCacheFilePath(resource_id,
179 md5, 180 md5,
180 DriveCache::CACHE_TYPE_TMP, 181 DriveCache::CACHE_TYPE_TMP,
181 DriveCache::CACHED_FILE_FROM_SERVER); 182 DriveCache::CACHED_FILE_FROM_SERVER);
182 EXPECT_TRUE(file_util::PathExists(path)); 183 EXPECT_TRUE(file_util::PathExists(path));
183 184
184 // Verify that the corresponding file entry doesn't exist. 185 // Verify that the corresponding file entry doesn't exist.
185 EXPECT_CALL(*mock_drive_service_, GetAccountMetadata(_)).Times(1); 186 EXPECT_CALL(*mock_drive_service_, GetAccountMetadata(_)).Times(1);
186 EXPECT_CALL(*mock_drive_service_, GetDocuments(Eq(GURL()), _, "", _, _)) 187 EXPECT_CALL(*mock_drive_service_, GetDocuments(Eq(GURL()), _, "", _, _))
187 .Times(1); 188 .Times(1);
188 EXPECT_CALL(*mock_webapps_registry_, UpdateFromFeed(_)).Times(1); 189 EXPECT_CALL(*mock_webapps_registry_, UpdateFromFeed(_)).Times(1);
189 190
190 DriveFileError error(DRIVE_FILE_OK); 191 DriveFileError error(DRIVE_FILE_OK);
191 FilePath unused; 192 FilePath unused;
192 scoped_ptr<DriveEntryProto> entry_proto; 193 scoped_ptr<DriveEntryProto> entry_proto;
193 file_system_->GetEntryInfoByResourceId( 194 file_system_->GetEntryInfoByResourceId(
194 resource_id, 195 resource_id,
195 base::Bind(&test_util::CopyResultsFromGetEntryInfoWithFilePathCallback, 196 base::Bind(&test_util::CopyResultsFromGetEntryInfoWithFilePathCallback,
196 &error, 197 &error,
197 &unused, 198 &unused,
198 &entry_proto)); 199 &entry_proto));
199 test_util::RunBlockingPoolTask(); 200 gdata::test_util::RunBlockingPoolTask();
200 EXPECT_EQ(DRIVE_FILE_ERROR_NOT_FOUND, error); 201 EXPECT_EQ(DRIVE_FILE_ERROR_NOT_FOUND, error);
201 202
202 file_system_->GetEntryInfoByPath( 203 file_system_->GetEntryInfoByPath(
203 path, 204 path,
204 base::Bind(&test_util::CopyResultsFromGetEntryInfoCallback, 205 base::Bind(&test_util::CopyResultsFromGetEntryInfoCallback,
205 &error, 206 &error,
206 &entry_proto)); 207 &entry_proto));
207 test_util::RunBlockingPoolTask(); 208 gdata::test_util::RunBlockingPoolTask();
208 EXPECT_EQ(DRIVE_FILE_ERROR_NOT_FOUND, error); 209 EXPECT_EQ(DRIVE_FILE_ERROR_NOT_FOUND, error);
209 EXPECT_FALSE(entry_proto.get()); 210 EXPECT_FALSE(entry_proto.get());
210 211
211 // Load a root feed. 212 // Load a root feed.
212 LoadRootFeedDocument("gdata/root_feed.json"); 213 LoadRootFeedDocument("gdata/root_feed.json");
213 214
214 // Wait for StaleCacheFilesRemover to finish cleaning up the stale file. 215 // Wait for StaleCacheFilesRemover to finish cleaning up the stale file.
215 test_util::RunBlockingPoolTask(); 216 gdata::test_util::RunBlockingPoolTask();
216 217
217 // Verify that the cache file is deleted. 218 // Verify that the cache file is deleted.
218 path = cache_->GetCacheFilePath(resource_id, 219 path = cache_->GetCacheFilePath(resource_id,
219 md5, 220 md5,
220 DriveCache::CACHE_TYPE_TMP, 221 DriveCache::CACHE_TYPE_TMP,
221 DriveCache::CACHED_FILE_FROM_SERVER); 222 DriveCache::CACHED_FILE_FROM_SERVER);
222 EXPECT_FALSE(file_util::PathExists(path)); 223 EXPECT_FALSE(file_util::PathExists(path));
223 } 224 }
224 225
225 } // namespace gdata 226 } // namespace drive
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698