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

Side by Side Diff: webkit/browser/fileapi/sandbox_prioritized_origin_database_unittest.cc

Issue 145693005: [FileAPI] Replace default leveldb::Env with leveldb::MemEnv in tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 10 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/browser/fileapi/sandbox_prioritized_origin_database.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/file_util.h" 6 #include "base/file_util.h"
7 #include "base/files/scoped_temp_dir.h" 7 #include "base/files/scoped_temp_dir.h"
8 #include "base/platform_file.h" 8 #include "base/platform_file.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "webkit/browser/fileapi/sandbox_origin_database.h" 10 #include "webkit/browser/fileapi/sandbox_origin_database.h"
11 #include "webkit/browser/fileapi/sandbox_prioritized_origin_database.h" 11 #include "webkit/browser/fileapi/sandbox_prioritized_origin_database.h"
12 12
13 namespace fileapi { 13 namespace fileapi {
14 14
15 TEST(SandboxPrioritizedOriginDatabaseTest, BasicTest) { 15 TEST(SandboxPrioritizedOriginDatabaseTest, BasicTest) {
16 base::ScopedTempDir dir; 16 base::ScopedTempDir dir;
17 base::FilePath path; 17 base::FilePath path;
18 ASSERT_TRUE(dir.CreateUniqueTempDir()); 18 ASSERT_TRUE(dir.CreateUniqueTempDir());
19 19
20 const std::string kOrigin1("origin1"); 20 const std::string kOrigin1("origin1");
21 const std::string kOrigin2("origin2"); 21 const std::string kOrigin2("origin2");
22 22
23 SandboxPrioritizedOriginDatabase database(dir.path()); 23 SandboxPrioritizedOriginDatabase database(dir.path(), NULL);
24 24
25 // Set the kOrigin1 as a parimary origin. 25 // Set the kOrigin1 as a parimary origin.
26 EXPECT_TRUE(database.InitializePrimaryOrigin(kOrigin1)); 26 EXPECT_TRUE(database.InitializePrimaryOrigin(kOrigin1));
27 27
28 // Add two origins. 28 // Add two origins.
29 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path)); 29 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path));
30 EXPECT_TRUE(database.GetPathForOrigin(kOrigin2, &path)); 30 EXPECT_TRUE(database.GetPathForOrigin(kOrigin2, &path));
31 31
32 // Verify them. 32 // Verify them.
33 EXPECT_TRUE(database.HasOriginPath(kOrigin1)); 33 EXPECT_TRUE(database.HasOriginPath(kOrigin1));
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 } 67 }
68 68
69 TEST(SandboxPrioritizedOriginDatabaseTest, SetPrimaryLaterTest) { 69 TEST(SandboxPrioritizedOriginDatabaseTest, SetPrimaryLaterTest) {
70 base::ScopedTempDir dir; 70 base::ScopedTempDir dir;
71 base::FilePath path; 71 base::FilePath path;
72 ASSERT_TRUE(dir.CreateUniqueTempDir()); 72 ASSERT_TRUE(dir.CreateUniqueTempDir());
73 73
74 const std::string kOrigin1("origin1"); 74 const std::string kOrigin1("origin1");
75 const std::string kOrigin2("origin2"); 75 const std::string kOrigin2("origin2");
76 76
77 SandboxPrioritizedOriginDatabase database(dir.path()); 77 SandboxPrioritizedOriginDatabase database(dir.path(), NULL);
78 78
79 EXPECT_TRUE(database.GetPrimaryOrigin().empty()); 79 EXPECT_TRUE(database.GetPrimaryOrigin().empty());
80 80
81 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path)); 81 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path));
82 EXPECT_TRUE(database.GetPathForOrigin(kOrigin2, &path)); 82 EXPECT_TRUE(database.GetPathForOrigin(kOrigin2, &path));
83 83
84 // Set the kOrigin1 as a parimary origin. 84 // Set the kOrigin1 as a parimary origin.
85 EXPECT_TRUE(database.InitializePrimaryOrigin(kOrigin1)); 85 EXPECT_TRUE(database.InitializePrimaryOrigin(kOrigin1));
86 EXPECT_EQ(kOrigin1, database.GetPrimaryOrigin()); 86 EXPECT_EQ(kOrigin1, database.GetPrimaryOrigin());
87 87
88 // Regardless of whether it is initialized as primary or not 88 // Regardless of whether it is initialized as primary or not
89 // they should just work. 89 // they should just work.
90 EXPECT_TRUE(database.HasOriginPath(kOrigin1)); 90 EXPECT_TRUE(database.HasOriginPath(kOrigin1));
91 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path)); 91 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path));
92 EXPECT_FALSE(path.empty()); 92 EXPECT_FALSE(path.empty());
93 EXPECT_TRUE(database.HasOriginPath(kOrigin2)); 93 EXPECT_TRUE(database.HasOriginPath(kOrigin2));
94 EXPECT_TRUE(database.GetPathForOrigin(kOrigin2, &path)); 94 EXPECT_TRUE(database.GetPathForOrigin(kOrigin2, &path));
95 EXPECT_FALSE(path.empty()); 95 EXPECT_FALSE(path.empty());
96 } 96 }
97 97
98 TEST(SandboxPrioritizedOriginDatabaseTest, LostPrimaryOriginFileTest) { 98 TEST(SandboxPrioritizedOriginDatabaseTest, LostPrimaryOriginFileTest) {
99 base::ScopedTempDir dir; 99 base::ScopedTempDir dir;
100 base::FilePath path; 100 base::FilePath path;
101 ASSERT_TRUE(dir.CreateUniqueTempDir()); 101 ASSERT_TRUE(dir.CreateUniqueTempDir());
102 102
103 const std::string kOrigin1("origin1"); 103 const std::string kOrigin1("origin1");
104 const std::string kData("foo"); 104 const std::string kData("foo");
105 105
106 SandboxPrioritizedOriginDatabase database(dir.path()); 106 SandboxPrioritizedOriginDatabase database(dir.path(), NULL);
107 107
108 EXPECT_TRUE(database.GetPrimaryOrigin().empty()); 108 EXPECT_TRUE(database.GetPrimaryOrigin().empty());
109 109
110 // Set the kOrigin1 as a parimary origin. 110 // Set the kOrigin1 as a parimary origin.
111 EXPECT_TRUE(database.InitializePrimaryOrigin(kOrigin1)); 111 EXPECT_TRUE(database.InitializePrimaryOrigin(kOrigin1));
112 EXPECT_EQ(kOrigin1, database.GetPrimaryOrigin()); 112 EXPECT_EQ(kOrigin1, database.GetPrimaryOrigin());
113 113
114 // Make sure it works. 114 // Make sure it works.
115 EXPECT_TRUE(database.HasOriginPath(kOrigin1)); 115 EXPECT_TRUE(database.HasOriginPath(kOrigin1));
116 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path)); 116 EXPECT_TRUE(database.GetPathForOrigin(kOrigin1, &path));
(...skipping 24 matching lines...) Expand all
141 const std::string kOrigin1("origin1"); 141 const std::string kOrigin1("origin1");
142 const std::string kOrigin2("origin2"); 142 const std::string kOrigin2("origin2");
143 const std::string kFakeDirectoryData1("0123456789"); 143 const std::string kFakeDirectoryData1("0123456789");
144 const std::string kFakeDirectoryData2("abcde"); 144 const std::string kFakeDirectoryData2("abcde");
145 base::FilePath old_dir_db_path1, old_dir_db_path2; 145 base::FilePath old_dir_db_path1, old_dir_db_path2;
146 base::FilePath path1, path2; 146 base::FilePath path1, path2;
147 147
148 // Initialize the directory with two origins using the regular 148 // Initialize the directory with two origins using the regular
149 // SandboxOriginDatabase. 149 // SandboxOriginDatabase.
150 { 150 {
151 SandboxOriginDatabase database_old(dir.path()); 151 SandboxOriginDatabase database_old(dir.path(), NULL);
152 base::FilePath old_db_path = database_old.GetDatabasePath(); 152 base::FilePath old_db_path = database_old.GetDatabasePath();
153 EXPECT_FALSE(base::PathExists(old_db_path)); 153 EXPECT_FALSE(base::PathExists(old_db_path));
154 154
155 // Initialize paths for kOrigin1 and kOrigin2. 155 // Initialize paths for kOrigin1 and kOrigin2.
156 EXPECT_TRUE(database_old.GetPathForOrigin(kOrigin1, &path1)); 156 EXPECT_TRUE(database_old.GetPathForOrigin(kOrigin1, &path1));
157 EXPECT_FALSE(path1.empty()); 157 EXPECT_FALSE(path1.empty());
158 EXPECT_TRUE(database_old.GetPathForOrigin(kOrigin2, &path2)); 158 EXPECT_TRUE(database_old.GetPathForOrigin(kOrigin2, &path2));
159 EXPECT_FALSE(path2.empty()); 159 EXPECT_FALSE(path2.empty());
160 160
161 EXPECT_TRUE(base::DirectoryExists(old_db_path)); 161 EXPECT_TRUE(base::DirectoryExists(old_db_path));
162 162
163 // Populate the origin directory with some fake data. 163 // Populate the origin directory with some fake data.
164 old_dir_db_path1 = dir.path().Append(path1); 164 old_dir_db_path1 = dir.path().Append(path1);
165 ASSERT_TRUE(base::CreateDirectory(old_dir_db_path1)); 165 ASSERT_TRUE(base::CreateDirectory(old_dir_db_path1));
166 EXPECT_EQ(static_cast<int>(kFakeDirectoryData1.size()), 166 EXPECT_EQ(static_cast<int>(kFakeDirectoryData1.size()),
167 file_util::WriteFile(old_dir_db_path1.AppendASCII("dummy"), 167 file_util::WriteFile(old_dir_db_path1.AppendASCII("dummy"),
168 kFakeDirectoryData1.data(), 168 kFakeDirectoryData1.data(),
169 kFakeDirectoryData1.size())); 169 kFakeDirectoryData1.size()));
170 old_dir_db_path2 = dir.path().Append(path2); 170 old_dir_db_path2 = dir.path().Append(path2);
171 ASSERT_TRUE(base::CreateDirectory(old_dir_db_path2)); 171 ASSERT_TRUE(base::CreateDirectory(old_dir_db_path2));
172 EXPECT_EQ(static_cast<int>(kFakeDirectoryData2.size()), 172 EXPECT_EQ(static_cast<int>(kFakeDirectoryData2.size()),
173 file_util::WriteFile(old_dir_db_path2.AppendASCII("dummy"), 173 file_util::WriteFile(old_dir_db_path2.AppendASCII("dummy"),
174 kFakeDirectoryData2.data(), 174 kFakeDirectoryData2.data(),
175 kFakeDirectoryData2.size())); 175 kFakeDirectoryData2.size()));
176 } 176 }
177 177
178 // Re-open the directory using sandboxPrioritizedOriginDatabase. 178 // Re-open the directory using sandboxPrioritizedOriginDatabase.
179 SandboxPrioritizedOriginDatabase database(dir.path()); 179 SandboxPrioritizedOriginDatabase database(dir.path(), NULL);
180 180
181 // Set the kOrigin1 as a parimary origin. 181 // Set the kOrigin1 as a parimary origin.
182 // (Trying to initialize another origin should fail). 182 // (Trying to initialize another origin should fail).
183 EXPECT_TRUE(database.InitializePrimaryOrigin(kOrigin1)); 183 EXPECT_TRUE(database.InitializePrimaryOrigin(kOrigin1));
184 EXPECT_FALSE(database.InitializePrimaryOrigin(kOrigin2)); 184 EXPECT_FALSE(database.InitializePrimaryOrigin(kOrigin2));
185 185
186 EXPECT_EQ(kOrigin1, database.GetPrimaryOrigin()); 186 EXPECT_EQ(kOrigin1, database.GetPrimaryOrigin());
187 187
188 // Regardless of whether the origin is registered as primary or not 188 // Regardless of whether the origin is registered as primary or not
189 // it should just work. 189 // it should just work.
(...skipping 16 matching lines...) Expand all
206 EXPECT_TRUE(base::ReadFileToString( 206 EXPECT_TRUE(base::ReadFileToString(
207 dir_db_path.AppendASCII("dummy"), &origin_db_data)); 207 dir_db_path.AppendASCII("dummy"), &origin_db_data));
208 EXPECT_EQ(kFakeDirectoryData2, origin_db_data); 208 EXPECT_EQ(kFakeDirectoryData2, origin_db_data);
209 209
210 // After the migration the kOrigin1 directory database path must be gone. 210 // After the migration the kOrigin1 directory database path must be gone.
211 EXPECT_FALSE(base::PathExists(old_dir_db_path1)); 211 EXPECT_FALSE(base::PathExists(old_dir_db_path1));
212 EXPECT_TRUE(base::PathExists(old_dir_db_path2)); 212 EXPECT_TRUE(base::PathExists(old_dir_db_path2));
213 } 213 }
214 214
215 } // namespace fileapi 215 } // namespace fileapi
OLDNEW
« no previous file with comments | « webkit/browser/fileapi/sandbox_prioritized_origin_database.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698