// 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 VPN_MANAGER_DAEMON_MOCK_H_
#define VPN_MANAGER_DAEMON_MOCK_H_

#include <gmock/gmock.h>

#include "vpn-manager/daemon.h"

namespace vpn_manager {

class DaemonMock : public Daemon {
 public:
  DaemonMock() : Daemon("") {}
  ~DaemonMock() override {}

  MOCK_METHOD0(ClearProcess, void());
  MOCK_METHOD0(CreateProcess, chromeos::Process*());
  MOCK_METHOD0(FindProcess, bool());
  MOCK_METHOD0(IsRunning, bool());
  MOCK_METHOD0(Terminate, bool());
  MOCK_CONST_METHOD0(GetPid, pid_t());
};

}  // namespace vpn_manager

#endif  // VPN_MANAGER_DAEMON_MOCK_H_
