blob: 94143b95f53ac4c4f7c68ad6a85f742e6bad3e5e [file] [log] [blame]
// Copyright (c) 2013 The Chromium OS 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 P2P_SERVER_MOCK_SERVICE_PUBLISHER_H_
#define P2P_SERVER_MOCK_SERVICE_PUBLISHER_H_
#include "p2p/server/fake_service_publisher.h"
#include <map>
#include <string>
#include <gmock/gmock.h>
namespace p2p {
namespace server {
class MockServicePublisher : public ServicePublisher {
public:
MockServicePublisher() {
// Delegate all calls to the fake instance
ON_CALL(*this, AddFile(testing::_, testing::_))
.WillByDefault(testing::Invoke(&fake_, &FakeServicePublisher::AddFile));
ON_CALL(*this, RemoveFile(testing::_))
.WillByDefault(
testing::Invoke(&fake_, &FakeServicePublisher::RemoveFile));
ON_CALL(*this, UpdateFileSize(testing::_, testing::_))
.WillByDefault(
testing::Invoke(&fake_, &FakeServicePublisher::UpdateFileSize));
ON_CALL(*this, SetNumConnections(testing::_))
.WillByDefault(
testing::Invoke(&fake_, &FakeServicePublisher::SetNumConnections));
ON_CALL(*this, files())
.WillByDefault(testing::Invoke(&fake_, &FakeServicePublisher::files));
}
MockServicePublisher(const MockServicePublisher&) = delete;
MockServicePublisher& operator=(const MockServicePublisher&) = delete;
MOCK_METHOD(void, AddFile, (const std::string&, size_t), (override));
MOCK_METHOD(void, RemoveFile, (const std::string&), (override));
MOCK_METHOD(void, UpdateFileSize, (const std::string&, size_t), (override));
MOCK_METHOD(void, SetNumConnections, (int), (override));
MOCK_METHOD((std::map<std::string, size_t>), files, (), (override));
FakeServicePublisher& fake() { return fake_; }
private:
FakeServicePublisher fake_;
};
} // namespace server
} // namespace p2p
#endif // P2P_SERVER_MOCK_SERVICE_PUBLISHER_H_