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

Side by Side Diff: webkit/appcache/appcache_database_unittest.cc

Issue 8396013: AppCache INTERCEPT namespace. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years 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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "testing/gtest/include/gtest/gtest.h" 5 #include "testing/gtest/include/gtest/gtest.h"
6 6
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 #include "base/scoped_temp_dir.h" 8 #include "base/scoped_temp_dir.h"
9 #include "sql/connection.h" 9 #include "sql/connection.h"
10 #include "webkit/appcache/appcache_database.h" 10 #include "webkit/appcache/appcache_database.h"
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 cache_record.update_time = kZeroTime; 315 cache_record.update_time = kZeroTime;
316 EXPECT_TRUE(db.InsertCache(&cache_record)); 316 EXPECT_TRUE(db.InsertCache(&cache_record));
317 317
318 record = kZeroRecord; 318 record = kZeroRecord;
319 EXPECT_TRUE(db.FindGroupForCache(1, &record)); 319 EXPECT_TRUE(db.FindGroupForCache(1, &record));
320 EXPECT_EQ(1, record.group_id); 320 EXPECT_EQ(1, record.group_id);
321 EXPECT_EQ(kManifest2, record.manifest_url); 321 EXPECT_EQ(kManifest2, record.manifest_url);
322 EXPECT_EQ(kOrigin2, record.origin); 322 EXPECT_EQ(kOrigin2, record.origin);
323 } 323 }
324 324
325 TEST(AppCacheDatabaseTest, FallbackNameSpaceRecords) { 325 TEST(AppCacheDatabaseTest, NamespaceRecords) {
326 const FilePath kEmptyPath; 326 const FilePath kEmptyPath;
327 AppCacheDatabase db(kEmptyPath); 327 AppCacheDatabase db(kEmptyPath);
328 EXPECT_TRUE(db.LazyOpen(true)); 328 EXPECT_TRUE(db.LazyOpen(true));
329 329
330 scoped_refptr<TestErrorDelegate> error_delegate(new TestErrorDelegate); 330 scoped_refptr<TestErrorDelegate> error_delegate(new TestErrorDelegate);
331 db.db_->set_error_delegate(error_delegate); 331 db.db_->set_error_delegate(error_delegate);
332 332
333 const GURL kFooNameSpace1("http://foo/namespace1"); 333 const GURL kFooNameSpace1("http://foo/namespace1");
334 const GURL kFooNameSpace2("http://foo/namespace2"); 334 const GURL kFooNameSpace2("http://foo/namespace2");
335 const GURL kFooFallbackEntry("http://foo/entry"); 335 const GURL kFooFallbackEntry("http://foo/entry");
336 const GURL kFooOrigin(kFooNameSpace1.GetOrigin()); 336 const GURL kFooOrigin(kFooNameSpace1.GetOrigin());
337 const GURL kBarNameSpace1("http://bar/namespace1"); 337 const GURL kBarNameSpace1("http://bar/namespace1");
338 const GURL kBarNameSpace2("http://bar/namespace2"); 338 const GURL kBarNameSpace2("http://bar/namespace2");
339 const GURL kBarFallbackEntry("http://bar/entry"); 339 const GURL kBarFallbackEntry("http://bar/entry");
340 const GURL kBarOrigin(kBarNameSpace1.GetOrigin()); 340 const GURL kBarOrigin(kBarNameSpace1.GetOrigin());
341 341
342 const AppCacheDatabase::FallbackNameSpaceRecord kZeroRecord; 342 const AppCacheDatabase::NamespaceRecord kZeroRecord;
343 AppCacheDatabase::FallbackNameSpaceRecord record; 343 AppCacheDatabase::NamespaceRecord record;
344 std::vector<AppCacheDatabase::FallbackNameSpaceRecord> records; 344 std::vector<AppCacheDatabase::NamespaceRecord> intercepts;
345 std::vector<AppCacheDatabase::NamespaceRecord> records;
jennb 2011/12/05 23:23:07 Rename to fallbacks?
michaeln 2011/12/06 19:41:24 Done.
345 346
346 // Behavior with an empty table 347 // Behavior with an empty table
347 EXPECT_TRUE(db.FindFallbackNameSpacesForCache(1, &records)); 348 EXPECT_TRUE(db.FindNamespacesForCache(1, &intercepts, &records));
348 EXPECT_TRUE(records.empty()); 349 EXPECT_TRUE(records.empty());
349 EXPECT_TRUE(db.FindFallbackNameSpacesForOrigin(kFooOrigin, &records)); 350 EXPECT_TRUE(db.FindNamespacesForOrigin(kFooOrigin, &intercepts, &records));
350 EXPECT_TRUE(records.empty()); 351 EXPECT_TRUE(records.empty());
351 EXPECT_TRUE(db.DeleteFallbackNameSpacesForCache(1)); 352 EXPECT_TRUE(db.DeleteNamespacesForCache(1));
352 353
353 // Two records for two differenent caches in the Foo origin. 354 // Two records for two differenent caches in the Foo origin.
354 record.cache_id = 1; 355 record.cache_id = 1;
355 record.origin = kFooOrigin; 356 record.origin = kFooOrigin;
356 record.namespace_url = kFooNameSpace1; 357 record.namespace_url = kFooNameSpace1;
357 record.fallback_entry_url = kFooFallbackEntry; 358 record.target_url = kFooFallbackEntry;
358 EXPECT_TRUE(db.InsertFallbackNameSpace(&record)); 359 EXPECT_TRUE(db.InsertNamespace(&record));
359 EXPECT_FALSE(db.InsertFallbackNameSpace(&record)); 360 EXPECT_FALSE(db.InsertNamespace(&record));
360 361
361 record.cache_id = 2; 362 record.cache_id = 2;
362 record.origin = kFooOrigin; 363 record.origin = kFooOrigin;
363 record.namespace_url = kFooNameSpace2; 364 record.namespace_url = kFooNameSpace2;
364 record.fallback_entry_url = kFooFallbackEntry; 365 record.target_url = kFooFallbackEntry;
365 EXPECT_TRUE(db.InsertFallbackNameSpace(&record)); 366 EXPECT_TRUE(db.InsertNamespace(&record));
366 367
367 records.clear(); 368 records.clear();
368 EXPECT_TRUE(db.FindFallbackNameSpacesForCache(1, &records)); 369 EXPECT_TRUE(db.FindNamespacesForCache(1, &intercepts, &records));
369 EXPECT_EQ(1U, records.size()); 370 EXPECT_EQ(1U, records.size());
370 EXPECT_EQ(1, records[0].cache_id); 371 EXPECT_EQ(1, records[0].cache_id);
371 EXPECT_EQ(kFooOrigin, records[0].origin); 372 EXPECT_EQ(kFooOrigin, records[0].origin);
372 EXPECT_EQ(kFooNameSpace1, records[0].namespace_url); 373 EXPECT_EQ(kFooNameSpace1, records[0].namespace_url);
373 EXPECT_EQ(kFooFallbackEntry, records[0].fallback_entry_url); 374 EXPECT_EQ(kFooFallbackEntry, records[0].target_url);
374 375
375 records.clear(); 376 records.clear();
376 EXPECT_TRUE(db.FindFallbackNameSpacesForCache(2, &records)); 377 EXPECT_TRUE(db.FindNamespacesForCache(2, &intercepts, &records));
377 EXPECT_EQ(1U, records.size()); 378 EXPECT_EQ(1U, records.size());
378 EXPECT_EQ(2, records[0].cache_id); 379 EXPECT_EQ(2, records[0].cache_id);
379 EXPECT_EQ(kFooOrigin, records[0].origin); 380 EXPECT_EQ(kFooOrigin, records[0].origin);
380 EXPECT_EQ(kFooNameSpace2, records[0].namespace_url); 381 EXPECT_EQ(kFooNameSpace2, records[0].namespace_url);
381 EXPECT_EQ(kFooFallbackEntry, records[0].fallback_entry_url); 382 EXPECT_EQ(kFooFallbackEntry, records[0].target_url);
382 383
383 records.clear(); 384 records.clear();
384 EXPECT_TRUE(db.FindFallbackNameSpacesForOrigin(kFooOrigin, &records)); 385 EXPECT_TRUE(db.FindNamespacesForOrigin(kFooOrigin, &intercepts, &records));
385 EXPECT_EQ(2U, records.size()); 386 EXPECT_EQ(2U, records.size());
386 EXPECT_EQ(1, records[0].cache_id); 387 EXPECT_EQ(1, records[0].cache_id);
387 EXPECT_EQ(kFooOrigin, records[0].origin); 388 EXPECT_EQ(kFooOrigin, records[0].origin);
388 EXPECT_EQ(kFooNameSpace1, records[0].namespace_url); 389 EXPECT_EQ(kFooNameSpace1, records[0].namespace_url);
389 EXPECT_EQ(kFooFallbackEntry, records[0].fallback_entry_url); 390 EXPECT_EQ(kFooFallbackEntry, records[0].target_url);
390 EXPECT_EQ(2, records[1].cache_id); 391 EXPECT_EQ(2, records[1].cache_id);
391 EXPECT_EQ(kFooOrigin, records[1].origin); 392 EXPECT_EQ(kFooOrigin, records[1].origin);
392 EXPECT_EQ(kFooNameSpace2, records[1].namespace_url); 393 EXPECT_EQ(kFooNameSpace2, records[1].namespace_url);
393 EXPECT_EQ(kFooFallbackEntry, records[1].fallback_entry_url); 394 EXPECT_EQ(kFooFallbackEntry, records[1].target_url);
394 395
395 EXPECT_TRUE(db.DeleteFallbackNameSpacesForCache(1)); 396 EXPECT_TRUE(db.DeleteNamespacesForCache(1));
396 records.clear(); 397 records.clear();
397 EXPECT_TRUE(db.FindFallbackNameSpacesForOrigin(kFooOrigin, &records)); 398 EXPECT_TRUE(db.FindNamespacesForOrigin(kFooOrigin, &intercepts, &records));
398 EXPECT_EQ(1U, records.size()); 399 EXPECT_EQ(1U, records.size());
399 EXPECT_EQ(2, records[0].cache_id); 400 EXPECT_EQ(2, records[0].cache_id);
400 EXPECT_EQ(kFooOrigin, records[0].origin); 401 EXPECT_EQ(kFooOrigin, records[0].origin);
401 EXPECT_EQ(kFooNameSpace2, records[0].namespace_url); 402 EXPECT_EQ(kFooNameSpace2, records[0].namespace_url);
402 EXPECT_EQ(kFooFallbackEntry, records[0].fallback_entry_url); 403 EXPECT_EQ(kFooFallbackEntry, records[0].target_url);
403 404
404 // Two more records for the same cache in the Bar origin. 405 // Two more records for the same cache in the Bar origin.
405 record.cache_id = 3; 406 record.cache_id = 3;
406 record.origin = kBarOrigin; 407 record.origin = kBarOrigin;
407 record.namespace_url = kBarNameSpace1; 408 record.namespace_url = kBarNameSpace1;
408 record.fallback_entry_url = kBarFallbackEntry; 409 record.target_url = kBarFallbackEntry;
409 EXPECT_TRUE(db.InsertFallbackNameSpace(&record)); 410 EXPECT_TRUE(db.InsertNamespace(&record));
410 411
411 record.cache_id = 3; 412 record.cache_id = 3;
412 record.origin = kBarOrigin; 413 record.origin = kBarOrigin;
413 record.namespace_url = kBarNameSpace2; 414 record.namespace_url = kBarNameSpace2;
414 record.fallback_entry_url = kBarFallbackEntry; 415 record.target_url = kBarFallbackEntry;
415 EXPECT_TRUE(db.InsertFallbackNameSpace(&record)); 416 EXPECT_TRUE(db.InsertNamespace(&record));
416 417
417 records.clear(); 418 records.clear();
418 EXPECT_TRUE(db.FindFallbackNameSpacesForCache(3, &records)); 419 EXPECT_TRUE(db.FindNamespacesForCache(3, &intercepts, &records));
419 EXPECT_EQ(2U, records.size()); 420 EXPECT_EQ(2U, records.size());
420 records.clear(); 421 records.clear();
421 EXPECT_TRUE(db.FindFallbackNameSpacesForOrigin(kBarOrigin, &records)); 422 EXPECT_TRUE(db.FindNamespacesForOrigin(kBarOrigin, &intercepts, &records));
422 EXPECT_EQ(2U, records.size()); 423 EXPECT_EQ(2U, records.size());
423 } 424 }
424 425
425 TEST(AppCacheDatabaseTest, OnlineWhiteListRecords) { 426 TEST(AppCacheDatabaseTest, OnlineWhiteListRecords) {
426 const FilePath kEmptyPath; 427 const FilePath kEmptyPath;
427 AppCacheDatabase db(kEmptyPath); 428 AppCacheDatabase db(kEmptyPath);
428 EXPECT_TRUE(db.LazyOpen(true)); 429 EXPECT_TRUE(db.LazyOpen(true));
429 430
430 scoped_refptr<TestErrorDelegate> error_delegate(new TestErrorDelegate); 431 scoped_refptr<TestErrorDelegate> error_delegate(new TestErrorDelegate);
431 db.db_->set_error_delegate(error_delegate); 432 db.db_->set_error_delegate(error_delegate);
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
607 EXPECT_EQ(1U, cache_records.size()); 608 EXPECT_EQ(1U, cache_records.size());
608 609
609 std::map<GURL, int64> usage_map; 610 std::map<GURL, int64> usage_map;
610 EXPECT_TRUE(db.GetAllOriginUsage(&usage_map)); 611 EXPECT_TRUE(db.GetAllOriginUsage(&usage_map));
611 EXPECT_EQ(2U, usage_map.size()); 612 EXPECT_EQ(2U, usage_map.size());
612 EXPECT_EQ(1100, usage_map[kOrigin]); 613 EXPECT_EQ(1100, usage_map[kOrigin]);
613 EXPECT_EQ(5000, usage_map[kOtherOrigin]); 614 EXPECT_EQ(5000, usage_map[kOtherOrigin]);
614 } 615 }
615 616
616 } // namespace appcache 617 } // namespace appcache
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698