// Copyright 2014 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 LIBBRILLO_BRILLO_HTTP_MOCK_TRANSPORT_H_
#define LIBBRILLO_BRILLO_HTTP_MOCK_TRANSPORT_H_
#include <memory>
#include <string>
#include <base/macros.h>
#include <brillo/http/http_transport.h>
#include <gmock/gmock.h>
namespace brillo {
namespace http {
class MockTransport : public Transport {
public:
MockTransport() = default;
MOCK_METHOD6(CreateConnection,
std::shared_ptr<Connection>(const std::string&,
const std::string&,
const HeaderList&,
const std::string&,
const std::string&,
brillo::ErrorPtr*));
MOCK_METHOD2(RunCallbackAsync,
void(const base::Location&, const base::Closure&));
MOCK_METHOD3(StartAsyncTransfer, RequestID(Connection*,
const SuccessCallback&,
const ErrorCallback&));
MOCK_METHOD1(CancelRequest, bool(RequestID));
MOCK_METHOD1(SetDefaultTimeout, void(base::TimeDelta));
MOCK_METHOD1(SetLocalIpAddress, void(const std::string&));
private:
DISALLOW_COPY_AND_ASSIGN(MockTransport);
};
} // namespace http
} // namespace brillo
#endif // LIBBRILLO_BRILLO_HTTP_MOCK_TRANSPORT_H_