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

Side by Side Diff: content/browser/indexed_db/indexed_db_backing_store_unittest.cc

Issue 810403004: [Storage] Blob Storage Refactoring pt 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: memory leak fixed Created 5 years, 11 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "content/browser/indexed_db/indexed_db_backing_store.h" 5 #include "content/browser/indexed_db/indexed_db_backing_store.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/files/file_util.h" 8 #include "base/files/file_util.h"
9 #include "base/files/scoped_temp_dir.h" 9 #include "base/files/scoped_temp_dir.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 ~TestCallback() override {} 375 ~TestCallback() override {}
376 376
377 private: 377 private:
378 DISALLOW_COPY_AND_ASSIGN(TestCallback); 378 DISALLOW_COPY_AND_ASSIGN(TestCallback);
379 }; 379 };
380 380
381 TEST_F(IndexedDBBackingStoreTest, PutGetConsistency) { 381 TEST_F(IndexedDBBackingStoreTest, PutGetConsistency) {
382 { 382 {
383 IndexedDBBackingStore::Transaction transaction1(backing_store_.get()); 383 IndexedDBBackingStore::Transaction transaction1(backing_store_.get());
384 transaction1.Begin(); 384 transaction1.Begin();
385 ScopedVector<storage::BlobDataHandle> handles; 385 ScopedVector<storage::BlobDataSnapshotHandle> handles;
386 IndexedDBBackingStore::RecordIdentifier record; 386 IndexedDBBackingStore::RecordIdentifier record;
387 leveldb::Status s = backing_store_->PutRecord( 387 leveldb::Status s = backing_store_->PutRecord(
388 &transaction1, 1, 1, m_key1, &m_value1, &handles, &record); 388 &transaction1, 1, 1, m_key1, &m_value1, &handles, &record);
389 EXPECT_TRUE(s.ok()); 389 EXPECT_TRUE(s.ok());
390 scoped_refptr<TestCallback> callback(new TestCallback()); 390 scoped_refptr<TestCallback> callback(new TestCallback());
391 EXPECT_TRUE(transaction1.CommitPhaseOne(callback).ok()); 391 EXPECT_TRUE(transaction1.CommitPhaseOne(callback).ok());
392 EXPECT_TRUE(callback->called); 392 EXPECT_TRUE(callback->called);
393 EXPECT_TRUE(callback->succeeded); 393 EXPECT_TRUE(callback->succeeded);
394 EXPECT_TRUE(transaction1.CommitPhaseTwo().ok()); 394 EXPECT_TRUE(transaction1.CommitPhaseTwo().ok());
395 } 395 }
(...skipping 11 matching lines...) Expand all
407 EXPECT_TRUE(callback->succeeded); 407 EXPECT_TRUE(callback->succeeded);
408 EXPECT_TRUE(transaction2.CommitPhaseTwo().ok()); 408 EXPECT_TRUE(transaction2.CommitPhaseTwo().ok());
409 EXPECT_EQ(m_value1.bits, result_value.bits); 409 EXPECT_EQ(m_value1.bits, result_value.bits);
410 } 410 }
411 } 411 }
412 412
413 TEST_F(IndexedDBBackingStoreTest, PutGetConsistencyWithBlobs) { 413 TEST_F(IndexedDBBackingStoreTest, PutGetConsistencyWithBlobs) {
414 { 414 {
415 IndexedDBBackingStore::Transaction transaction1(backing_store_.get()); 415 IndexedDBBackingStore::Transaction transaction1(backing_store_.get());
416 transaction1.Begin(); 416 transaction1.Begin();
417 ScopedVector<storage::BlobDataHandle> handles; 417 ScopedVector<storage::BlobDataSnapshotHandle> handles;
418 IndexedDBBackingStore::RecordIdentifier record; 418 IndexedDBBackingStore::RecordIdentifier record;
419 EXPECT_TRUE(backing_store_->PutRecord(&transaction1, 419 EXPECT_TRUE(backing_store_->PutRecord(&transaction1,
420 1, 420 1,
421 1, 421 1,
422 m_key3, 422 m_key3,
423 &m_value3, 423 &m_value3,
424 &handles, 424 &handles,
425 &record).ok()); 425 &record).ok());
426 scoped_refptr<TestCallback> callback(new TestCallback()); 426 scoped_refptr<TestCallback> callback(new TestCallback());
427 EXPECT_TRUE(transaction1.CommitPhaseOne(callback).ok()); 427 EXPECT_TRUE(transaction1.CommitPhaseOne(callback).ok());
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 blob_info0.push_back(blob0); 492 blob_info0.push_back(blob0);
493 blob_info1.push_back(blob1); 493 blob_info1.push_back(blob1);
494 blob_info2.push_back(blob2); 494 blob_info2.push_back(blob2);
495 blob_info3.push_back(blob3); 495 blob_info3.push_back(blob3);
496 IndexedDBValue value0 = IndexedDBValue("value0", blob_info0); 496 IndexedDBValue value0 = IndexedDBValue("value0", blob_info0);
497 IndexedDBValue value1 = IndexedDBValue("value1", blob_info1); 497 IndexedDBValue value1 = IndexedDBValue("value1", blob_info1);
498 IndexedDBValue value2 = IndexedDBValue("value2", blob_info2); 498 IndexedDBValue value2 = IndexedDBValue("value2", blob_info2);
499 IndexedDBValue value3 = IndexedDBValue("value3", blob_info3); 499 IndexedDBValue value3 = IndexedDBValue("value3", blob_info3);
500 IndexedDBBackingStore::Transaction transaction1(backing_store_.get()); 500 IndexedDBBackingStore::Transaction transaction1(backing_store_.get());
501 transaction1.Begin(); 501 transaction1.Begin();
502 ScopedVector<storage::BlobDataHandle> handles; 502 ScopedVector<storage::BlobDataSnapshotHandle> handles;
503 IndexedDBBackingStore::RecordIdentifier record; 503 IndexedDBBackingStore::RecordIdentifier record;
504 EXPECT_TRUE(backing_store_->PutRecord(&transaction1, 504 EXPECT_TRUE(backing_store_->PutRecord(&transaction1,
505 1, 505 1,
506 i + 1, 506 i + 1,
507 key0, 507 key0,
508 &value0, 508 &value0,
509 &handles, 509 &handles,
510 &record).ok()); 510 &record).ok());
511 EXPECT_TRUE(backing_store_->PutRecord(&transaction1, 511 EXPECT_TRUE(backing_store_->PutRecord(&transaction1,
512 1, 512 1,
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
582 blob_info0.push_back(blob0); 582 blob_info0.push_back(blob0);
583 blob_info1.push_back(blob1); 583 blob_info1.push_back(blob1);
584 blob_info2.push_back(blob2); 584 blob_info2.push_back(blob2);
585 blob_info3.push_back(blob3); 585 blob_info3.push_back(blob3);
586 IndexedDBValue value0 = IndexedDBValue("value0", blob_info0); 586 IndexedDBValue value0 = IndexedDBValue("value0", blob_info0);
587 IndexedDBValue value1 = IndexedDBValue("value1", blob_info1); 587 IndexedDBValue value1 = IndexedDBValue("value1", blob_info1);
588 IndexedDBValue value2 = IndexedDBValue("value2", blob_info2); 588 IndexedDBValue value2 = IndexedDBValue("value2", blob_info2);
589 IndexedDBValue value3 = IndexedDBValue("value3", blob_info3); 589 IndexedDBValue value3 = IndexedDBValue("value3", blob_info3);
590 IndexedDBBackingStore::Transaction transaction1(backing_store_.get()); 590 IndexedDBBackingStore::Transaction transaction1(backing_store_.get());
591 transaction1.Begin(); 591 transaction1.Begin();
592 ScopedVector<storage::BlobDataHandle> handles; 592 ScopedVector<storage::BlobDataSnapshotHandle> handles;
593 IndexedDBBackingStore::RecordIdentifier record; 593 IndexedDBBackingStore::RecordIdentifier record;
594 EXPECT_TRUE(backing_store_->PutRecord(&transaction1, 594 EXPECT_TRUE(backing_store_->PutRecord(&transaction1,
595 1, 595 1,
596 i + 1, 596 i + 1,
597 key0, 597 key0,
598 &value0, 598 &value0,
599 &handles, 599 &handles,
600 &record).ok()); 600 &record).ok());
601 EXPECT_TRUE(backing_store_->PutRecord(&transaction1, 601 EXPECT_TRUE(backing_store_->PutRecord(&transaction1,
602 1, 602 1,
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
641 EXPECT_TRUE(transaction2.CommitPhaseTwo().ok()); 641 EXPECT_TRUE(transaction2.CommitPhaseTwo().ok());
642 EXPECT_EQ(0UL, backing_store_->removals().size()); 642 EXPECT_EQ(0UL, backing_store_->removals().size());
643 } 643 }
644 } 644 }
645 } 645 }
646 646
647 TEST_F(IndexedDBBackingStoreTest, LiveBlobJournal) { 647 TEST_F(IndexedDBBackingStoreTest, LiveBlobJournal) {
648 { 648 {
649 IndexedDBBackingStore::Transaction transaction1(backing_store_.get()); 649 IndexedDBBackingStore::Transaction transaction1(backing_store_.get());
650 transaction1.Begin(); 650 transaction1.Begin();
651 ScopedVector<storage::BlobDataHandle> handles; 651 ScopedVector<storage::BlobDataSnapshotHandle> handles;
652 IndexedDBBackingStore::RecordIdentifier record; 652 IndexedDBBackingStore::RecordIdentifier record;
653 EXPECT_TRUE(backing_store_->PutRecord(&transaction1, 653 EXPECT_TRUE(backing_store_->PutRecord(&transaction1,
654 1, 654 1,
655 1, 655 1,
656 m_key3, 656 m_key3,
657 &m_value3, 657 &m_value3,
658 &handles, 658 &handles,
659 &record).ok()); 659 &record).ok());
660 scoped_refptr<TestCallback> callback(new TestCallback()); 660 scoped_refptr<TestCallback> callback(new TestCallback());
661 EXPECT_TRUE(transaction1.CommitPhaseOne(callback).ok()); 661 EXPECT_TRUE(transaction1.CommitPhaseOne(callback).ok());
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
720 const int64 high_index_id = 1ULL << 29; 720 const int64 high_index_id = 1ULL << 29;
721 721
722 const int64 invalid_high_index_id = 1ULL << 37; 722 const int64 invalid_high_index_id = 1ULL << 37;
723 723
724 const IndexedDBKey& index_key = m_key2; 724 const IndexedDBKey& index_key = m_key2;
725 std::string index_key_raw; 725 std::string index_key_raw;
726 EncodeIDBKey(index_key, &index_key_raw); 726 EncodeIDBKey(index_key, &index_key_raw);
727 { 727 {
728 IndexedDBBackingStore::Transaction transaction1(backing_store_.get()); 728 IndexedDBBackingStore::Transaction transaction1(backing_store_.get());
729 transaction1.Begin(); 729 transaction1.Begin();
730 ScopedVector<storage::BlobDataHandle> handles; 730 ScopedVector<storage::BlobDataSnapshotHandle> handles;
731 IndexedDBBackingStore::RecordIdentifier record; 731 IndexedDBBackingStore::RecordIdentifier record;
732 leveldb::Status s = backing_store_->PutRecord(&transaction1, 732 leveldb::Status s = backing_store_->PutRecord(&transaction1,
733 high_database_id, 733 high_database_id,
734 high_object_store_id, 734 high_object_store_id,
735 m_key1, 735 m_key1,
736 &m_value1, 736 &m_value1,
737 &handles, 737 &handles,
738 &record); 738 &record);
739 EXPECT_TRUE(s.ok()); 739 EXPECT_TRUE(s.ok());
740 740
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
809 const int64 database_id = 1; 809 const int64 database_id = 1;
810 const int64 object_store_id = 1; 810 const int64 object_store_id = 1;
811 const int64 index_id = kMinimumIndexId; 811 const int64 index_id = kMinimumIndexId;
812 const int64 invalid_low_index_id = 19; // index_ids must be > kMinimumIndexId 812 const int64 invalid_low_index_id = 19; // index_ids must be > kMinimumIndexId
813 813
814 IndexedDBValue result_value; 814 IndexedDBValue result_value;
815 815
816 IndexedDBBackingStore::Transaction transaction1(backing_store_.get()); 816 IndexedDBBackingStore::Transaction transaction1(backing_store_.get());
817 transaction1.Begin(); 817 transaction1.Begin();
818 818
819 ScopedVector<storage::BlobDataHandle> handles; 819 ScopedVector<storage::BlobDataSnapshotHandle> handles;
820 IndexedDBBackingStore::RecordIdentifier record; 820 IndexedDBBackingStore::RecordIdentifier record;
821 leveldb::Status s = backing_store_->PutRecord(&transaction1, 821 leveldb::Status s = backing_store_->PutRecord(&transaction1,
822 database_id, 822 database_id,
823 KeyPrefix::kInvalidId, 823 KeyPrefix::kInvalidId,
824 m_key1, 824 m_key1,
825 &m_value1, 825 &m_value1,
826 &handles, 826 &handles,
827 &record); 827 &record);
828 EXPECT_FALSE(s.ok()); 828 EXPECT_FALSE(s.ok());
829 s = backing_store_->PutRecord( 829 s = backing_store_->PutRecord(
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
1003 1003
1004 std::vector<base::string16> names = backing_store_->GetDatabaseNames(&s); 1004 std::vector<base::string16> names = backing_store_->GetDatabaseNames(&s);
1005 EXPECT_TRUE(s.ok()); 1005 EXPECT_TRUE(s.ok());
1006 EXPECT_EQ(names.size(), 1ULL); 1006 EXPECT_EQ(names.size(), 1ULL);
1007 EXPECT_EQ(names[0], db1_name); 1007 EXPECT_EQ(names[0], db1_name);
1008 } 1008 }
1009 1009
1010 } // namespace 1010 } // namespace
1011 1011
1012 } // namespace content 1012 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698