Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(212)

Side by Side Diff: chrome/browser/chromeos/dbus/flimflam_client_unittest_base.h

Issue 9838085: Move files inside chrome/browser/chromeos/dbus to chromeos/dbus (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rebase Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2012 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 CHROME_BROWSER_CHROMEOS_DBUS_FLIMFLAM_CLIENT_UNITTEST_BASE_H_
6 #define CHROME_BROWSER_CHROMEOS_DBUS_FLIMFLAM_CLIENT_UNITTEST_BASE_H_
7
8 #include <string>
9
10 #include "base/memory/ref_counted.h"
11 #include "base/memory/scoped_ptr.h"
12 #include "base/message_loop.h"
13 #include "chrome/browser/chromeos/dbus/dbus_method_call_status.h"
14 #include "dbus/mock_bus.h"
15 #include "dbus/mock_object_proxy.h"
16 #include "dbus/object_proxy.h"
17 #include "testing/gtest/include/gtest/gtest.h"
18
19 namespace base {
20
21 class Value;
22 class DictionaryValue;
23
24 } // namespace base
25
26 namespace dbus {
27
28 class MessageReader;
29
30 } // namespace dbus
31
32 namespace chromeos {
33
34 // A class to provide functionalities needed for testing Flimflam D-Bus clients.
35 class FlimflamClientUnittestBase : public testing::Test {
36 public:
37 explicit FlimflamClientUnittestBase(const std::string& interface_name);
38 virtual ~FlimflamClientUnittestBase();
39
40 virtual void SetUp() OVERRIDE;
41 virtual void TearDown() OVERRIDE;
42
43 protected:
44 // A callback to intercept and check the method call arguments.
45 typedef base::Callback<void(
46 dbus::MessageReader* reader)> ArgumentCheckCallback;
47
48 // Sets expectations for called method name and arguments, and sets response.
49 void PrepareForMethodCall(const std::string& method_name,
50 ArgumentCheckCallback argument_checker,
51 dbus::Response* response);
52
53 // Sends property changed signal to the tested client.
54 void SendPropertyChangedSignal(dbus::Signal* signal);
55
56 // Checks the name and the value which are sent by PropertyChanged signal.
57 static void ExpectPropertyChanged(const std::string& expected_name,
58 const base::Value* expected_value,
59 const std::string& name,
60 const base::Value& value);
61
62 // Expects the reader to be empty.
63 static void ExpectNoArgument(dbus::MessageReader* reader);
64
65 // Expects the reader to have a string.
66 static void ExpectStringArgument(const std::string& expected_string,
67 dbus::MessageReader* reader);
68
69 // Expects the reader to have a Value.
70 static void ExpectValueArgument(const base::Value* expected_value,
71 dbus::MessageReader* reader);
72
73 // Expects the reader to have a string and a Value.
74 static void ExpectStringAndValueArguments(const std::string& expected_string,
75 const base::Value* expected_value,
76 dbus::MessageReader* reader);
77
78 // Expects the call status to be SUCCESS.
79 static void ExpectNoResultValue(DBusMethodCallStatus call_status);
80
81 // Checks the result and expects the call status to be SUCCESS.
82 static void ExpectDictionaryValueResult(
83 const base::DictionaryValue* expected_result,
84 DBusMethodCallStatus call_status,
85 const base::DictionaryValue& result);
86
87 // A message loop to emulate asynchronous behavior.
88 MessageLoop message_loop_;
89 // The mock bus.
90 scoped_refptr<dbus::MockBus> mock_bus_;
91
92 private:
93 // Checks the requested interface name and signal name.
94 // Used to implement the mock proxy.
95 void OnConnectToSignal(
96 const std::string& interface_name,
97 const std::string& signal_name,
98 dbus::ObjectProxy::SignalCallback signal_callback,
99 dbus::ObjectProxy::OnConnectedCallback on_connected_callback);
100
101 // Checks the content of the method call and returns the response.
102 // Used to implement the mock proxy.
103 void OnCallMethod(dbus::MethodCall* method_call,
104 int timeout_ms,
105 dbus::ObjectProxy::ResponseCallback response_callback);
106
107 // The interface name.
108 const std::string interface_name_;
109 // The mock object proxy.
110 scoped_refptr<dbus::MockObjectProxy> mock_proxy_;
111 // The PropertyChanged signal handler given by the tested client.
112 dbus::ObjectProxy::SignalCallback property_changed_handler_;
113 // The name of the method which is expected to be called.
114 std::string expected_method_name_;
115 // The response which the mock object proxy returns.
116 dbus::Response* response_;
117 // A callback to intercept and check the method call arguments.
118 ArgumentCheckCallback argument_checker_;
119 };
120
121 } // namespace chromeos
122
123 #endif // CHROME_BROWSER_CHROMEOS_DBUS_FLIMFLAM_CLIENT_UNITTEST_BASE_H_
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/dbus/flimflam_client_helper.cc ('k') | chrome/browser/chromeos/dbus/flimflam_client_unittest_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698