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

Side by Side Diff: content/browser/service_worker/service_worker_database_unittest.cc

Issue 1152543002: ServiceWorker: Migrate the script cache backend from BlockFile to Simple (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remake Created 5 years, 6 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 <string> 7 #include <string>
8 8
9 #include "base/files/file_util.h" 9 #include "base/files/file_util.h"
10 #include "base/files/scoped_temp_dir.h" 10 #include "base/files/scoped_temp_dir.h"
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 data.resources_total_size_bytes = 10; 130 data.resources_total_size_bytes = 10;
131 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, 131 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
132 database->WriteRegistration( 132 database->WriteRegistration(
133 data, resources, &deleted_version, &newly_purgeable_resources)); 133 data, resources, &deleted_version, &newly_purgeable_resources));
134 134
135 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 135 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
136 database->ReadDatabaseVersion(&db_version)); 136 database->ReadDatabaseVersion(&db_version));
137 EXPECT_LT(0, db_version); 137 EXPECT_LT(0, db_version);
138 } 138 }
139 139
140 TEST(ServiceWorkerDatabaseTest, DiskCacheMigrationState) {
141 GURL origin("http://example.com");
142 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
143
144 // An empty database should return DISKCACHE_NOT_USED.
145 ServiceWorkerDatabase::DiskCacheMigrationState state =
146 ServiceWorkerDatabase::DISKCACHE_UNKNOWN_STATE;
147 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
148 database->ReadDiskCacheMigrationState(&state));
149 EXPECT_EQ(ServiceWorkerDatabase::DISKCACHE_NOT_USED, state);
150
151 // Add a registration to the database.
152 std::vector<ServiceWorkerDatabase::ResourceRecord> resources;
153 ServiceWorkerDatabase::RegistrationData deleted_version;
154 std::vector<int64> newly_purgeable_resources;
155 ServiceWorkerDatabase::RegistrationData data;
156 data.registration_id = 100;
157 data.scope = URL(origin, "/foo");
158 data.script = URL(origin, "/script.js");
159 data.version_id = 200;
160 data.resources_total_size_bytes = 300;
161 resources.push_back(CreateResource(1, data.script, 300));
162 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
163 database->WriteRegistration(data, resources, &deleted_version,
164 &newly_purgeable_resources));
165
166 state = ServiceWorkerDatabase::DISKCACHE_UNKNOWN_STATE;
167 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
168 database->ReadDiskCacheMigrationState(&state));
169 EXPECT_EQ(ServiceWorkerDatabase::DISKCACHE_NEEDS_TO_MIGRATE, state);
170
171 state = ServiceWorkerDatabase::DISKCACHE_UNKNOWN_STATE;
172 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
173 database->WriteDiskCacheMigrationState(
174 ServiceWorkerDatabase::DISKCACHE_NEEDS_TO_DELETE_OLD));
175 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
176 database->ReadDiskCacheMigrationState(&state));
177 EXPECT_EQ(ServiceWorkerDatabase::DISKCACHE_NEEDS_TO_DELETE_OLD, state);
178
179 state = ServiceWorkerDatabase::DISKCACHE_UNKNOWN_STATE;
180 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
181 database->WriteDiskCacheMigrationState(
182 ServiceWorkerDatabase::DISKCACHE_MIGRATED));
183 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
184 database->ReadDiskCacheMigrationState(&state));
185 EXPECT_EQ(ServiceWorkerDatabase::DISKCACHE_MIGRATED, state);
186 }
187
140 TEST(ServiceWorkerDatabaseTest, UpgradeSchemaToVersion2) { 188 TEST(ServiceWorkerDatabaseTest, UpgradeSchemaToVersion2) {
141 base::ScopedTempDir database_dir; 189 base::ScopedTempDir database_dir;
142 ASSERT_TRUE(database_dir.CreateUniqueTempDir()); 190 ASSERT_TRUE(database_dir.CreateUniqueTempDir());
143 scoped_ptr<ServiceWorkerDatabase> database( 191 scoped_ptr<ServiceWorkerDatabase> database(
144 CreateDatabase(database_dir.path())); 192 CreateDatabase(database_dir.path()));
145 193
146 GURL origin("http://example.com"); 194 GURL origin("http://example.com");
147 195
148 // Add a registration to the database. 196 // Add a registration to the database.
149 std::vector<ServiceWorkerDatabase::ResourceRecord> resources; 197 std::vector<ServiceWorkerDatabase::ResourceRecord> resources;
(...skipping 1422 matching lines...) Expand 10 before | Expand all | Expand 10 after
1572 CreateDatabase(database_dir.path())); 1620 CreateDatabase(database_dir.path()));
1573 1621
1574 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true)); 1622 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true));
1575 ASSERT_TRUE(base::DirectoryExists(database_dir.path())); 1623 ASSERT_TRUE(base::DirectoryExists(database_dir.path()));
1576 1624
1577 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->DestroyDatabase()); 1625 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->DestroyDatabase());
1578 ASSERT_FALSE(base::DirectoryExists(database_dir.path())); 1626 ASSERT_FALSE(base::DirectoryExists(database_dir.path()));
1579 } 1627 }
1580 1628
1581 } // namespace content 1629 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698