blob: 29a2abd48e55065ee5ca871bfe1c88f17daa7307 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/leveldb/public/interfaces/leveldb.mojom.h"
namespace content {
// Simple implementation of the leveldb::mojom::LevelDBDatabase interface that
// is backed by a std::map.
class MockLevelDBDatabase : public leveldb::mojom::LevelDBDatabase {
public:
// |mock_data| must not be null and must outlive this MockLevelDBDatabase
// instance.
explicit MockLevelDBDatabase(
std::map<std::vector<uint8_t>, std::vector<uint8_t>>* mock_data);
// LevelDBDatabase:
void Put(const std::vector<uint8_t>& key,
const std::vector<uint8_t>& value,
const PutCallback& callback) override;
void Delete(const std::vector<uint8_t>& key,
const DeleteCallback& callback) override;
void DeletePrefixed(const std::vector<uint8_t>& key_prefix,
const DeletePrefixedCallback& callback) override;
void Write(std::vector<leveldb::mojom::BatchedOperationPtr> operations,
const WriteCallback& callback) override;
void Get(const std::vector<uint8_t>& key,
const GetCallback& callback) override;
void GetPrefixed(const std::vector<uint8_t>& key_prefix,
const GetPrefixedCallback& callback) override;
void GetSnapshot(const GetSnapshotCallback& callback) override;
void ReleaseSnapshot(const base::UnguessableToken& snapshot) override;
void GetFromSnapshot(const base::UnguessableToken& snapshot,
const std::vector<uint8_t>& key,
const GetCallback& callback) override;
void NewIterator(const NewIteratorCallback& callback) override;
void NewIteratorFromSnapshot(
const base::UnguessableToken& snapshot,
const NewIteratorFromSnapshotCallback& callback) override;
void ReleaseIterator(const base::UnguessableToken& iterator) override;
void IteratorSeekToFirst(
const base::UnguessableToken& iterator,
const IteratorSeekToFirstCallback& callback) override;
void IteratorSeekToLast(const base::UnguessableToken& iterator,
const IteratorSeekToLastCallback& callback) override;
void IteratorSeek(const base::UnguessableToken& iterator,
const std::vector<uint8_t>& target,
const IteratorSeekToLastCallback& callback) override;
void IteratorNext(const base::UnguessableToken& iterator,
const IteratorNextCallback& callback) override;
void IteratorPrev(const base::UnguessableToken& iterator,
const IteratorPrevCallback& callback) override;
private:
std::map<std::vector<uint8_t>, std::vector<uint8_t>>& mock_data_;
};
} // namespace content