diff options
Diffstat (limited to 'python/tests')
-rw-r--r-- | python/tests/test-client.py | 28 | ||||
-rw-r--r-- | python/tests/test-server.py | 17 |
2 files changed, 45 insertions, 0 deletions
diff --git a/python/tests/test-client.py b/python/tests/test-client.py new file mode 100644 index 00000000..d12ee2aa --- /dev/null +++ b/python/tests/test-client.py @@ -0,0 +1,28 @@ +import dbus +import dbus_bindings + + +def TestEcho(value, should_be_equal = True): + global remote_object + echoed = remote_object.Echo(value) + if type(echoed) != type(value): + raise Exception ("Sending %s, expected echo of type %s, but got %s" % (value, type(value), type(echoed))) + + if echoed.__class__ != value.__class__: + raise Exception ("Sending %s, expected echo to be of class %s, but got %s" % (value, value.__class__, echoed.__class__)) + + if should_be_equal: + if echoed != value: + raise Exception("Sending %s, expected echo to be the same, but was %s" % (value, echoed)) + +session_bus = dbus.SessionBus() + +remote_service = session_bus.get_service("org.designfu.Test") +remote_object = remote_service.get_object("/TestObject", "org.designfu.Test") + +TestEcho(chr(120)) +TestEcho(10) +TestEcho(39.5) +TestEcho("HelloWorld") +TestEcho(dbus_bindings.ObjectPath("/test/path")) + diff --git a/python/tests/test-server.py b/python/tests/test-server.py new file mode 100644 index 00000000..2af685bc --- /dev/null +++ b/python/tests/test-server.py @@ -0,0 +1,17 @@ +import dbus +import gtk + +class TestObject(dbus.Object): + def __init__(self, service): + method_list = [ self.Echo ] + dbus.Object.__init__(self, "/TestObject", method_list, service) + + def Echo(self, variable): + return variable + +session_bus = dbus.SessionBus() + +local_service = dbus.Service("org.designfu.Test", bus=session_bus) +local_object = TestObject(local_service) + +gtk.main() |