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

Side by Side Diff: content/browser/service_worker/service_worker_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 "content/browser/service_worker/service_worker_database.h" 5 #include "content/browser/service_worker/service_worker_database.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <string> 10 #include <string>
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 EXPECT_EQ(expected[i].size_bytes, actual[i].size_bytes); 83 EXPECT_EQ(expected[i].size_bytes, actual[i].size_bytes);
84 } 84 }
85 } 85 }
86 86
87 } // namespace 87 } // namespace
88 88
89 TEST(ServiceWorkerDatabaseTest, OpenDatabase) { 89 TEST(ServiceWorkerDatabaseTest, OpenDatabase) {
90 base::ScopedTempDir database_dir; 90 base::ScopedTempDir database_dir;
91 ASSERT_TRUE(database_dir.CreateUniqueTempDir()); 91 ASSERT_TRUE(database_dir.CreateUniqueTempDir());
92 std::unique_ptr<ServiceWorkerDatabase> database( 92 std::unique_ptr<ServiceWorkerDatabase> database(
93 CreateDatabase(database_dir.path())); 93 CreateDatabase(database_dir.GetPath()));
94 94
95 // Should be false because the database does not exist at the path. 95 // Should be false because the database does not exist at the path.
96 EXPECT_EQ(ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND, 96 EXPECT_EQ(ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND,
97 database->LazyOpen(false)); 97 database->LazyOpen(false));
98 98
99 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true)); 99 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true));
100 100
101 database.reset(CreateDatabase(database_dir.path())); 101 database.reset(CreateDatabase(database_dir.GetPath()));
102 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(false)); 102 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(false));
103 } 103 }
104 104
105 TEST(ServiceWorkerDatabaseTest, OpenDatabase_InMemory) { 105 TEST(ServiceWorkerDatabaseTest, OpenDatabase_InMemory) {
106 std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); 106 std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
107 107
108 // Should be false because the database does not exist in memory. 108 // Should be false because the database does not exist in memory.
109 EXPECT_EQ(ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND, 109 EXPECT_EQ(ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND,
110 database->LazyOpen(false)); 110 database->LazyOpen(false));
111 111
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 143
144 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 144 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
145 database->ReadDatabaseVersion(&db_version)); 145 database->ReadDatabaseVersion(&db_version));
146 EXPECT_LT(0, db_version); 146 EXPECT_LT(0, db_version);
147 } 147 }
148 148
149 TEST(ServiceWorkerDatabaseTest, DatabaseVersion_ObsoleteSchemaVersion) { 149 TEST(ServiceWorkerDatabaseTest, DatabaseVersion_ObsoleteSchemaVersion) {
150 base::ScopedTempDir database_dir; 150 base::ScopedTempDir database_dir;
151 ASSERT_TRUE(database_dir.CreateUniqueTempDir()); 151 ASSERT_TRUE(database_dir.CreateUniqueTempDir());
152 std::unique_ptr<ServiceWorkerDatabase> database( 152 std::unique_ptr<ServiceWorkerDatabase> database(
153 CreateDatabase(database_dir.path())); 153 CreateDatabase(database_dir.GetPath()));
154 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true)); 154 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true));
155 155
156 // First writing triggers database initialization and bumps the schema 156 // First writing triggers database initialization and bumps the schema
157 // version. 157 // version.
158 GURL origin("http://example.com"); 158 GURL origin("http://example.com");
159 std::vector<ServiceWorkerDatabase::ResourceRecord> resources; 159 std::vector<ServiceWorkerDatabase::ResourceRecord> resources;
160 resources.push_back(CreateResource(1, URL(origin, "/resource"), 10)); 160 resources.push_back(CreateResource(1, URL(origin, "/resource"), 10));
161 ServiceWorkerDatabase::RegistrationData deleted_version; 161 ServiceWorkerDatabase::RegistrationData deleted_version;
162 std::vector<int64_t> newly_purgeable_resources; 162 std::vector<int64_t> newly_purgeable_resources;
163 ServiceWorkerDatabase::RegistrationData data; 163 ServiceWorkerDatabase::RegistrationData data;
(...skipping 10 matching lines...) Expand all
174 int64_t old_db_version = 1; 174 int64_t old_db_version = 1;
175 leveldb::WriteBatch batch; 175 leveldb::WriteBatch batch;
176 batch.Put("INITDATA_DB_VERSION", base::Int64ToString(old_db_version)); 176 batch.Put("INITDATA_DB_VERSION", base::Int64ToString(old_db_version));
177 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, database->WriteBatch(&batch)); 177 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, database->WriteBatch(&batch));
178 db_version = -1; 178 db_version = -1;
179 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 179 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
180 database->ReadDatabaseVersion(&db_version)); 180 database->ReadDatabaseVersion(&db_version));
181 ASSERT_EQ(old_db_version, db_version); 181 ASSERT_EQ(old_db_version, db_version);
182 182
183 // Opening the database whose schema version is obsolete should fail. 183 // Opening the database whose schema version is obsolete should fail.
184 database.reset(CreateDatabase(database_dir.path())); 184 database.reset(CreateDatabase(database_dir.GetPath()));
185 EXPECT_EQ(ServiceWorkerDatabase::STATUS_ERROR_FAILED, 185 EXPECT_EQ(ServiceWorkerDatabase::STATUS_ERROR_FAILED,
186 database->LazyOpen(true)); 186 database->LazyOpen(true));
187 } 187 }
188 188
189 TEST(ServiceWorkerDatabaseTest, DatabaseVersion_CorruptedSchemaVersion) { 189 TEST(ServiceWorkerDatabaseTest, DatabaseVersion_CorruptedSchemaVersion) {
190 base::ScopedTempDir database_dir; 190 base::ScopedTempDir database_dir;
191 ASSERT_TRUE(database_dir.CreateUniqueTempDir()); 191 ASSERT_TRUE(database_dir.CreateUniqueTempDir());
192 std::unique_ptr<ServiceWorkerDatabase> database( 192 std::unique_ptr<ServiceWorkerDatabase> database(
193 CreateDatabase(database_dir.path())); 193 CreateDatabase(database_dir.GetPath()));
194 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true)); 194 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true));
195 195
196 // First writing triggers database initialization and bumps the schema 196 // First writing triggers database initialization and bumps the schema
197 // version. 197 // version.
198 GURL origin("http://example.com"); 198 GURL origin("http://example.com");
199 std::vector<ServiceWorkerDatabase::ResourceRecord> resources; 199 std::vector<ServiceWorkerDatabase::ResourceRecord> resources;
200 resources.push_back(CreateResource(1, URL(origin, "/resource"), 10)); 200 resources.push_back(CreateResource(1, URL(origin, "/resource"), 10));
201 ServiceWorkerDatabase::RegistrationData deleted_version; 201 ServiceWorkerDatabase::RegistrationData deleted_version;
202 std::vector<int64_t> newly_purgeable_resources; 202 std::vector<int64_t> newly_purgeable_resources;
203 ServiceWorkerDatabase::RegistrationData data; 203 ServiceWorkerDatabase::RegistrationData data;
204 data.resources_total_size_bytes = 10; 204 data.resources_total_size_bytes = 10;
205 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, 205 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
206 database->WriteRegistration(data, resources, &deleted_version, 206 database->WriteRegistration(data, resources, &deleted_version,
207 &newly_purgeable_resources)); 207 &newly_purgeable_resources));
208 int64_t db_version = -1; 208 int64_t db_version = -1;
209 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, 209 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
210 database->ReadDatabaseVersion(&db_version)); 210 database->ReadDatabaseVersion(&db_version));
211 ASSERT_LT(0, db_version); 211 ASSERT_LT(0, db_version);
212 212
213 // Emulate a corrupted schema version. 213 // Emulate a corrupted schema version.
214 int64_t corrupted_db_version = -10; 214 int64_t corrupted_db_version = -10;
215 leveldb::WriteBatch batch; 215 leveldb::WriteBatch batch;
216 batch.Put("INITDATA_DB_VERSION", base::Int64ToString(corrupted_db_version)); 216 batch.Put("INITDATA_DB_VERSION", base::Int64ToString(corrupted_db_version));
217 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, database->WriteBatch(&batch)); 217 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, database->WriteBatch(&batch));
218 db_version = -1; 218 db_version = -1;
219 EXPECT_EQ(ServiceWorkerDatabase::STATUS_ERROR_CORRUPTED, 219 EXPECT_EQ(ServiceWorkerDatabase::STATUS_ERROR_CORRUPTED,
220 database->ReadDatabaseVersion(&db_version)); 220 database->ReadDatabaseVersion(&db_version));
221 221
222 // Opening the database whose schema version is corrupted should fail. 222 // Opening the database whose schema version is corrupted should fail.
223 database.reset(CreateDatabase(database_dir.path())); 223 database.reset(CreateDatabase(database_dir.GetPath()));
224 EXPECT_EQ(ServiceWorkerDatabase::STATUS_ERROR_CORRUPTED, 224 EXPECT_EQ(ServiceWorkerDatabase::STATUS_ERROR_CORRUPTED,
225 database->LazyOpen(true)); 225 database->LazyOpen(true));
226 } 226 }
227 227
228 TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) { 228 TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) {
229 base::ScopedTempDir database_dir; 229 base::ScopedTempDir database_dir;
230 ASSERT_TRUE(database_dir.CreateUniqueTempDir()); 230 ASSERT_TRUE(database_dir.CreateUniqueTempDir());
231 std::unique_ptr<ServiceWorkerDatabase> database( 231 std::unique_ptr<ServiceWorkerDatabase> database(
232 CreateDatabase(database_dir.path())); 232 CreateDatabase(database_dir.GetPath()));
233 233
234 GURL origin("http://example.com"); 234 GURL origin("http://example.com");
235 235
236 // The database has never been used, so returns initial values. 236 // The database has never been used, so returns initial values.
237 AvailableIds ids; 237 AvailableIds ids;
238 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->GetNextAvailableIds( 238 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->GetNextAvailableIds(
239 &ids.reg_id, &ids.ver_id, &ids.res_id)); 239 &ids.reg_id, &ids.ver_id, &ids.res_id));
240 EXPECT_EQ(0, ids.reg_id); 240 EXPECT_EQ(0, ids.reg_id);
241 EXPECT_EQ(0, ids.ver_id); 241 EXPECT_EQ(0, ids.ver_id);
242 EXPECT_EQ(0, ids.res_id); 242 EXPECT_EQ(0, ids.res_id);
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 database->WriteRegistration(data2, resources2, &deleted_version, 310 database->WriteRegistration(data2, resources2, &deleted_version,
311 &newly_purgeable_resources)); 311 &newly_purgeable_resources));
312 312
313 // Same with resources. 313 // Same with resources.
314 int64_t kLowResourceId = 15; 314 int64_t kLowResourceId = 15;
315 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 315 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
316 database->WriteUncommittedResourceIds( 316 database->WriteUncommittedResourceIds(
317 std::set<int64_t>(&kLowResourceId, &kLowResourceId + 1))); 317 std::set<int64_t>(&kLowResourceId, &kLowResourceId + 1)));
318 318
319 // Close and reopen the database to verify the stored values. 319 // Close and reopen the database to verify the stored values.
320 database.reset(CreateDatabase(database_dir.path())); 320 database.reset(CreateDatabase(database_dir.GetPath()));
321 321
322 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->GetNextAvailableIds( 322 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->GetNextAvailableIds(
323 &ids.reg_id, &ids.ver_id, &ids.res_id)); 323 &ids.reg_id, &ids.ver_id, &ids.res_id));
324 EXPECT_EQ(101, ids.reg_id); 324 EXPECT_EQ(101, ids.reg_id);
325 EXPECT_EQ(201, ids.ver_id); 325 EXPECT_EQ(201, ids.ver_id);
326 EXPECT_EQ(21, ids.res_id); 326 EXPECT_EQ(21, ids.res_id);
327 } 327 }
328 328
329 TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) { 329 TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) {
330 std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); 330 std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
(...skipping 1297 matching lines...) Expand 10 before | Expand all | Expand 10 after
1628 ServiceWorkerDatabase::STATUS_OK, 1628 ServiceWorkerDatabase::STATUS_OK,
1629 database->ReadUserData(data3.registration_id, {"key6"}, &user_data_out)); 1629 database->ReadUserData(data3.registration_id, {"key6"}, &user_data_out));
1630 ASSERT_EQ(1u, user_data_out.size()); 1630 ASSERT_EQ(1u, user_data_out.size());
1631 EXPECT_EQ("data6", user_data_out[0]); 1631 EXPECT_EQ("data6", user_data_out[0]);
1632 } 1632 }
1633 1633
1634 TEST(ServiceWorkerDatabaseTest, DestroyDatabase) { 1634 TEST(ServiceWorkerDatabaseTest, DestroyDatabase) {
1635 base::ScopedTempDir database_dir; 1635 base::ScopedTempDir database_dir;
1636 ASSERT_TRUE(database_dir.CreateUniqueTempDir()); 1636 ASSERT_TRUE(database_dir.CreateUniqueTempDir());
1637 std::unique_ptr<ServiceWorkerDatabase> database( 1637 std::unique_ptr<ServiceWorkerDatabase> database(
1638 CreateDatabase(database_dir.path())); 1638 CreateDatabase(database_dir.GetPath()));
1639 1639
1640 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true)); 1640 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true));
1641 ASSERT_TRUE(base::DirectoryExists(database_dir.path())); 1641 ASSERT_TRUE(base::DirectoryExists(database_dir.GetPath()));
1642 1642
1643 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->DestroyDatabase()); 1643 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->DestroyDatabase());
1644 ASSERT_FALSE(base::DirectoryExists(database_dir.path())); 1644 ASSERT_FALSE(base::DirectoryExists(database_dir.GetPath()));
1645 } 1645 }
1646 1646
1647 TEST(ServiceWorkerDatabaseTest, GetOriginsWithForeignFetchRegistrations) { 1647 TEST(ServiceWorkerDatabaseTest, GetOriginsWithForeignFetchRegistrations) {
1648 std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); 1648 std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
1649 1649
1650 std::set<GURL> origins; 1650 std::set<GURL> origins;
1651 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 1651 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
1652 database->GetOriginsWithForeignFetchRegistrations(&origins)); 1652 database->GetOriginsWithForeignFetchRegistrations(&origins));
1653 EXPECT_TRUE(origins.empty()); 1653 EXPECT_TRUE(origins.empty());
1654 1654
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
1774 &deleted_version, 1774 &deleted_version,
1775 &newly_purgeable_resources)); 1775 &newly_purgeable_resources));
1776 1776
1777 origins.clear(); 1777 origins.clear();
1778 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 1778 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
1779 database->GetOriginsWithForeignFetchRegistrations(&origins)); 1779 database->GetOriginsWithForeignFetchRegistrations(&origins));
1780 EXPECT_EQ(0U, origins.size()); 1780 EXPECT_EQ(0U, origins.size());
1781 } 1781 }
1782 1782
1783 } // namespace content 1783 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698