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

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

Issue 287843002: ServiceWorker: DB functions should return status code instead of boolean (2) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 7 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
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/scoped_temp_dir.h" 9 #include "base/files/scoped_temp_dir.h"
10 #include "base/stl_util.h" 10 #include "base/stl_util.h"
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 73
74 } // namespace 74 } // namespace
75 75
76 TEST(ServiceWorkerDatabaseTest, OpenDatabase) { 76 TEST(ServiceWorkerDatabaseTest, OpenDatabase) {
77 base::ScopedTempDir database_dir; 77 base::ScopedTempDir database_dir;
78 ASSERT_TRUE(database_dir.CreateUniqueTempDir()); 78 ASSERT_TRUE(database_dir.CreateUniqueTempDir());
79 scoped_ptr<ServiceWorkerDatabase> database( 79 scoped_ptr<ServiceWorkerDatabase> database(
80 CreateDatabase(database_dir.path())); 80 CreateDatabase(database_dir.path()));
81 81
82 // Should be false because the database does not exist at the path. 82 // Should be false because the database does not exist at the path.
83 EXPECT_FALSE(database->LazyOpen(false)); 83 EXPECT_EQ(ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND,
84 database->LazyOpen(false));
84 85
85 EXPECT_TRUE(database->LazyOpen(true)); 86 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true));
86 87
87 database.reset(CreateDatabase(database_dir.path())); 88 database.reset(CreateDatabase(database_dir.path()));
88 EXPECT_TRUE(database->LazyOpen(false)); 89 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(false));
89 } 90 }
90 91
91 TEST(ServiceWorkerDatabaseTest, OpenDatabase_InMemory) { 92 TEST(ServiceWorkerDatabaseTest, OpenDatabase_InMemory) {
92 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); 93 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
93 94
94 // Should be false because the database does not exist in memory. 95 // Should be false because the database does not exist in memory.
95 EXPECT_FALSE(database->LazyOpen(false)); 96 EXPECT_EQ(ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND,
97 database->LazyOpen(false));
96 98
97 EXPECT_TRUE(database->LazyOpen(true)); 99 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true));
98 database.reset(CreateDatabaseInMemory()); 100 database.reset(CreateDatabaseInMemory());
99 101
100 // Should be false because the database is not persistent. 102 // Should be false because the database is not persistent.
101 EXPECT_FALSE(database->LazyOpen(false)); 103 EXPECT_EQ(ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND,
104 database->LazyOpen(false));
102 } 105 }
103 106
104 TEST(ServiceWorkerDatabaseTest, DatabaseVersion) { 107 TEST(ServiceWorkerDatabaseTest, DatabaseVersion) {
105 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); 108 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
106 EXPECT_TRUE(database->LazyOpen(true)); 109 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true));
107 110
108 // Opening a new database does not write anything, so its schema version 111 // Opening a new database does not write anything, so its schema version
109 // should be 0. 112 // should be 0.
110 int64 db_version = -1; 113 int64 db_version = -1;
111 EXPECT_TRUE(database->ReadDatabaseVersion(&db_version)); 114 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
115 database->ReadDatabaseVersion(&db_version));
112 EXPECT_EQ(0u, db_version); 116 EXPECT_EQ(0u, db_version);
113 117
114 // First writing triggers database initialization and bumps the schema 118 // First writing triggers database initialization and bumps the schema
115 // version. 119 // version.
116 std::vector<ServiceWorkerDatabase::ResourceRecord> resources; 120 std::vector<ServiceWorkerDatabase::ResourceRecord> resources;
117 ServiceWorkerDatabase::RegistrationData data; 121 ServiceWorkerDatabase::RegistrationData data;
118 ASSERT_TRUE(database->WriteRegistration(data, resources)); 122 ASSERT_TRUE(database->WriteRegistration(data, resources));
119 123
120 EXPECT_TRUE(database->ReadDatabaseVersion(&db_version)); 124 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
125 database->ReadDatabaseVersion(&db_version));
121 EXPECT_LT(0, db_version); 126 EXPECT_LT(0, db_version);
122 } 127 }
123 128
124 TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) { 129 TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) {
125 base::ScopedTempDir database_dir; 130 base::ScopedTempDir database_dir;
126 ASSERT_TRUE(database_dir.CreateUniqueTempDir()); 131 ASSERT_TRUE(database_dir.CreateUniqueTempDir());
127 scoped_ptr<ServiceWorkerDatabase> database( 132 scoped_ptr<ServiceWorkerDatabase> database(
128 CreateDatabase(database_dir.path())); 133 CreateDatabase(database_dir.path()));
129 134
130 GURL origin("http://example.com"); 135 GURL origin("http://example.com");
131 136
132 // The database has never been used, so returns initial values. 137 // The database has never been used, so returns initial values.
133 AvailableIds ids; 138 AvailableIds ids;
134 EXPECT_EQ(SERVICE_WORKER_OK, database->GetNextAvailableIds( 139 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->GetNextAvailableIds(
135 &ids.reg_id, &ids.ver_id, &ids.res_id)); 140 &ids.reg_id, &ids.ver_id, &ids.res_id));
136 EXPECT_EQ(0, ids.reg_id); 141 EXPECT_EQ(0, ids.reg_id);
137 EXPECT_EQ(0, ids.ver_id); 142 EXPECT_EQ(0, ids.ver_id);
138 EXPECT_EQ(0, ids.res_id); 143 EXPECT_EQ(0, ids.res_id);
139 144
140 ASSERT_TRUE(database->LazyOpen(true)); 145 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true));
141 EXPECT_EQ(SERVICE_WORKER_OK, database->GetNextAvailableIds( 146 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->GetNextAvailableIds(
142 &ids.reg_id, &ids.ver_id, &ids.res_id)); 147 &ids.reg_id, &ids.ver_id, &ids.res_id));
143 EXPECT_EQ(0, ids.reg_id); 148 EXPECT_EQ(0, ids.reg_id);
144 EXPECT_EQ(0, ids.ver_id); 149 EXPECT_EQ(0, ids.ver_id);
145 EXPECT_EQ(0, ids.res_id); 150 EXPECT_EQ(0, ids.res_id);
146 151
147 // Writing a registration bumps the next available ids. 152 // Writing a registration bumps the next available ids.
148 std::vector<Resource> resources; 153 std::vector<Resource> resources;
149 RegistrationData data1; 154 RegistrationData data1;
150 data1.registration_id = 100; 155 data1.registration_id = 100;
151 data1.scope = URL(origin, "/foo"); 156 data1.scope = URL(origin, "/foo");
152 data1.script = URL(origin, "/script1.js"); 157 data1.script = URL(origin, "/script1.js");
153 data1.version_id = 200; 158 data1.version_id = 200;
154 ASSERT_TRUE(database->WriteRegistration(data1, resources)); 159 ASSERT_TRUE(database->WriteRegistration(data1, resources));
155 160
156 EXPECT_EQ(SERVICE_WORKER_OK, database->GetNextAvailableIds( 161 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->GetNextAvailableIds(
157 &ids.reg_id, &ids.ver_id, &ids.res_id)); 162 &ids.reg_id, &ids.ver_id, &ids.res_id));
158 EXPECT_EQ(101, ids.reg_id); 163 EXPECT_EQ(101, ids.reg_id);
159 EXPECT_EQ(201, ids.ver_id); 164 EXPECT_EQ(201, ids.ver_id);
160 EXPECT_EQ(0, ids.res_id); 165 EXPECT_EQ(0, ids.res_id);
161 166
162 // Writing a registration whose ids are lower than the stored ones should not 167 // Writing a registration whose ids are lower than the stored ones should not
163 // bump the next available ids. 168 // bump the next available ids.
164 RegistrationData data2; 169 RegistrationData data2;
165 data2.registration_id = 10; 170 data2.registration_id = 10;
166 data2.scope = URL(origin, "/bar"); 171 data2.scope = URL(origin, "/bar");
167 data2.script = URL(origin, "/script2.js"); 172 data2.script = URL(origin, "/script2.js");
168 data2.version_id = 20; 173 data2.version_id = 20;
169 ASSERT_TRUE(database->WriteRegistration(data2, resources)); 174 ASSERT_TRUE(database->WriteRegistration(data2, resources));
170 175
171 // Close and reopen the database to verify the stored values. 176 // Close and reopen the database to verify the stored values.
172 database.reset(CreateDatabase(database_dir.path())); 177 database.reset(CreateDatabase(database_dir.path()));
173 178
174 EXPECT_EQ(SERVICE_WORKER_OK, database->GetNextAvailableIds( 179 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->GetNextAvailableIds(
175 &ids.reg_id, &ids.ver_id, &ids.res_id)); 180 &ids.reg_id, &ids.ver_id, &ids.res_id));
176 EXPECT_EQ(101, ids.reg_id); 181 EXPECT_EQ(101, ids.reg_id);
177 EXPECT_EQ(201, ids.ver_id); 182 EXPECT_EQ(201, ids.ver_id);
178 EXPECT_EQ(0, ids.res_id); 183 EXPECT_EQ(0, ids.res_id);
179 } 184 }
180 185
181 TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) { 186 TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) {
182 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); 187 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
183 188
184 std::set<GURL> origins; 189 std::set<GURL> origins;
185 EXPECT_EQ(SERVICE_WORKER_OK, database->GetOriginsWithRegistrations(&origins)); 190 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
191 database->GetOriginsWithRegistrations(&origins));
186 EXPECT_TRUE(origins.empty()); 192 EXPECT_TRUE(origins.empty());
187 193
188 std::vector<Resource> resources; 194 std::vector<Resource> resources;
189 195
190 GURL origin1("http://example.com"); 196 GURL origin1("http://example.com");
191 RegistrationData data1; 197 RegistrationData data1;
192 data1.registration_id = 123; 198 data1.registration_id = 123;
193 data1.scope = URL(origin1, "/foo"); 199 data1.scope = URL(origin1, "/foo");
194 data1.script = URL(origin1, "/script1.js"); 200 data1.script = URL(origin1, "/script1.js");
195 data1.version_id = 456; 201 data1.version_id = 456;
(...skipping 17 matching lines...) Expand all
213 219
214 // |origin3| has two registrations. 220 // |origin3| has two registrations.
215 RegistrationData data4; 221 RegistrationData data4;
216 data4.registration_id = 456; 222 data4.registration_id = 456;
217 data4.scope = URL(origin3, "/fuga"); 223 data4.scope = URL(origin3, "/fuga");
218 data4.script = URL(origin3, "/script4.js"); 224 data4.script = URL(origin3, "/script4.js");
219 data4.version_id = 789; 225 data4.version_id = 789;
220 ASSERT_TRUE(database->WriteRegistration(data4, resources)); 226 ASSERT_TRUE(database->WriteRegistration(data4, resources));
221 227
222 origins.clear(); 228 origins.clear();
223 EXPECT_EQ(SERVICE_WORKER_OK, database->GetOriginsWithRegistrations(&origins)); 229 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
230 database->GetOriginsWithRegistrations(&origins));
224 EXPECT_EQ(3U, origins.size()); 231 EXPECT_EQ(3U, origins.size());
225 EXPECT_TRUE(ContainsKey(origins, origin1)); 232 EXPECT_TRUE(ContainsKey(origins, origin1));
226 EXPECT_TRUE(ContainsKey(origins, origin2)); 233 EXPECT_TRUE(ContainsKey(origins, origin2));
227 EXPECT_TRUE(ContainsKey(origins, origin3)); 234 EXPECT_TRUE(ContainsKey(origins, origin3));
228 235
229 // |origin3| has another registration, so should not remove it from the 236 // |origin3| has another registration, so should not remove it from the
230 // unique origin list. 237 // unique origin list.
231 ASSERT_TRUE(database->DeleteRegistration(data4.registration_id, origin3)); 238 ASSERT_TRUE(database->DeleteRegistration(data4.registration_id, origin3));
232 239
233 origins.clear(); 240 origins.clear();
234 EXPECT_EQ(SERVICE_WORKER_OK, database->GetOriginsWithRegistrations(&origins)); 241 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
242 database->GetOriginsWithRegistrations(&origins));
235 EXPECT_EQ(3U, origins.size()); 243 EXPECT_EQ(3U, origins.size());
236 EXPECT_TRUE(ContainsKey(origins, origin1)); 244 EXPECT_TRUE(ContainsKey(origins, origin1));
237 EXPECT_TRUE(ContainsKey(origins, origin2)); 245 EXPECT_TRUE(ContainsKey(origins, origin2));
238 EXPECT_TRUE(ContainsKey(origins, origin3)); 246 EXPECT_TRUE(ContainsKey(origins, origin3));
239 247
240 // |origin3| should be removed from the unique origin list. 248 // |origin3| should be removed from the unique origin list.
241 ASSERT_TRUE(database->DeleteRegistration(data3.registration_id, origin3)); 249 ASSERT_TRUE(database->DeleteRegistration(data3.registration_id, origin3));
242 250
243 origins.clear(); 251 origins.clear();
244 EXPECT_EQ(SERVICE_WORKER_OK, database->GetOriginsWithRegistrations(&origins)); 252 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
253 database->GetOriginsWithRegistrations(&origins));
245 EXPECT_EQ(2U, origins.size()); 254 EXPECT_EQ(2U, origins.size());
246 EXPECT_TRUE(ContainsKey(origins, origin1)); 255 EXPECT_TRUE(ContainsKey(origins, origin1));
247 EXPECT_TRUE(ContainsKey(origins, origin2)); 256 EXPECT_TRUE(ContainsKey(origins, origin2));
248 } 257 }
249 258
250 TEST(ServiceWorkerDatabaseTest, GetRegistrationsForOrigin) { 259 TEST(ServiceWorkerDatabaseTest, GetRegistrationsForOrigin) {
251 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); 260 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
252 261
253 GURL origin1("http://example.com"); 262 GURL origin1("http://example.com");
254 GURL origin2("https://www.example.com"); 263 GURL origin2("https://www.example.com");
255 GURL origin3("https://example.org"); 264 GURL origin3("https://example.org");
256 265
257 std::vector<RegistrationData> registrations; 266 std::vector<RegistrationData> registrations;
258 EXPECT_TRUE(database->GetRegistrationsForOrigin(origin1, &registrations)); 267 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
268 database->GetRegistrationsForOrigin(origin1, &registrations));
259 EXPECT_TRUE(registrations.empty()); 269 EXPECT_TRUE(registrations.empty());
260 270
261 std::vector<Resource> resources; 271 std::vector<Resource> resources;
262 272
263 RegistrationData data1; 273 RegistrationData data1;
264 data1.registration_id = 100; 274 data1.registration_id = 100;
265 data1.scope = URL(origin1, "/foo"); 275 data1.scope = URL(origin1, "/foo");
266 data1.script = URL(origin1, "/script1.js"); 276 data1.script = URL(origin1, "/script1.js");
267 data1.version_id = 1000; 277 data1.version_id = 1000;
268 ASSERT_TRUE(database->WriteRegistration(data1, resources)); 278 ASSERT_TRUE(database->WriteRegistration(data1, resources));
(...skipping 14 matching lines...) Expand all
283 293
284 // |origin3| has two registrations. 294 // |origin3| has two registrations.
285 RegistrationData data4; 295 RegistrationData data4;
286 data4.registration_id = 400; 296 data4.registration_id = 400;
287 data4.scope = URL(origin3, "/fuga"); 297 data4.scope = URL(origin3, "/fuga");
288 data4.script = URL(origin3, "/script4.js"); 298 data4.script = URL(origin3, "/script4.js");
289 data4.version_id = 4000; 299 data4.version_id = 4000;
290 ASSERT_TRUE(database->WriteRegistration(data4, resources)); 300 ASSERT_TRUE(database->WriteRegistration(data4, resources));
291 301
292 registrations.clear(); 302 registrations.clear();
293 EXPECT_TRUE(database->GetRegistrationsForOrigin(origin3, &registrations)); 303 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
304 database->GetRegistrationsForOrigin(origin3, &registrations));
294 EXPECT_EQ(2U, registrations.size()); 305 EXPECT_EQ(2U, registrations.size());
295 VerifyRegistrationData(data3, registrations[0]); 306 VerifyRegistrationData(data3, registrations[0]);
296 VerifyRegistrationData(data4, registrations[1]); 307 VerifyRegistrationData(data4, registrations[1]);
297 } 308 }
298 309
299 TEST(ServiceWorkerDatabaseTest, GetAllRegistrations) { 310 TEST(ServiceWorkerDatabaseTest, GetAllRegistrations) {
300 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); 311 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
301 312
302 std::vector<RegistrationData> registrations; 313 std::vector<RegistrationData> registrations;
303 EXPECT_TRUE(database->GetAllRegistrations(&registrations)); 314 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
315 database->GetAllRegistrations(&registrations));
304 EXPECT_TRUE(registrations.empty()); 316 EXPECT_TRUE(registrations.empty());
305 317
306 std::vector<Resource> resources; 318 std::vector<Resource> resources;
307 319
308 GURL origin1("http://www1.example.com"); 320 GURL origin1("http://www1.example.com");
309 RegistrationData data1; 321 RegistrationData data1;
310 data1.registration_id = 100; 322 data1.registration_id = 100;
311 data1.scope = URL(origin1, "/foo"); 323 data1.scope = URL(origin1, "/foo");
312 data1.script = URL(origin1, "/script1.js"); 324 data1.script = URL(origin1, "/script1.js");
313 data1.version_id = 1000; 325 data1.version_id = 1000;
(...skipping 17 matching lines...) Expand all
331 343
332 // |origin3| has two registrations. 344 // |origin3| has two registrations.
333 RegistrationData data4; 345 RegistrationData data4;
334 data4.registration_id = 400; 346 data4.registration_id = 400;
335 data4.scope = URL(origin3, "/fuga"); 347 data4.scope = URL(origin3, "/fuga");
336 data4.script = URL(origin3, "/script4.js"); 348 data4.script = URL(origin3, "/script4.js");
337 data4.version_id = 4000; 349 data4.version_id = 4000;
338 ASSERT_TRUE(database->WriteRegistration(data4, resources)); 350 ASSERT_TRUE(database->WriteRegistration(data4, resources));
339 351
340 registrations.clear(); 352 registrations.clear();
341 EXPECT_TRUE(database->GetAllRegistrations(&registrations)); 353 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
354 database->GetAllRegistrations(&registrations));
342 EXPECT_EQ(4U, registrations.size()); 355 EXPECT_EQ(4U, registrations.size());
343 VerifyRegistrationData(data1, registrations[0]); 356 VerifyRegistrationData(data1, registrations[0]);
344 VerifyRegistrationData(data2, registrations[1]); 357 VerifyRegistrationData(data2, registrations[1]);
345 VerifyRegistrationData(data3, registrations[2]); 358 VerifyRegistrationData(data3, registrations[2]);
346 VerifyRegistrationData(data4, registrations[3]); 359 VerifyRegistrationData(data4, registrations[3]);
347 } 360 }
348 361
349 TEST(ServiceWorkerDatabaseTest, Registration_Basic) { 362 TEST(ServiceWorkerDatabaseTest, Registration_Basic) {
350 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); 363 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
351 364
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after
721 734
722 std::vector<Resource> resources3; 735 std::vector<Resource> resources3;
723 resources3.push_back(CreateResource(5, URL(origin2, "/resource5"))); 736 resources3.push_back(CreateResource(5, URL(origin2, "/resource5")));
724 resources3.push_back(CreateResource(6, URL(origin2, "/resource6"))); 737 resources3.push_back(CreateResource(6, URL(origin2, "/resource6")));
725 ASSERT_TRUE(database->WriteRegistration(data3, resources3)); 738 ASSERT_TRUE(database->WriteRegistration(data3, resources3));
726 739
727 EXPECT_TRUE(database->DeleteAllDataForOrigin(origin1)); 740 EXPECT_TRUE(database->DeleteAllDataForOrigin(origin1));
728 741
729 // |origin1| should be removed from the unique origin list. 742 // |origin1| should be removed from the unique origin list.
730 std::set<GURL> unique_origins; 743 std::set<GURL> unique_origins;
731 EXPECT_EQ(SERVICE_WORKER_OK, 744 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
732 database->GetOriginsWithRegistrations(&unique_origins)); 745 database->GetOriginsWithRegistrations(&unique_origins));
733 EXPECT_EQ(1u, unique_origins.size()); 746 EXPECT_EQ(1u, unique_origins.size());
734 EXPECT_TRUE(ContainsKey(unique_origins, origin2)); 747 EXPECT_TRUE(ContainsKey(unique_origins, origin2));
735 748
736 // The registrations for |origin1| should be removed. 749 // The registrations for |origin1| should be removed.
737 std::vector<RegistrationData> registrations; 750 std::vector<RegistrationData> registrations;
738 EXPECT_TRUE(database->GetRegistrationsForOrigin(origin1, &registrations)); 751 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
752 database->GetRegistrationsForOrigin(origin1, &registrations));
739 EXPECT_TRUE(registrations.empty()); 753 EXPECT_TRUE(registrations.empty());
740 754
741 // The registration for |origin2| should not be removed. 755 // The registration for |origin2| should not be removed.
742 RegistrationData data_out; 756 RegistrationData data_out;
743 std::vector<Resource> resources_out; 757 std::vector<Resource> resources_out;
744 EXPECT_TRUE(database->ReadRegistration( 758 EXPECT_TRUE(database->ReadRegistration(
745 data3.registration_id, origin2, &data_out, &resources_out)); 759 data3.registration_id, origin2, &data_out, &resources_out));
746 VerifyRegistrationData(data3, data_out); 760 VerifyRegistrationData(data3, data_out);
747 VerifyResourceRecords(resources3, resources_out); 761 VerifyResourceRecords(resources3, resources_out);
748 762
749 // The resources associated with |origin1| should be purgeable. 763 // The resources associated with |origin1| should be purgeable.
750 std::set<int64> purgeable_ids_out; 764 std::set<int64> purgeable_ids_out;
751 EXPECT_TRUE(database->GetPurgeableResourceIds(&purgeable_ids_out)); 765 EXPECT_TRUE(database->GetPurgeableResourceIds(&purgeable_ids_out));
752 EXPECT_EQ(4u, purgeable_ids_out.size()); 766 EXPECT_EQ(4u, purgeable_ids_out.size());
753 EXPECT_TRUE(ContainsKey(purgeable_ids_out, 1)); 767 EXPECT_TRUE(ContainsKey(purgeable_ids_out, 1));
754 EXPECT_TRUE(ContainsKey(purgeable_ids_out, 2)); 768 EXPECT_TRUE(ContainsKey(purgeable_ids_out, 2));
755 EXPECT_TRUE(ContainsKey(purgeable_ids_out, 3)); 769 EXPECT_TRUE(ContainsKey(purgeable_ids_out, 3));
756 EXPECT_TRUE(ContainsKey(purgeable_ids_out, 4)); 770 EXPECT_TRUE(ContainsKey(purgeable_ids_out, 4));
757 } 771 }
758 772
759 } // namespace content 773 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698