blob: 9e981e95f637f44e36aea0b34e41d4124809a4fb [file] [log] [blame]
Darin Petkov36a3ace2012-03-06 17:22:14 +01001// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
Darin Petkovf7897bc2011-06-08 17:13:36 -07002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef SHILL_MOCK_GLIB_H_
6#define SHILL_MOCK_GLIB_H_
7
Alex Vakulenko8a532292014-06-16 17:18:44 -07008#include <string>
9
Ben Chancc67c522014-09-03 07:19:18 -070010#include <base/macros.h>
Darin Petkovf7897bc2011-06-08 17:13:36 -070011#include <gmock/gmock.h>
12
Darin Petkov3258a812011-06-23 11:28:45 -070013#include "shill/glib.h"
Darin Petkovf7897bc2011-06-08 17:13:36 -070014
15namespace shill {
16
Darin Petkov3258a812011-06-23 11:28:45 -070017class MockGLib : public GLib {
Darin Petkovf7897bc2011-06-08 17:13:36 -070018 public:
Darin Petkov1bdedf12011-08-26 13:32:11 -070019 MockGLib();
Ben Chan5ea763b2014-08-13 11:07:54 -070020 ~MockGLib() override;
Darin Petkov1bdedf12011-08-26 13:32:11 -070021
Paul Stewart1e006c62015-06-16 12:29:06 -070022 MOCK_METHOD2(Base64Decode, guchar*(const gchar* text, gsize* out_len));
23 MOCK_METHOD2(Base64Encode, gchar*(const guchar* data, gsize len));
24 MOCK_METHOD2(B64Decode, bool(const std::string& input, std::string* output));
25 MOCK_METHOD2(B64Encode, bool(const std::string& input, std::string* output));
Darin Petkov92c43902011-06-09 20:46:06 -070026 MOCK_METHOD3(ChildWatchAdd, guint(GPid pid,
27 GChildWatchFunc function,
28 gpointer data));
Darin Petkov083047b2011-06-23 20:42:48 -070029 MOCK_METHOD1(Free, void(gpointer mem));
Paul Stewart1e006c62015-06-16 12:29:06 -070030 MOCK_METHOD1(KeyFileFree, void(GKeyFile* key_file));
31 MOCK_METHOD4(KeyFileGetBoolean, gboolean(GKeyFile* key_file,
32 const gchar* group_name,
33 const gchar* key,
34 GError** error));
35 MOCK_METHOD2(KeyFileGetGroups, gchar**(GKeyFile* key_file,
36 gsize* length));
37 MOCK_METHOD4(KeyFileGetInteger, gint(GKeyFile* key_file,
38 const gchar* group_name,
39 const gchar* key,
40 GError** error));
41 MOCK_METHOD4(KeyFileGetString, gchar*(GKeyFile* key_file,
42 const gchar* group_name,
43 const gchar* key,
44 GError** error));
45 MOCK_METHOD5(KeyFileGetStringList, gchar**(GKeyFile* key_file,
46 const gchar* group_name,
47 const gchar* key,
48 gsize* length,
49 GError** error));
50 MOCK_METHOD2(KeyFileHasGroup, gboolean(GKeyFile* key_file,
51 const gchar* group_name));
52 MOCK_METHOD4(KeyFileHasKey, gboolean(GKeyFile* key_file,
53 const gchar* group_name,
54 const gchar* key,
55 GError** error));
56 MOCK_METHOD4(KeyFileLoadFromFile, gboolean(GKeyFile* key_file,
57 const gchar* file,
Darin Petkov083047b2011-06-23 20:42:48 -070058 GKeyFileFlags flags,
Paul Stewart1e006c62015-06-16 12:29:06 -070059 GError** error));
60 MOCK_METHOD0(KeyFileNew, GKeyFile*());
61 MOCK_METHOD3(KeyFileRemoveGroup, void(GKeyFile* key_file,
62 const gchar* group_name,
63 GError** error));
64 MOCK_METHOD4(KeyFileRemoveKey, void(GKeyFile* key_file,
65 const gchar* group_name,
66 const gchar* key,
67 GError** error));
68 MOCK_METHOD4(KeyFileSetBoolean, void(GKeyFile* key_file,
69 const gchar* group_name,
70 const gchar* key,
Darin Petkov083047b2011-06-23 20:42:48 -070071 gboolean value));
Paul Stewart1e006c62015-06-16 12:29:06 -070072 MOCK_METHOD5(KeyFileSetComment, gboolean(GKeyFile* key_file,
73 const gchar* group_name,
74 const gchar* key,
75 const gchar* comment,
76 GError** error));
77 MOCK_METHOD4(KeyFileSetInteger, void(GKeyFile* key_file,
78 const gchar* group_name,
79 const gchar* key,
Darin Petkov083047b2011-06-23 20:42:48 -070080 gint value));
Paul Stewart1e006c62015-06-16 12:29:06 -070081 MOCK_METHOD4(KeyFileSetString, void(GKeyFile* key_file,
82 const gchar* group_name,
83 const gchar* key,
84 const gchar* value));
85 MOCK_METHOD5(KeyFileSetStringList, void(GKeyFile* key_file,
86 const gchar* group_name,
87 const gchar* key,
88 const gchar* const list[],
Darin Petkovb2841fd2011-06-30 12:54:12 -070089 gsize length));
Paul Stewart1e006c62015-06-16 12:29:06 -070090 MOCK_METHOD3(KeyFileToData, gchar*(GKeyFile* key_file,
91 gsize* length,
92 GError** error));
Darin Petkov92c43902011-06-09 20:46:06 -070093 MOCK_METHOD1(SourceRemove, gboolean(guint tag));
Paul Stewart1e006c62015-06-16 12:29:06 -070094 MOCK_METHOD8(SpawnAsync, gboolean(const gchar* working_directory,
95 gchar** argv,
96 gchar** envp,
Darin Petkovf7897bc2011-06-08 17:13:36 -070097 GSpawnFlags flags,
98 GSpawnChildSetupFunc child_setup,
99 gpointer user_data,
Paul Stewart1e006c62015-06-16 12:29:06 -0700100 GPid* child_pid,
101 GError** error));
Darin Petkov92c43902011-06-09 20:46:06 -0700102 MOCK_METHOD1(SpawnClosePID, void(GPid pid));
Paul Stewart1e006c62015-06-16 12:29:06 -0700103 MOCK_METHOD10(SpawnSync, gboolean(const gchar* working_directory,
104 gchar** argv,
105 gchar** envp,
Darin Petkov3c5e4dc2012-04-02 14:44:27 +0200106 GSpawnFlags flags,
107 GSpawnChildSetupFunc child_setup,
108 gpointer user_data,
Paul Stewart1e006c62015-06-16 12:29:06 -0700109 gchar** standard_output,
110 gchar** standard_error,
111 gint* exit_status,
112 GError** error));
113 MOCK_METHOD1(Strfreev, void(gchar** str_array));
Darin Petkov887f2982011-07-14 16:10:17 -0700114 MOCK_METHOD0(TypeInit, void());
Darin Petkov1bdedf12011-08-26 13:32:11 -0700115
116 private:
117 DISALLOW_COPY_AND_ASSIGN(MockGLib);
Darin Petkovf7897bc2011-06-08 17:13:36 -0700118};
119
120} // namespace shill
121
122#endif // SHILL_MOCK_GLIB_H_