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

Unified Diff: chrome/browser/sync_file_system/drive_backend/metadata_database_index_unittest.cc

Issue 446893003: [SyncFS] Ensure to pass DB in some utilities (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: work for a nit Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/sync_file_system/drive_backend/metadata_database_index.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/sync_file_system/drive_backend/metadata_database_index_unittest.cc
diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database_index_unittest.cc b/chrome/browser/sync_file_system/drive_backend/metadata_database_index_unittest.cc
index 25a60aed3d5cbe29f514d0373681e3e98fa7f8e7..f10bf710fcafd072a822f7f764c5eddd34712aba 100644
--- a/chrome/browser/sync_file_system/drive_backend/metadata_database_index_unittest.cc
+++ b/chrome/browser/sync_file_system/drive_backend/metadata_database_index_unittest.cc
@@ -6,9 +6,13 @@
#include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants.h"
#include "chrome/browser/sync_file_system/drive_backend/drive_backend_test_util.h"
+#include "chrome/browser/sync_file_system/drive_backend/leveldb_wrapper.h"
#include "chrome/browser/sync_file_system/drive_backend/metadata_database.h"
#include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
+#include "third_party/leveldatabase/src/include/leveldb/db.h"
+#include "third_party/leveldatabase/src/include/leveldb/env.h"
namespace sync_file_system {
namespace drive_backend {
@@ -60,78 +64,99 @@ scoped_ptr<DatabaseContents> CreateTestDatabaseContents() {
} // namespace
-TEST(MetadataDatabaseIndexTest, GetEntryTest) {
- scoped_ptr<MetadataDatabaseIndex> index =
- MetadataDatabaseIndex::CreateForTesting(
- CreateTestDatabaseContents().get());
+class MetadataDatabaseIndexTest : public testing::Test {
+ public:
+ virtual void SetUp() OVERRIDE {
+ in_memory_env_.reset(leveldb::NewMemEnv(leveldb::Env::Default()));
+ InitializeLevelDB();
+ contents_ = CreateTestDatabaseContents();
+ index_ = MetadataDatabaseIndex::CreateForTesting(contents_.get(),
+ db_.get());
+ }
+
+ MetadataDatabaseIndex* index() { return index_.get(); }
+
+ private:
+ void InitializeLevelDB() {
+ leveldb::DB* db = NULL;
+ leveldb::Options options;
+ options.create_if_missing = true;
+ options.max_open_files = 0; // Use minimum.
+ options.env = in_memory_env_.get();
+ leveldb::Status status = leveldb::DB::Open(options, "", &db);
+ ASSERT_TRUE(status.ok());
+
+ db_.reset(new LevelDBWrapper(make_scoped_ptr(db)));
+ }
+
+ scoped_ptr<DatabaseContents> contents_;
+ scoped_ptr<MetadataDatabaseIndex> index_;
+
+ scoped_ptr<leveldb::Env> in_memory_env_;
+ scoped_ptr<LevelDBWrapper> db_;
+};
+
+TEST_F(MetadataDatabaseIndexTest, GetEntryTest) {
FileTracker tracker;
- EXPECT_FALSE(index->GetFileTracker(kInvalidTrackerID, NULL));
- ASSERT_TRUE(index->GetFileTracker(kFileTrackerID, &tracker));
+ EXPECT_FALSE(index()->GetFileTracker(kInvalidTrackerID, NULL));
+ ASSERT_TRUE(index()->GetFileTracker(kFileTrackerID, &tracker));
EXPECT_EQ(kFileTrackerID, tracker.tracker_id());
EXPECT_EQ("file_id", tracker.file_id());
FileMetadata metadata;
- EXPECT_FALSE(index->GetFileMetadata(std::string(), NULL));
- ASSERT_TRUE(index->GetFileMetadata("file_id", &metadata));
+ EXPECT_FALSE(index()->GetFileMetadata(std::string(), NULL));
+ ASSERT_TRUE(index()->GetFileMetadata("file_id", &metadata));
EXPECT_EQ("file_id", metadata.file_id());
}
-TEST(MetadataDatabaseIndexTest, IndexLookUpTest) {
- scoped_ptr<MetadataDatabaseIndex> index =
- MetadataDatabaseIndex::CreateForTesting(
- CreateTestDatabaseContents().get());
-
- TrackerIDSet trackers = index->GetFileTrackerIDsByFileID("file_id");
+TEST_F(MetadataDatabaseIndexTest, IndexLookUpTest) {
+ TrackerIDSet trackers = index()->GetFileTrackerIDsByFileID("file_id");
EXPECT_EQ(1u, trackers.size());
EXPECT_TRUE(trackers.has_active());
EXPECT_EQ(kFileTrackerID, trackers.active_tracker());
- int64 app_root_tracker_id = index->GetAppRootTracker("app_id");
+ int64 app_root_tracker_id = index()->GetAppRootTracker("app_id");
EXPECT_EQ(kAppRootTrackerID, app_root_tracker_id);
- trackers = index->GetFileTrackerIDsByParentAndTitle(
+ trackers = index()->GetFileTrackerIDsByParentAndTitle(
app_root_tracker_id, "file");
EXPECT_EQ(1u, trackers.size());
EXPECT_TRUE(trackers.has_active());
EXPECT_EQ(kFileTrackerID, trackers.active_tracker());
- EXPECT_TRUE(index->PickMultiTrackerFileID().empty());
+ EXPECT_TRUE(index()->PickMultiTrackerFileID().empty());
EXPECT_EQ(kInvalidTrackerID,
- index->PickMultiBackingFilePath().parent_id);
- EXPECT_EQ(kPlaceholderTrackerID, index->PickDirtyTracker());
+ index()->PickMultiBackingFilePath().parent_id);
+ EXPECT_EQ(kPlaceholderTrackerID, index()->PickDirtyTracker());
}
-TEST(MetadataDatabaseIndexTest, UpdateTest) {
- scoped_ptr<MetadataDatabaseIndex> index =
- MetadataDatabaseIndex::CreateForTesting(
- CreateTestDatabaseContents().get());
-
- index->DemoteDirtyTracker(kPlaceholderTrackerID);
- EXPECT_EQ(kInvalidTrackerID, index->PickDirtyTracker());
- index->PromoteDemotedDirtyTrackers();
- EXPECT_EQ(kPlaceholderTrackerID, index->PickDirtyTracker());
+TEST_F(MetadataDatabaseIndexTest, UpdateTest) {
+ index()->DemoteDirtyTracker(kPlaceholderTrackerID);
+ EXPECT_EQ(kInvalidTrackerID, index()->PickDirtyTracker());
+ index()->PromoteDemotedDirtyTrackers();
+ EXPECT_EQ(kPlaceholderTrackerID, index()->PickDirtyTracker());
FileMetadata metadata;
- ASSERT_TRUE(index->GetFileMetadata("file_id", &metadata));
+ ASSERT_TRUE(index()->GetFileMetadata("file_id", &metadata));
FileTracker app_root_tracker;
- ASSERT_TRUE(index->GetFileTracker(kAppRootTrackerID, &app_root_tracker));
+ ASSERT_TRUE(index()->GetFileTracker(kAppRootTrackerID, &app_root_tracker));
int64 new_tracker_id = 100;
scoped_ptr<FileTracker> new_tracker =
test_util::CreateTracker(metadata, new_tracker_id, &app_root_tracker);
new_tracker->set_active(false);
- index->StoreFileTracker(new_tracker.Pass());
+ index()->StoreFileTracker(new_tracker.Pass());
- EXPECT_EQ("file_id", index->PickMultiTrackerFileID());
+ EXPECT_EQ("file_id", index()->PickMultiTrackerFileID());
EXPECT_EQ(ParentIDAndTitle(kAppRootTrackerID, std::string("file")),
- index->PickMultiBackingFilePath());
+ index()->PickMultiBackingFilePath());
- index->RemoveFileMetadata("file_id");
- index->RemoveFileTracker(kFileTrackerID);
+ index()->RemoveFileMetadata("file_id");
+ index()->RemoveFileTracker(kFileTrackerID);
- EXPECT_FALSE(index->GetFileMetadata("file_id", NULL));
- EXPECT_FALSE(index->GetFileTracker(kFileTrackerID, NULL));
+ EXPECT_FALSE(index()->GetFileMetadata("file_id", NULL));
+ EXPECT_FALSE(index()->GetFileTracker(kFileTrackerID, NULL));
}
} // namespace drive_backend
« no previous file with comments | « chrome/browser/sync_file_system/drive_backend/metadata_database_index.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698