from dbustesting import * class HelloService(MockService): @dbus.service.method("org.freedesktop.HelloWorldIFace") def Hello(self): self.called("Hello") return "olleH" @dbus.service.method("org.freedesktop.HelloWorldIFace") def Hallo(self, param): self.called("Hallo", param) self.HalloSig(param) return param @dbus.service.signal("org.freedesktop.HelloWorldIFace") def HalloSig(self, s): pass class HelloServiceTest(ServiceTestCase): def run(self): self["hello"] = (HelloService, "org.freedesktop.HelloWorld","/org/freedesktop/HelloWorldObject") self["hello"].WaitCall("Hello") self["hello"].WaitCall("Hallo") self["hello"].HalloSig("test") class HelloClientTest(ClientTestCase): def run(self): self["hello"] = ("org.freedesktop.HelloWorld","/org/freedesktop/HelloWorldObject", "org.freedesktop.HelloWorldIFace") echo = self["hello"].Hello() assert echo == "olleH" self["hello|HalloSig"].Listen() echo = self["hello"].Hallo("echomethis") assert echo == "echomethis" sigs = self["hello|HalloSig"].Wait() assert sigs[0] == "echomethis" self["hello|HalloSig"].Listen() sigs = self["hello|HalloSig"].Wait() assert sigs[0] == "test" class HelloMixedTest(MixedTestCase): def run(self): self["hello"] = (HelloService, "org.freedesktop.HelloWorld","/org/freedesktop/HelloWorldObject", "org.freedesktop.HelloWorldIFace") echo = self["hello"].Hello() assert echo == "olleH" self["hello|HalloSig"].Listen() echo = self["hello"].Hallo("echomethis") assert echo == "echomethis" sigs = self["hello|HalloSig"].Wait() assert sigs[0] == "echomethis" self["hello|HalloSig"].Listen() self["hello|HalloSig"].Emit("test") sigs = self["hello|HalloSig"].Wait() assert sigs[0] == "test"