blob: 01e9be12c510684f0546341420d94937d8b2778c [file] [log] [blame]
// Copyright 2017 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.
#ifndef CONTENT_BROWSER_INDEXED_DB_LEVELDB_MOCK_LEVEL_DB_H_
#define CONTENT_BROWSER_INDEXED_DB_LEVELDB_MOCK_LEVEL_DB_H_
#include "testing/gmock/include/gmock/gmock.h"
#include "third_party/leveldatabase/src/include/leveldb/db.h"
namespace leveldb {
class MockIterator : public Iterator {
public:
MockIterator();
~MockIterator() override;
MOCK_CONST_METHOD0(Valid, bool());
MOCK_METHOD0(SeekToFirst, void());
MOCK_METHOD0(SeekToLast, void());
MOCK_METHOD1(Seek, void(const Slice& target));
MOCK_METHOD0(Next, void());
MOCK_METHOD0(Prev, void());
MOCK_CONST_METHOD0(key, Slice());
MOCK_CONST_METHOD0(value, Slice());
MOCK_CONST_METHOD0(status, Status());
};
class MockLevelDB : public DB {
public:
MockLevelDB();
~MockLevelDB() override;
MOCK_METHOD3(Put,
Status(const WriteOptions& options,
const Slice& key,
const Slice& value));
MOCK_METHOD2(Delete, Status(const WriteOptions& options, const Slice& key));
MOCK_METHOD2(Write, Status(const WriteOptions& options, WriteBatch* updates));
MOCK_METHOD3(Get,
Status(const ReadOptions& options,
const Slice& key,
std::string* value));
MOCK_METHOD1(NewIterator, Iterator*(const ReadOptions& options));
MOCK_METHOD0(GetSnapshot, const Snapshot*());
MOCK_METHOD1(ReleaseSnapshot, void(const Snapshot*));
MOCK_METHOD2(GetProperty, bool(const Slice& property, std::string* value));
MOCK_METHOD3(GetApproximateSizes,
void(const Range* range, int n, uint64_t* sizes));
MOCK_METHOD2(CompactRange, void(const Slice* begin, const Slice* end));
};
} // namespace leveldb
#endif // CONTENT_BROWSER_INDEXED_DB_LEVELDB_MOCK_LEVEL_DB_H_