text: // Copyright 2018 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 SHILL_VPN_MOCK_VPN_DRIVER_H_
  #define SHILL_VPN_MOCK_VPN_DRIVER_H_
  
  #include <string>
  
  #include <gmock/gmock.h>
  
  #include "shill/vpn/vpn_driver.h"
  
  namespace shill {
  
  class MockVPNDriver : public VPNDriver {
   public:
    MockVPNDriver();
    ~MockVPNDriver() override;
  
    MOCK_METHOD(bool, ClaimInterface, (const std::string&, int), (override));
    MOCK_METHOD(void, Connect, (const VPNServiceRefPtr&, Error*), (override));
    MOCK_METHOD(void, Disconnect, (), (override));
    MOCK_METHOD(bool,
                Load,
                (const StoreInterface*, const std::string&),
                (override));
    MOCK_METHOD(bool,
                Save,
                (StoreInterface*, const std::string&, bool),
                (override));
    MOCK_METHOD(void, UnloadCredentials, (), (override));
    MOCK_METHOD(void, InitPropertyStore, (PropertyStore*), (override));
    MOCK_METHOD(std::string, GetProviderType, (), (const, override));
    MOCK_METHOD(std::string, GetHost, (), (const, override));
  
   private:
    DISALLOW_COPY_AND_ASSIGN(MockVPNDriver);
  };
  
  }  // namespace shill
  
  #endif  // SHILL_VPN_MOCK_VPN_DRIVER_H_
  