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

Side by Side Diff: webkit/fileapi/sandbox_mount_point_provider_unittest.cc

Issue 9004019: Cleanup: Removing FileSystemPathManager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 8 years, 11 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
« no previous file with comments | « webkit/fileapi/sandbox_mount_point_provider.cc ('k') | webkit/fileapi/webkit_fileapi.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "webkit/fileapi/sandbox_mount_point_provider.h" 5 #include "webkit/fileapi/sandbox_mount_point_provider.h"
6 6
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/file_util.h" 12 #include "base/file_util.h"
13 #include "base/memory/ref_counted.h" 13 #include "base/memory/ref_counted.h"
14 #include "base/memory/scoped_ptr.h" 14 #include "base/memory/scoped_ptr.h"
15 #include "base/memory/weak_ptr.h" 15 #include "base/memory/weak_ptr.h"
16 #include "base/message_loop.h" 16 #include "base/message_loop.h"
17 #include "base/message_loop_proxy.h" 17 #include "base/message_loop_proxy.h"
18 #include "base/platform_file.h" 18 #include "base/platform_file.h"
19 #include "base/scoped_temp_dir.h" 19 #include "base/scoped_temp_dir.h"
20 #include "googleurl/src/gurl.h" 20 #include "googleurl/src/gurl.h"
21 #include "testing/gtest/include/gtest/gtest.h" 21 #include "testing/gtest/include/gtest/gtest.h"
22 #include "webkit/fileapi/file_system_context.h" 22 #include "webkit/fileapi/file_system_context.h"
23 #include "webkit/fileapi/file_system_mount_point_provider.h"
23 #include "webkit/fileapi/file_system_operation_context.h" 24 #include "webkit/fileapi/file_system_operation_context.h"
24 #include "webkit/fileapi/file_system_path_manager.h"
25 #include "webkit/fileapi/file_system_util.h" 25 #include "webkit/fileapi/file_system_util.h"
26 #include "webkit/fileapi/mock_file_system_options.h"
26 #include "webkit/quota/mock_special_storage_policy.h" 27 #include "webkit/quota/mock_special_storage_policy.h"
27 28
28 namespace fileapi { 29 namespace fileapi {
29 30
30 class MockFileSystemPathManager : public FileSystemPathManager {
31 public:
32 explicit MockFileSystemPathManager(const FilePath& profile_path)
33 : FileSystemPathManager(base::MessageLoopProxy::current(),
34 profile_path, NULL, false, true) {}
35 };
36
37 class SandboxMountPointProviderOriginEnumeratorTest : public testing::Test { 31 class SandboxMountPointProviderOriginEnumeratorTest : public testing::Test {
38 public: 32 public:
39 void SetUp() { 33 void SetUp() {
40 ASSERT_TRUE(data_dir_.CreateUniqueTempDir()); 34 ASSERT_TRUE(data_dir_.CreateUniqueTempDir());
41 path_manager_.reset(new MockFileSystemPathManager(data_dir_.path())); 35 sandbox_provider_.reset(
36 new SandboxMountPointProvider(
37 base::MessageLoopProxy::current(),
38 data_dir_.path(),
39 CreateAllowFileAccessOptions()));
42 } 40 }
43 41
44 SandboxMountPointProvider::OriginEnumerator* CreateEnumerator() const { 42 SandboxMountPointProvider::OriginEnumerator* CreateEnumerator() const {
45 return path_manager_->sandbox_provider()->CreateOriginEnumerator(); 43 return sandbox_provider_->CreateOriginEnumerator();
46 } 44 }
47 45
48 protected: 46 protected:
49 void CreateOriginTypeDirectory(const GURL& origin, 47 void CreateOriginTypeDirectory(const GURL& origin,
50 fileapi::FileSystemType type) { 48 fileapi::FileSystemType type) {
51 FilePath target = path_manager_->sandbox_provider()-> 49 FilePath target = sandbox_provider_->
52 GetBaseDirectoryForOriginAndType(origin, type, true); 50 GetBaseDirectoryForOriginAndType(origin, type, true);
53 ASSERT_TRUE(!target.empty()); 51 ASSERT_TRUE(!target.empty());
54 ASSERT_TRUE(file_util::DirectoryExists(target)); 52 ASSERT_TRUE(file_util::DirectoryExists(target));
55 } 53 }
56 54
57 ScopedTempDir data_dir_; 55 ScopedTempDir data_dir_;
58 scoped_ptr<FileSystemPathManager> path_manager_; 56 scoped_ptr<SandboxMountPointProvider> sandbox_provider_;
59 }; 57 };
60 58
61 TEST_F(SandboxMountPointProviderOriginEnumeratorTest, Empty) { 59 TEST_F(SandboxMountPointProviderOriginEnumeratorTest, Empty) {
62 scoped_ptr<SandboxMountPointProvider::OriginEnumerator> enumerator( 60 scoped_ptr<SandboxMountPointProvider::OriginEnumerator> enumerator(
63 CreateEnumerator()); 61 CreateEnumerator());
64 ASSERT_TRUE(enumerator->Next().is_empty()); 62 ASSERT_TRUE(enumerator->Next().is_empty());
65 } 63 }
66 64
67 TEST_F(SandboxMountPointProviderOriginEnumeratorTest, EnumerateOrigins) { 65 TEST_F(SandboxMountPointProviderOriginEnumeratorTest, EnumerateOrigins) {
68 const char* temporary_origins[] = { 66 const char* temporary_origins[] = {
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 } // anonymous namespace 130 } // anonymous namespace
133 131
134 class SandboxMountPointProviderMigrationTest : public testing::Test { 132 class SandboxMountPointProviderMigrationTest : public testing::Test {
135 public: 133 public:
136 SandboxMountPointProviderMigrationTest() : 134 SandboxMountPointProviderMigrationTest() :
137 ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) { 135 ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) {
138 } 136 }
139 137
140 void SetUp() { 138 void SetUp() {
141 ASSERT_TRUE(data_dir_.CreateUniqueTempDir()); 139 ASSERT_TRUE(data_dir_.CreateUniqueTempDir());
142 path_manager_ = new MockFileSystemPathManager(data_dir_.path());
143
144 scoped_refptr<quota::MockSpecialStoragePolicy> special_storage_policy = 140 scoped_refptr<quota::MockSpecialStoragePolicy> special_storage_policy =
145 new quota::MockSpecialStoragePolicy; 141 new quota::MockSpecialStoragePolicy;
146 special_storage_policy->SetAllUnlimited(true); 142 special_storage_policy->SetAllUnlimited(true);
147 file_system_context_ = new FileSystemContext( 143 file_system_context_ = new FileSystemContext(
148 base::MessageLoopProxy::current(), 144 base::MessageLoopProxy::current(),
149 base::MessageLoopProxy::current(), 145 base::MessageLoopProxy::current(),
150 special_storage_policy, 146 special_storage_policy,
151 NULL, 147 NULL,
152 data_dir_.path(), 148 data_dir_.path(),
153 false, // incognito 149 CreateAllowFileAccessOptions());
154 true, // allow_file_access_from_files
155 path_manager_);
156 }
157
158 FileSystemPathManager* path_manager() {
159 return path_manager_;
160 } 150 }
161 151
162 SandboxMountPointProvider* sandbox_provider() { 152 SandboxMountPointProvider* sandbox_provider() {
163 return path_manager()->sandbox_provider(); 153 return file_system_context_->sandbox_provider();
164 } 154 }
165 155
166 FileSystemFileUtil* file_util() { 156 FileSystemFileUtil* file_util() {
167 return sandbox_provider()->GetFileUtil(); 157 return sandbox_provider()->GetFileUtil();
168 } 158 }
169 159
170 void OnGetRootPath(bool success, const FilePath& unused, 160 void OnGetRootPath(bool success, const FilePath& unused,
171 const std::string& unused_also) { 161 const std::string& unused_also) {
172 EXPECT_FALSE(success); // We told it not to create. 162 EXPECT_FALSE(success); // We told it not to create.
173 } 163 }
174 164
175 FileSystemPathManager::GetRootPathCallback GetRootPathCallback() { 165 FileSystemMountPointProvider::GetRootPathCallback GetRootPathCallback() {
176 return base::Bind(&SandboxMountPointProviderMigrationTest::OnGetRootPath, 166 return base::Bind(&SandboxMountPointProviderMigrationTest::OnGetRootPath,
177 weak_factory_.GetWeakPtr()); 167 weak_factory_.GetWeakPtr());
178 } 168 }
179 169
180 void EnsureFileExists(const FilePath& path) { 170 void EnsureFileExists(const FilePath& path) {
181 bool created = false; 171 bool created = false;
182 PlatformFileError error_code = base::PLATFORM_FILE_OK; 172 PlatformFileError error_code = base::PLATFORM_FILE_OK;
183 PlatformFile handle = base::CreatePlatformFile( 173 PlatformFile handle = base::CreatePlatformFile(
184 path, 174 path,
185 base::PLATFORM_FILE_CREATE | base::PLATFORM_FILE_READ, 175 base::PLATFORM_FILE_CREATE | base::PLATFORM_FILE_READ,
(...skipping 25 matching lines...) Expand all
211 FileSystemOperationContext* context = new FileSystemOperationContext( 201 FileSystemOperationContext* context = new FileSystemOperationContext(
212 file_system_context_, file_util()); 202 file_system_context_, file_util());
213 context->set_src_origin_url(origin_url); 203 context->set_src_origin_url(origin_url);
214 context->set_src_type(type); 204 context->set_src_type(type);
215 return context; 205 return context;
216 } 206 }
217 207
218 std::string URLAndTypeToSeedString(const GURL& origin_url, 208 std::string URLAndTypeToSeedString(const GURL& origin_url,
219 fileapi::FileSystemType type) { 209 fileapi::FileSystemType type) {
220 return GetOriginIdentifierFromURL(origin_url) + 210 return GetOriginIdentifierFromURL(origin_url) +
221 FileSystemPathManager::GetFileSystemTypeString(type); 211 GetFileSystemTypeString(type);
222 } 212 }
223 213
224 void ValidateDataInNewFileSystem( 214 void ValidateDataInNewFileSystem(
225 const GURL& origin_url, fileapi::FileSystemType type) { 215 const GURL& origin_url, fileapi::FileSystemType type) {
226 216
227 scoped_ptr<FileSystemOperationContext> context; 217 scoped_ptr<FileSystemOperationContext> context;
228 FilePath seed = FilePath().AppendASCII( 218 FilePath seed = FilePath().AppendASCII(
229 URLAndTypeToSeedString(origin_url, type)); 219 URLAndTypeToSeedString(origin_url, type));
230 220
231 context.reset(NewContext(origin_url, type)); 221 context.reset(NewContext(origin_url, type));
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 ASSERT_TRUE(test_case.has_temporary || test_case.has_persistent); 340 ASSERT_TRUE(test_case.has_temporary || test_case.has_persistent);
351 if (test_case.has_temporary) 341 if (test_case.has_temporary)
352 ValidateDataInNewFileSystem(origin_url, kFileSystemTypeTemporary); 342 ValidateDataInNewFileSystem(origin_url, kFileSystemTypeTemporary);
353 if (test_case.has_persistent) 343 if (test_case.has_persistent)
354 ValidateDataInNewFileSystem(origin_url, kFileSystemTypePersistent); 344 ValidateDataInNewFileSystem(origin_url, kFileSystemTypePersistent);
355 } 345 }
356 } 346 }
357 347
358 protected: 348 protected:
359 ScopedTempDir data_dir_; 349 ScopedTempDir data_dir_;
360 FileSystemPathManager* path_manager_;
361 scoped_refptr<FileSystemContext> file_system_context_; 350 scoped_refptr<FileSystemContext> file_system_context_;
362 base::WeakPtrFactory<SandboxMountPointProviderMigrationTest> weak_factory_; 351 base::WeakPtrFactory<SandboxMountPointProviderMigrationTest> weak_factory_;
363 }; 352 };
364 353
365 TEST_F(SandboxMountPointProviderMigrationTest, TestMigrateViaMethod0) { 354 TEST_F(SandboxMountPointProviderMigrationTest, TestMigrateViaMethod0) {
366 RunMigrationTest(0); 355 RunMigrationTest(0);
367 } 356 }
368 357
369 TEST_F(SandboxMountPointProviderMigrationTest, TestMigrateViaMethod1) { 358 TEST_F(SandboxMountPointProviderMigrationTest, TestMigrateViaMethod1) {
370 RunMigrationTest(1); 359 RunMigrationTest(1);
(...skipping 25 matching lines...) Expand all
396 385
397 TEST_F(SandboxMountPointProviderMigrationTest, TestMigrateViaMethod8) { 386 TEST_F(SandboxMountPointProviderMigrationTest, TestMigrateViaMethod8) {
398 RunMigrationTest(8); 387 RunMigrationTest(8);
399 } 388 }
400 389
401 TEST_F(SandboxMountPointProviderMigrationTest, TestMigrateViaMethod9) { 390 TEST_F(SandboxMountPointProviderMigrationTest, TestMigrateViaMethod9) {
402 RunMigrationTest(9); 391 RunMigrationTest(9);
403 } 392 }
404 393
405 } // namespace fileapi 394 } // namespace fileapi
OLDNEW
« no previous file with comments | « webkit/fileapi/sandbox_mount_point_provider.cc ('k') | webkit/fileapi/webkit_fileapi.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698