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

Side by Side Diff: content/browser/fileapi/sandbox_prioritized_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 "base/files/file_util.h" 5 #include "base/files/file_util.h"
6 #include "base/files/scoped_temp_dir.h" 6 #include "base/files/scoped_temp_dir.h"
7 #include "storage/browser/fileapi/sandbox_origin_database.h" 7 #include "storage/browser/fileapi/sandbox_origin_database.h"
8 #include "storage/browser/fileapi/sandbox_prioritized_origin_database.h" 8 #include "storage/browser/fileapi/sandbox_prioritized_origin_database.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
11 using storage::SandboxOriginDatabase; 11 using storage::SandboxOriginDatabase;
12 using storage::SandboxOriginDatabaseInterface; 12 using storage::SandboxOriginDatabaseInterface;
13 using storage::SandboxPrioritizedOriginDatabase; 13 using storage::SandboxPrioritizedOriginDatabase;
14 14
15 namespace content { 15 namespace content {
16 16
17 TEST(SandboxPrioritizedOriginDatabaseTest, BasicTest) { 17 TEST(SandboxPrioritizedOriginDatabaseTest, BasicTest) {
18 base::ScopedTempDir dir; 18 base::ScopedTempDir dir;
19 base::FilePath path; 19 base::FilePath path;
20 ASSERT_TRUE(dir.CreateUniqueTempDir()); 20 ASSERT_TRUE(dir.CreateUniqueTempDir());
21 21
22 const std::string kOrigin1("origin1"); 22 const std::string kOrigin1("origin1");
23 const std::string kOrigin2("origin2"); 23 const std::string kOrigin2("origin2");
24 24
25 SandboxPrioritizedOriginDatabase database(dir.path(), NULL); 25 SandboxPrioritizedOriginDatabase database(dir.GetPath(), NULL);
26 26
27 // Set the kOrigin1 as a parimary origin. 27 // Set the kOrigin1 as a parimary origin.
28 EXPECT_TRUE(database.InitializePrimaryOrigin(kOrigin1)); 28 EXPECT_TRUE(database.InitializePrimaryOrigin(kOrigin1));
29 29
30 // Add two origins. 30 // Add two origins.
31 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path)); 31 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path));
32 EXPECT_TRUE(database.GetPathForOrigin(kOrigin2, &path)); 32 EXPECT_TRUE(database.GetPathForOrigin(kOrigin2, &path));
33 33
34 // Verify them. 34 // Verify them.
35 EXPECT_TRUE(database.HasOriginPath(kOrigin1)); 35 EXPECT_TRUE(database.HasOriginPath(kOrigin1));
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 } 69 }
70 70
71 TEST(SandboxPrioritizedOriginDatabaseTest, SetPrimaryLaterTest) { 71 TEST(SandboxPrioritizedOriginDatabaseTest, SetPrimaryLaterTest) {
72 base::ScopedTempDir dir; 72 base::ScopedTempDir dir;
73 base::FilePath path; 73 base::FilePath path;
74 ASSERT_TRUE(dir.CreateUniqueTempDir()); 74 ASSERT_TRUE(dir.CreateUniqueTempDir());
75 75
76 const std::string kOrigin1("origin1"); 76 const std::string kOrigin1("origin1");
77 const std::string kOrigin2("origin2"); 77 const std::string kOrigin2("origin2");
78 78
79 SandboxPrioritizedOriginDatabase database(dir.path(), NULL); 79 SandboxPrioritizedOriginDatabase database(dir.GetPath(), NULL);
80 80
81 EXPECT_TRUE(database.GetPrimaryOrigin().empty()); 81 EXPECT_TRUE(database.GetPrimaryOrigin().empty());
82 82
83 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path)); 83 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path));
84 EXPECT_TRUE(database.GetPathForOrigin(kOrigin2, &path)); 84 EXPECT_TRUE(database.GetPathForOrigin(kOrigin2, &path));
85 85
86 // Set the kOrigin1 as a parimary origin. 86 // Set the kOrigin1 as a parimary origin.
87 EXPECT_TRUE(database.InitializePrimaryOrigin(kOrigin1)); 87 EXPECT_TRUE(database.InitializePrimaryOrigin(kOrigin1));
88 EXPECT_EQ(kOrigin1, database.GetPrimaryOrigin()); 88 EXPECT_EQ(kOrigin1, database.GetPrimaryOrigin());
89 89
90 // Regardless of whether it is initialized as primary or not 90 // Regardless of whether it is initialized as primary or not
91 // they should just work. 91 // they should just work.
92 EXPECT_TRUE(database.HasOriginPath(kOrigin1)); 92 EXPECT_TRUE(database.HasOriginPath(kOrigin1));
93 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path)); 93 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path));
94 EXPECT_FALSE(path.empty()); 94 EXPECT_FALSE(path.empty());
95 EXPECT_TRUE(database.HasOriginPath(kOrigin2)); 95 EXPECT_TRUE(database.HasOriginPath(kOrigin2));
96 EXPECT_TRUE(database.GetPathForOrigin(kOrigin2, &path)); 96 EXPECT_TRUE(database.GetPathForOrigin(kOrigin2, &path));
97 EXPECT_FALSE(path.empty()); 97 EXPECT_FALSE(path.empty());
98 } 98 }
99 99
100 TEST(SandboxPrioritizedOriginDatabaseTest, LostPrimaryOriginFileTest) { 100 TEST(SandboxPrioritizedOriginDatabaseTest, LostPrimaryOriginFileTest) {
101 base::ScopedTempDir dir; 101 base::ScopedTempDir dir;
102 base::FilePath path; 102 base::FilePath path;
103 ASSERT_TRUE(dir.CreateUniqueTempDir()); 103 ASSERT_TRUE(dir.CreateUniqueTempDir());
104 104
105 const std::string kOrigin1("origin1"); 105 const std::string kOrigin1("origin1");
106 const std::string kData("foo"); 106 const std::string kData("foo");
107 107
108 SandboxPrioritizedOriginDatabase database(dir.path(), NULL); 108 SandboxPrioritizedOriginDatabase database(dir.GetPath(), NULL);
109 109
110 EXPECT_TRUE(database.GetPrimaryOrigin().empty()); 110 EXPECT_TRUE(database.GetPrimaryOrigin().empty());
111 111
112 // Set the kOrigin1 as a parimary origin. 112 // Set the kOrigin1 as a parimary origin.
113 EXPECT_TRUE(database.InitializePrimaryOrigin(kOrigin1)); 113 EXPECT_TRUE(database.InitializePrimaryOrigin(kOrigin1));
114 EXPECT_EQ(kOrigin1, database.GetPrimaryOrigin()); 114 EXPECT_EQ(kOrigin1, database.GetPrimaryOrigin());
115 115
116 // Make sure it works. 116 // Make sure it works.
117 EXPECT_TRUE(database.HasOriginPath(kOrigin1)); 117 EXPECT_TRUE(database.HasOriginPath(kOrigin1));
118 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path)); 118 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path));
(...skipping 23 matching lines...) Expand all
142 const std::string kOrigin1("origin1"); 142 const std::string kOrigin1("origin1");
143 const std::string kOrigin2("origin2"); 143 const std::string kOrigin2("origin2");
144 const std::string kFakeDirectoryData1("0123456789"); 144 const std::string kFakeDirectoryData1("0123456789");
145 const std::string kFakeDirectoryData2("abcde"); 145 const std::string kFakeDirectoryData2("abcde");
146 base::FilePath old_dir_db_path1, old_dir_db_path2; 146 base::FilePath old_dir_db_path1, old_dir_db_path2;
147 base::FilePath path1, path2; 147 base::FilePath path1, path2;
148 148
149 // Initialize the directory with two origins using the regular 149 // Initialize the directory with two origins using the regular
150 // SandboxOriginDatabase. 150 // SandboxOriginDatabase.
151 { 151 {
152 SandboxOriginDatabase database_old(dir.path(), NULL); 152 SandboxOriginDatabase database_old(dir.GetPath(), NULL);
153 base::FilePath old_db_path = database_old.GetDatabasePath(); 153 base::FilePath old_db_path = database_old.GetDatabasePath();
154 EXPECT_FALSE(base::PathExists(old_db_path)); 154 EXPECT_FALSE(base::PathExists(old_db_path));
155 155
156 // Initialize paths for kOrigin1 and kOrigin2. 156 // Initialize paths for kOrigin1 and kOrigin2.
157 EXPECT_TRUE(database_old.GetPathForOrigin(kOrigin1, &path1)); 157 EXPECT_TRUE(database_old.GetPathForOrigin(kOrigin1, &path1));
158 EXPECT_FALSE(path1.empty()); 158 EXPECT_FALSE(path1.empty());
159 EXPECT_TRUE(database_old.GetPathForOrigin(kOrigin2, &path2)); 159 EXPECT_TRUE(database_old.GetPathForOrigin(kOrigin2, &path2));
160 EXPECT_FALSE(path2.empty()); 160 EXPECT_FALSE(path2.empty());
161 161
162 EXPECT_TRUE(base::DirectoryExists(old_db_path)); 162 EXPECT_TRUE(base::DirectoryExists(old_db_path));
163 163
164 // Populate the origin directory with some fake data. 164 // Populate the origin directory with some fake data.
165 old_dir_db_path1 = dir.path().Append(path1); 165 old_dir_db_path1 = dir.GetPath().Append(path1);
166 ASSERT_TRUE(base::CreateDirectory(old_dir_db_path1)); 166 ASSERT_TRUE(base::CreateDirectory(old_dir_db_path1));
167 EXPECT_EQ(static_cast<int>(kFakeDirectoryData1.size()), 167 EXPECT_EQ(static_cast<int>(kFakeDirectoryData1.size()),
168 base::WriteFile(old_dir_db_path1.AppendASCII("dummy"), 168 base::WriteFile(old_dir_db_path1.AppendASCII("dummy"),
169 kFakeDirectoryData1.data(), 169 kFakeDirectoryData1.data(),
170 kFakeDirectoryData1.size())); 170 kFakeDirectoryData1.size()));
171 old_dir_db_path2 = dir.path().Append(path2); 171 old_dir_db_path2 = dir.GetPath().Append(path2);
172 ASSERT_TRUE(base::CreateDirectory(old_dir_db_path2)); 172 ASSERT_TRUE(base::CreateDirectory(old_dir_db_path2));
173 EXPECT_EQ(static_cast<int>(kFakeDirectoryData2.size()), 173 EXPECT_EQ(static_cast<int>(kFakeDirectoryData2.size()),
174 base::WriteFile(old_dir_db_path2.AppendASCII("dummy"), 174 base::WriteFile(old_dir_db_path2.AppendASCII("dummy"),
175 kFakeDirectoryData2.data(), 175 kFakeDirectoryData2.data(),
176 kFakeDirectoryData2.size())); 176 kFakeDirectoryData2.size()));
177 } 177 }
178 178
179 // Re-open the directory using sandboxPrioritizedOriginDatabase. 179 // Re-open the directory using sandboxPrioritizedOriginDatabase.
180 SandboxPrioritizedOriginDatabase database(dir.path(), NULL); 180 SandboxPrioritizedOriginDatabase database(dir.GetPath(), NULL);
181 181
182 // Set the kOrigin1 as a parimary origin. 182 // Set the kOrigin1 as a parimary origin.
183 // (Trying to initialize another origin should fail). 183 // (Trying to initialize another origin should fail).
184 EXPECT_TRUE(database.InitializePrimaryOrigin(kOrigin1)); 184 EXPECT_TRUE(database.InitializePrimaryOrigin(kOrigin1));
185 EXPECT_FALSE(database.InitializePrimaryOrigin(kOrigin2)); 185 EXPECT_FALSE(database.InitializePrimaryOrigin(kOrigin2));
186 186
187 EXPECT_EQ(kOrigin1, database.GetPrimaryOrigin()); 187 EXPECT_EQ(kOrigin1, database.GetPrimaryOrigin());
188 188
189 // Regardless of whether the origin is registered as primary or not 189 // Regardless of whether the origin is registered as primary or not
190 // it should just work. 190 // it should just work.
191 EXPECT_TRUE(database.HasOriginPath(kOrigin1)); 191 EXPECT_TRUE(database.HasOriginPath(kOrigin1));
192 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path1)); 192 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path1));
193 EXPECT_TRUE(database.HasOriginPath(kOrigin2)); 193 EXPECT_TRUE(database.HasOriginPath(kOrigin2));
194 EXPECT_TRUE(database.GetPathForOrigin(kOrigin2, &path2)); 194 EXPECT_TRUE(database.GetPathForOrigin(kOrigin2, &path2));
195 195
196 // The directory content must be kept (or migrated if necessary) as well. 196 // The directory content must be kept (or migrated if necessary) as well.
197 std::string origin_db_data; 197 std::string origin_db_data;
198 base::FilePath dir_db_path = dir.path().Append(path1); 198 base::FilePath dir_db_path = dir.GetPath().Append(path1);
199 EXPECT_TRUE(base::PathExists(dir_db_path.AppendASCII("dummy"))); 199 EXPECT_TRUE(base::PathExists(dir_db_path.AppendASCII("dummy")));
200 EXPECT_TRUE(base::ReadFileToString( 200 EXPECT_TRUE(base::ReadFileToString(
201 dir_db_path.AppendASCII("dummy"), &origin_db_data)); 201 dir_db_path.AppendASCII("dummy"), &origin_db_data));
202 EXPECT_EQ(kFakeDirectoryData1, origin_db_data); 202 EXPECT_EQ(kFakeDirectoryData1, origin_db_data);
203 203
204 origin_db_data.clear(); 204 origin_db_data.clear();
205 dir_db_path = dir.path().Append(path2); 205 dir_db_path = dir.GetPath().Append(path2);
206 EXPECT_TRUE(base::PathExists(dir_db_path.AppendASCII("dummy"))); 206 EXPECT_TRUE(base::PathExists(dir_db_path.AppendASCII("dummy")));
207 EXPECT_TRUE(base::ReadFileToString( 207 EXPECT_TRUE(base::ReadFileToString(
208 dir_db_path.AppendASCII("dummy"), &origin_db_data)); 208 dir_db_path.AppendASCII("dummy"), &origin_db_data));
209 EXPECT_EQ(kFakeDirectoryData2, origin_db_data); 209 EXPECT_EQ(kFakeDirectoryData2, origin_db_data);
210 210
211 // After the migration the kOrigin1 directory database path must be gone. 211 // After the migration the kOrigin1 directory database path must be gone.
212 EXPECT_FALSE(base::PathExists(old_dir_db_path1)); 212 EXPECT_FALSE(base::PathExists(old_dir_db_path1));
213 EXPECT_TRUE(base::PathExists(old_dir_db_path2)); 213 EXPECT_TRUE(base::PathExists(old_dir_db_path2));
214 } 214 }
215 215
216 } // namespace content 216 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/fileapi/sandbox_origin_database_unittest.cc ('k') | content/browser/fileapi/transient_file_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698