1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROMEOS_NETWORK_MOCK_MANAGED_NETWORK_CONFIGURATION_HANDLER_H_
6#define CHROMEOS_NETWORK_MOCK_MANAGED_NETWORK_CONFIGURATION_HANDLER_H_
7
8#include "base/basictypes.h"
9#include "base/values.h"
10#include "chromeos/chromeos_export.h"
11#include "chromeos/network/managed_network_configuration_handler.h"
12#include "testing/gmock/include/gmock/gmock.h"
13
14namespace chromeos {
15
16class CHROMEOS_EXPORT MockManagedNetworkConfigurationHandler
17    : public ManagedNetworkConfigurationHandler {
18 public:
19  MockManagedNetworkConfigurationHandler();
20  virtual ~MockManagedNetworkConfigurationHandler();
21
22  // ManagedNetworkConfigurationHandler overrides
23  MOCK_METHOD1(AddObserver, void(NetworkPolicyObserver* observer));
24  MOCK_METHOD1(RemoveObserver, void(NetworkPolicyObserver* observer));
25  MOCK_METHOD3(GetProperties,
26               void(const std::string& service_path,
27                    const network_handler::DictionaryResultCallback& callback,
28                    const network_handler::ErrorCallback& error_callback));
29  MOCK_METHOD4(GetManagedProperties,
30               void(const std::string& userhash,
31                    const std::string& service_path,
32                    const network_handler::DictionaryResultCallback& callback,
33                    const network_handler::ErrorCallback& error_callback));
34  MOCK_CONST_METHOD4(
35      SetProperties,
36      void(const std::string& service_path,
37           const base::DictionaryValue& user_settings,
38           const base::Closure& callback,
39           const network_handler::ErrorCallback& error_callback));
40  MOCK_CONST_METHOD4(
41      CreateConfiguration,
42      void(const std::string& userhash,
43           const base::DictionaryValue& properties,
44           const network_handler::StringResultCallback& callback,
45           const network_handler::ErrorCallback& error_callback));
46  MOCK_CONST_METHOD3(
47      RemoveConfiguration,
48      void(const std::string& service_path,
49           const base::Closure& callback,
50           const network_handler::ErrorCallback& error_callback));
51  MOCK_METHOD4(SetPolicy,
52               void(::onc::ONCSource onc_source,
53                    const std::string& userhash,
54                    const base::ListValue& network_configs_onc,
55                    const base::DictionaryValue& global_network_config));
56  MOCK_CONST_METHOD3(FindPolicyByGUID,
57                     const base::DictionaryValue*(
58                         const std::string userhash,
59                         const std::string& guid,
60                         ::onc::ONCSource* onc_source));
61  MOCK_CONST_METHOD1(GetGlobalConfigFromPolicy,
62                     const base::DictionaryValue*(const std::string userhash));
63  MOCK_CONST_METHOD2(
64      FindPolicyByGuidAndProfile,
65      const base::DictionaryValue*(const std::string& guid,
66                                   const std::string& profile_path));
67
68 private:
69  DISALLOW_COPY_AND_ASSIGN(MockManagedNetworkConfigurationHandler);
70};
71
72}  // namespace chromeos
73
74#endif  // CHROMEOS_NETWORK_MOCK_MANAGED_NETWORK_CONFIGURATION_HANDLER_H_
75