| OLD | NEW | 
|    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 "components/sync/engine/attachments/on_disk_attachment_store.h" |    5 #include "components/sync/engine/attachments/on_disk_attachment_store.h" | 
|    6  |    6  | 
|    7 #include <stdint.h> |    7 #include <stdint.h> | 
|    8  |    8  | 
|    9 #include <utility> |    9 #include <utility> | 
|   10  |   10  | 
|   11 #include "base/files/file_util.h" |   11 #include "base/files/file_util.h" | 
|   12 #include "base/files/scoped_temp_dir.h" |   12 #include "base/files/scoped_temp_dir.h" | 
|   13 #include "base/memory/ptr_util.h" |   13 #include "base/memory/ptr_util.h" | 
|   14 #include "base/message_loop/message_loop.h" |   14 #include "base/message_loop/message_loop.h" | 
|   15 #include "base/run_loop.h" |   15 #include "base/run_loop.h" | 
|   16 #include "base/threading/thread_task_runner_handle.h" |   16 #include "base/threading/thread_task_runner_handle.h" | 
|   17 #include "base/time/time.h" |   17 #include "base/time/time.h" | 
|   18 #include "components/sync/engine/attachments/attachment_store_test_template.h" |   18 #include "components/sync/engine/attachments/attachment_store_test_template.h" | 
|   19 #include "components/sync/engine_impl/attachments/proto/attachment_store.pb.h" |   19 #include "components/sync/engine_impl/attachments/proto/attachment_store.pb.h" | 
|   20 #include "testing/gmock/include/gmock/gmock.h" |   20 #include "testing/gmock/include/gmock/gmock.h" | 
|   21 #include "testing/gtest/include/gtest/gtest.h" |   21 #include "testing/gtest/include/gtest/gtest.h" | 
 |   22 #include "third_party/leveldatabase/env_chromium.h" | 
|   22 #include "third_party/leveldatabase/src/include/leveldb/db.h" |   23 #include "third_party/leveldatabase/src/include/leveldb/db.h" | 
|   23 #include "third_party/leveldatabase/src/include/leveldb/options.h" |   24 #include "third_party/leveldatabase/src/include/leveldb/options.h" | 
|   24 #include "third_party/leveldatabase/src/include/leveldb/slice.h" |   25 #include "third_party/leveldatabase/src/include/leveldb/slice.h" | 
|   25 #include "third_party/leveldatabase/src/include/leveldb/status.h" |   26 #include "third_party/leveldatabase/src/include/leveldb/status.h" | 
|   26  |   27  | 
|   27 namespace syncer { |   28 namespace syncer { | 
|   28  |   29  | 
|   29 namespace { |   30 namespace { | 
|   30  |   31  | 
|   31 void AttachmentStoreCreated(AttachmentStore::Result* result_dest, |   32 void AttachmentStoreCreated(AttachmentStore::Result* result_dest, | 
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   96   void CopyResultMetadata( |   97   void CopyResultMetadata( | 
|   97       AttachmentStore::Result* destination_result, |   98       AttachmentStore::Result* destination_result, | 
|   98       std::unique_ptr<AttachmentMetadataList>* destination_metadata, |   99       std::unique_ptr<AttachmentMetadataList>* destination_metadata, | 
|   99       const AttachmentStore::Result& source_result, |  100       const AttachmentStore::Result& source_result, | 
|  100       std::unique_ptr<AttachmentMetadataList> source_metadata) { |  101       std::unique_ptr<AttachmentMetadataList> source_metadata) { | 
|  101     CopyResult(destination_result, source_result); |  102     CopyResult(destination_result, source_result); | 
|  102     *destination_metadata = std::move(source_metadata); |  103     *destination_metadata = std::move(source_metadata); | 
|  103   } |  104   } | 
|  104  |  105  | 
|  105   std::unique_ptr<leveldb::DB> OpenLevelDB() { |  106   std::unique_ptr<leveldb::DB> OpenLevelDB() { | 
|  106     leveldb::DB* db; |  107     std::unique_ptr<leveldb::DB> db; | 
|  107     leveldb::Options options; |  108     leveldb::Options options; | 
|  108     options.create_if_missing = true; |  109     options.create_if_missing = true; | 
|  109     leveldb::Status s = |  110     leveldb::Status s = | 
|  110         leveldb::DB::Open(options, db_path_.AsUTF8Unsafe(), &db); |  111         leveldb_env::OpenDB(options, db_path_.AsUTF8Unsafe(), &db); | 
|  111     EXPECT_TRUE(s.ok()); |  112     EXPECT_TRUE(s.ok()); | 
|  112     return base::WrapUnique(db); |  113     return db; | 
|  113   } |  114   } | 
|  114  |  115  | 
|  115   void UpdateRecord(const std::string& key, const std::string& content) { |  116   void UpdateRecord(const std::string& key, const std::string& content) { | 
|  116     std::unique_ptr<leveldb::DB> db = OpenLevelDB(); |  117     std::unique_ptr<leveldb::DB> db = OpenLevelDB(); | 
|  117     leveldb::Status s = db->Put(leveldb::WriteOptions(), key, content); |  118     leveldb::Status s = db->Put(leveldb::WriteOptions(), key, content); | 
|  118     EXPECT_TRUE(s.ok()); |  119     EXPECT_TRUE(s.ok()); | 
|  119   } |  120   } | 
|  120  |  121  | 
|  121   void UpdateStoreMetadataRecord(const std::string& content) { |  122   void UpdateStoreMetadataRecord(const std::string& content) { | 
|  122     UpdateRecord("database-metadata", content); |  123     UpdateRecord("database-metadata", content); | 
| (...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  512   store_->ReadMetadata( |  513   store_->ReadMetadata( | 
|  513       base::Bind(&OnDiskAttachmentStoreSpecificTest::CopyResultMetadata, |  514       base::Bind(&OnDiskAttachmentStoreSpecificTest::CopyResultMetadata, | 
|  514                  base::Unretained(this), &metadata_result, &metadata_list)); |  515                  base::Unretained(this), &metadata_result, &metadata_list)); | 
|  515   RunLoop(); |  516   RunLoop(); | 
|  516   EXPECT_EQ(AttachmentStore::SUCCESS, create_result); |  517   EXPECT_EQ(AttachmentStore::SUCCESS, create_result); | 
|  517   EXPECT_EQ(AttachmentStore::UNSPECIFIED_ERROR, metadata_result); |  518   EXPECT_EQ(AttachmentStore::UNSPECIFIED_ERROR, metadata_result); | 
|  518   EXPECT_EQ(2U, metadata_list->size()); |  519   EXPECT_EQ(2U, metadata_list->size()); | 
|  519 } |  520 } | 
|  520  |  521  | 
|  521 }  // namespace syncer |  522 }  // namespace syncer | 
| OLD | NEW |