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

Side by Side Diff: content/browser/fileapi/sandbox_origin_database_unittest.cc

Issue 2316043002: //content: Change ScopedTempDir::path() to GetPath() (Closed)
Patch Set: Just rebased Created 4 years, 3 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <functional> 8 #include <functional>
9 #include <limits> 9 #include <limits>
10 #include <memory> 10 #include <memory>
(...skipping 20 matching lines...) Expand all
31 namespace { 31 namespace {
32 const base::FilePath::CharType kFileSystemDirName[] = 32 const base::FilePath::CharType kFileSystemDirName[] =
33 FILE_PATH_LITERAL("File System"); 33 FILE_PATH_LITERAL("File System");
34 const base::FilePath::CharType kOriginDatabaseName[] = 34 const base::FilePath::CharType kOriginDatabaseName[] =
35 FILE_PATH_LITERAL("Origins"); 35 FILE_PATH_LITERAL("Origins");
36 } // namespace 36 } // namespace
37 37
38 TEST(SandboxOriginDatabaseTest, BasicTest) { 38 TEST(SandboxOriginDatabaseTest, BasicTest) {
39 base::ScopedTempDir dir; 39 base::ScopedTempDir dir;
40 ASSERT_TRUE(dir.CreateUniqueTempDir()); 40 ASSERT_TRUE(dir.CreateUniqueTempDir());
41 const base::FilePath kFSDir = dir.path().Append(kFileSystemDirName); 41 const base::FilePath kFSDir = dir.GetPath().Append(kFileSystemDirName);
42 EXPECT_FALSE(base::PathExists(kFSDir)); 42 EXPECT_FALSE(base::PathExists(kFSDir));
43 EXPECT_TRUE(base::CreateDirectory(kFSDir)); 43 EXPECT_TRUE(base::CreateDirectory(kFSDir));
44 44
45 SandboxOriginDatabase database(kFSDir, NULL); 45 SandboxOriginDatabase database(kFSDir, NULL);
46 std::string origin("origin"); 46 std::string origin("origin");
47 47
48 EXPECT_FALSE(database.HasOriginPath(origin)); 48 EXPECT_FALSE(database.HasOriginPath(origin));
49 // Double-check to make sure that had no side effects. 49 // Double-check to make sure that had no side effects.
50 EXPECT_FALSE(database.HasOriginPath(origin)); 50 EXPECT_FALSE(database.HasOriginPath(origin));
51 51
52 base::FilePath path0; 52 base::FilePath path0;
53 base::FilePath path1; 53 base::FilePath path1;
54 54
55 // Empty strings aren't valid origins. 55 // Empty strings aren't valid origins.
56 EXPECT_FALSE(database.GetPathForOrigin(std::string(), &path0)); 56 EXPECT_FALSE(database.GetPathForOrigin(std::string(), &path0));
57 57
58 EXPECT_TRUE(database.GetPathForOrigin(origin, &path0)); 58 EXPECT_TRUE(database.GetPathForOrigin(origin, &path0));
59 EXPECT_TRUE(database.HasOriginPath(origin)); 59 EXPECT_TRUE(database.HasOriginPath(origin));
60 EXPECT_TRUE(database.GetPathForOrigin(origin, &path1)); 60 EXPECT_TRUE(database.GetPathForOrigin(origin, &path1));
61 EXPECT_FALSE(path0.empty()); 61 EXPECT_FALSE(path0.empty());
62 EXPECT_FALSE(path1.empty()); 62 EXPECT_FALSE(path1.empty());
63 EXPECT_EQ(path0, path1); 63 EXPECT_EQ(path0, path1);
64 64
65 EXPECT_TRUE(base::PathExists(kFSDir.Append(kOriginDatabaseName))); 65 EXPECT_TRUE(base::PathExists(kFSDir.Append(kOriginDatabaseName)));
66 } 66 }
67 67
68 TEST(SandboxOriginDatabaseTest, TwoPathTest) { 68 TEST(SandboxOriginDatabaseTest, TwoPathTest) {
69 base::ScopedTempDir dir; 69 base::ScopedTempDir dir;
70 ASSERT_TRUE(dir.CreateUniqueTempDir()); 70 ASSERT_TRUE(dir.CreateUniqueTempDir());
71 const base::FilePath kFSDir = dir.path().Append(kFileSystemDirName); 71 const base::FilePath kFSDir = dir.GetPath().Append(kFileSystemDirName);
72 EXPECT_FALSE(base::PathExists(kFSDir)); 72 EXPECT_FALSE(base::PathExists(kFSDir));
73 EXPECT_TRUE(base::CreateDirectory(kFSDir)); 73 EXPECT_TRUE(base::CreateDirectory(kFSDir));
74 74
75 SandboxOriginDatabase database(kFSDir, NULL); 75 SandboxOriginDatabase database(kFSDir, NULL);
76 std::string origin0("origin0"); 76 std::string origin0("origin0");
77 std::string origin1("origin1"); 77 std::string origin1("origin1");
78 78
79 EXPECT_FALSE(database.HasOriginPath(origin0)); 79 EXPECT_FALSE(database.HasOriginPath(origin0));
80 EXPECT_FALSE(database.HasOriginPath(origin1)); 80 EXPECT_FALSE(database.HasOriginPath(origin1));
81 81
82 base::FilePath path0; 82 base::FilePath path0;
83 base::FilePath path1; 83 base::FilePath path1;
84 EXPECT_TRUE(database.GetPathForOrigin(origin0, &path0)); 84 EXPECT_TRUE(database.GetPathForOrigin(origin0, &path0));
85 EXPECT_TRUE(database.HasOriginPath(origin0)); 85 EXPECT_TRUE(database.HasOriginPath(origin0));
86 EXPECT_FALSE(database.HasOriginPath(origin1)); 86 EXPECT_FALSE(database.HasOriginPath(origin1));
87 EXPECT_TRUE(database.GetPathForOrigin(origin1, &path1)); 87 EXPECT_TRUE(database.GetPathForOrigin(origin1, &path1));
88 EXPECT_TRUE(database.HasOriginPath(origin1)); 88 EXPECT_TRUE(database.HasOriginPath(origin1));
89 EXPECT_FALSE(path0.empty()); 89 EXPECT_FALSE(path0.empty());
90 EXPECT_FALSE(path1.empty()); 90 EXPECT_FALSE(path1.empty());
91 EXPECT_NE(path0, path1); 91 EXPECT_NE(path0, path1);
92 92
93 EXPECT_TRUE(base::PathExists(kFSDir.Append(kOriginDatabaseName))); 93 EXPECT_TRUE(base::PathExists(kFSDir.Append(kOriginDatabaseName)));
94 } 94 }
95 95
96 TEST(SandboxOriginDatabaseTest, DropDatabaseTest) { 96 TEST(SandboxOriginDatabaseTest, DropDatabaseTest) {
97 base::ScopedTempDir dir; 97 base::ScopedTempDir dir;
98 ASSERT_TRUE(dir.CreateUniqueTempDir()); 98 ASSERT_TRUE(dir.CreateUniqueTempDir());
99 const base::FilePath kFSDir = dir.path().Append(kFileSystemDirName); 99 const base::FilePath kFSDir = dir.GetPath().Append(kFileSystemDirName);
100 EXPECT_FALSE(base::PathExists(kFSDir)); 100 EXPECT_FALSE(base::PathExists(kFSDir));
101 EXPECT_TRUE(base::CreateDirectory(kFSDir)); 101 EXPECT_TRUE(base::CreateDirectory(kFSDir));
102 102
103 SandboxOriginDatabase database(kFSDir, NULL); 103 SandboxOriginDatabase database(kFSDir, NULL);
104 std::string origin("origin"); 104 std::string origin("origin");
105 105
106 EXPECT_FALSE(database.HasOriginPath(origin)); 106 EXPECT_FALSE(database.HasOriginPath(origin));
107 107
108 base::FilePath path0; 108 base::FilePath path0;
109 EXPECT_TRUE(database.GetPathForOrigin(origin, &path0)); 109 EXPECT_TRUE(database.GetPathForOrigin(origin, &path0));
110 EXPECT_TRUE(database.HasOriginPath(origin)); 110 EXPECT_TRUE(database.HasOriginPath(origin));
111 EXPECT_FALSE(path0.empty()); 111 EXPECT_FALSE(path0.empty());
112 112
113 EXPECT_TRUE(base::PathExists(kFSDir.Append(kOriginDatabaseName))); 113 EXPECT_TRUE(base::PathExists(kFSDir.Append(kOriginDatabaseName)));
114 114
115 database.DropDatabase(); 115 database.DropDatabase();
116 116
117 base::FilePath path1; 117 base::FilePath path1;
118 EXPECT_TRUE(database.HasOriginPath(origin)); 118 EXPECT_TRUE(database.HasOriginPath(origin));
119 EXPECT_TRUE(database.GetPathForOrigin(origin, &path1)); 119 EXPECT_TRUE(database.GetPathForOrigin(origin, &path1));
120 EXPECT_FALSE(path1.empty()); 120 EXPECT_FALSE(path1.empty());
121 EXPECT_EQ(path0, path1); 121 EXPECT_EQ(path0, path1);
122 } 122 }
123 123
124 TEST(SandboxOriginDatabaseTest, DeleteOriginTest) { 124 TEST(SandboxOriginDatabaseTest, DeleteOriginTest) {
125 base::ScopedTempDir dir; 125 base::ScopedTempDir dir;
126 ASSERT_TRUE(dir.CreateUniqueTempDir()); 126 ASSERT_TRUE(dir.CreateUniqueTempDir());
127 const base::FilePath kFSDir = dir.path().Append(kFileSystemDirName); 127 const base::FilePath kFSDir = dir.GetPath().Append(kFileSystemDirName);
128 EXPECT_FALSE(base::PathExists(kFSDir)); 128 EXPECT_FALSE(base::PathExists(kFSDir));
129 EXPECT_TRUE(base::CreateDirectory(kFSDir)); 129 EXPECT_TRUE(base::CreateDirectory(kFSDir));
130 130
131 SandboxOriginDatabase database(kFSDir, NULL); 131 SandboxOriginDatabase database(kFSDir, NULL);
132 std::string origin("origin"); 132 std::string origin("origin");
133 133
134 EXPECT_FALSE(database.HasOriginPath(origin)); 134 EXPECT_FALSE(database.HasOriginPath(origin));
135 EXPECT_TRUE(database.RemovePathForOrigin(origin)); 135 EXPECT_TRUE(database.RemovePathForOrigin(origin));
136 136
137 base::FilePath path0; 137 base::FilePath path0;
138 EXPECT_TRUE(database.GetPathForOrigin(origin, &path0)); 138 EXPECT_TRUE(database.GetPathForOrigin(origin, &path0));
139 EXPECT_TRUE(database.HasOriginPath(origin)); 139 EXPECT_TRUE(database.HasOriginPath(origin));
140 EXPECT_FALSE(path0.empty()); 140 EXPECT_FALSE(path0.empty());
141 141
142 EXPECT_TRUE(database.RemovePathForOrigin(origin)); 142 EXPECT_TRUE(database.RemovePathForOrigin(origin));
143 EXPECT_FALSE(database.HasOriginPath(origin)); 143 EXPECT_FALSE(database.HasOriginPath(origin));
144 144
145 base::FilePath path1; 145 base::FilePath path1;
146 EXPECT_TRUE(database.GetPathForOrigin(origin, &path1)); 146 EXPECT_TRUE(database.GetPathForOrigin(origin, &path1));
147 EXPECT_FALSE(path1.empty()); 147 EXPECT_FALSE(path1.empty());
148 EXPECT_NE(path0, path1); 148 EXPECT_NE(path0, path1);
149 } 149 }
150 150
151 TEST(SandboxOriginDatabaseTest, ListOriginsTest) { 151 TEST(SandboxOriginDatabaseTest, ListOriginsTest) {
152 base::ScopedTempDir dir; 152 base::ScopedTempDir dir;
153 ASSERT_TRUE(dir.CreateUniqueTempDir()); 153 ASSERT_TRUE(dir.CreateUniqueTempDir());
154 const base::FilePath kFSDir = dir.path().Append(kFileSystemDirName); 154 const base::FilePath kFSDir = dir.GetPath().Append(kFileSystemDirName);
155 EXPECT_FALSE(base::PathExists(kFSDir)); 155 EXPECT_FALSE(base::PathExists(kFSDir));
156 EXPECT_TRUE(base::CreateDirectory(kFSDir)); 156 EXPECT_TRUE(base::CreateDirectory(kFSDir));
157 157
158 std::vector<SandboxOriginDatabase::OriginRecord> origins; 158 std::vector<SandboxOriginDatabase::OriginRecord> origins;
159 159
160 SandboxOriginDatabase database(kFSDir, NULL); 160 SandboxOriginDatabase database(kFSDir, NULL);
161 EXPECT_TRUE(database.ListAllOrigins(&origins)); 161 EXPECT_TRUE(database.ListAllOrigins(&origins));
162 EXPECT_TRUE(origins.empty()); 162 EXPECT_TRUE(origins.empty());
163 origins.clear(); 163 origins.clear();
164 164
(...skipping 28 matching lines...) Expand all
193 193
194 TEST(SandboxOriginDatabaseTest, DatabaseRecoveryTest) { 194 TEST(SandboxOriginDatabaseTest, DatabaseRecoveryTest) {
195 // Checks if SandboxOriginDatabase properly handles database corruption. 195 // Checks if SandboxOriginDatabase properly handles database corruption.
196 // In this test, we'll register some origins to the origin database, then 196 // In this test, we'll register some origins to the origin database, then
197 // corrupt database and its log file. 197 // corrupt database and its log file.
198 // After repairing, the origin database should be consistent even when some 198 // After repairing, the origin database should be consistent even when some
199 // entries lost. 199 // entries lost.
200 200
201 base::ScopedTempDir dir; 201 base::ScopedTempDir dir;
202 ASSERT_TRUE(dir.CreateUniqueTempDir()); 202 ASSERT_TRUE(dir.CreateUniqueTempDir());
203 const base::FilePath kFSDir = dir.path().Append(kFileSystemDirName); 203 const base::FilePath kFSDir = dir.GetPath().Append(kFileSystemDirName);
204 const base::FilePath kDBDir = kFSDir.Append(kOriginDatabaseName); 204 const base::FilePath kDBDir = kFSDir.Append(kOriginDatabaseName);
205 EXPECT_FALSE(base::PathExists(kFSDir)); 205 EXPECT_FALSE(base::PathExists(kFSDir));
206 EXPECT_TRUE(base::CreateDirectory(kFSDir)); 206 EXPECT_TRUE(base::CreateDirectory(kFSDir));
207 207
208 const std::string kOrigins[] = { 208 const std::string kOrigins[] = {
209 "foo.example.com", 209 "foo.example.com",
210 "bar.example.com", 210 "bar.example.com",
211 "baz.example.com", 211 "baz.example.com",
212 "hoge.example.com", 212 "hoge.example.com",
213 "fuga.example.com", 213 "fuga.example.com",
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 leveldb::kTableFile, 268 leveldb::kTableFile,
269 leveldb::kDescriptorFile, 269 leveldb::kDescriptorFile,
270 leveldb::kCurrentFile, 270 leveldb::kCurrentFile,
271 leveldb::kTempFile, 271 leveldb::kTempFile,
272 leveldb::kInfoLogFile, 272 leveldb::kInfoLogFile,
273 }; 273 };
274 274
275 for (size_t i = 0; i < arraysize(kLevelDBFileTypes); ++i) { 275 for (size_t i = 0; i < arraysize(kLevelDBFileTypes); ++i) {
276 base::ScopedTempDir dir; 276 base::ScopedTempDir dir;
277 ASSERT_TRUE(dir.CreateUniqueTempDir()); 277 ASSERT_TRUE(dir.CreateUniqueTempDir());
278 const base::FilePath kFSDir = dir.path().Append(kFileSystemDirName); 278 const base::FilePath kFSDir = dir.GetPath().Append(kFileSystemDirName);
279 const base::FilePath kDBDir = kFSDir.Append(kOriginDatabaseName); 279 const base::FilePath kDBDir = kFSDir.Append(kOriginDatabaseName);
280 EXPECT_FALSE(base::PathExists(kFSDir)); 280 EXPECT_FALSE(base::PathExists(kFSDir));
281 EXPECT_TRUE(base::CreateDirectory(kFSDir)); 281 EXPECT_TRUE(base::CreateDirectory(kFSDir));
282 282
283 const std::string kOrigin = "foo.example.com"; 283 const std::string kOrigin = "foo.example.com";
284 base::FilePath path; 284 base::FilePath path;
285 285
286 std::unique_ptr<SandboxOriginDatabase> database( 286 std::unique_ptr<SandboxOriginDatabase> database(
287 new SandboxOriginDatabase(kFSDir, NULL)); 287 new SandboxOriginDatabase(kFSDir, NULL));
288 EXPECT_FALSE(database->HasOriginPath(kOrigin)); 288 EXPECT_FALSE(database->HasOriginPath(kOrigin));
(...skipping 11 matching lines...) Expand all
300 300
301 const std::string kOrigin2("piyo.example.org"); 301 const std::string kOrigin2("piyo.example.org");
302 EXPECT_FALSE(database->HasOriginPath(kOrigin2)); 302 EXPECT_FALSE(database->HasOriginPath(kOrigin2));
303 EXPECT_TRUE(database->GetPathForOrigin(kOrigin2, &path)); 303 EXPECT_TRUE(database->GetPathForOrigin(kOrigin2, &path));
304 EXPECT_FALSE(path.empty()); 304 EXPECT_FALSE(path.empty());
305 EXPECT_TRUE(database->HasOriginPath(kOrigin2)); 305 EXPECT_TRUE(database->HasOriginPath(kOrigin2));
306 } 306 }
307 } 307 }
308 308
309 } // namespace content 309 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698