1
# Copyright (c) 2001-2004 Twisted Matrix Laboratories.
2
# See LICENSE for details.
5
"""PB interop server."""
7
from twisted.spread import pb, jelly, flavors
8
from twisted.internet import reactor
11
class Interop(pb.Root):
12
"""Test object for PB interop tests."""
15
self.o = pb.Referenceable()
20
def remote_string(self):
23
def remote_unicode(self):
26
def remote_float(self):
29
def remote_list(self):
32
def remote_recursive(self):
37
def remote_dict(self):
40
def remote_reference(self):
43
def remote_local(self, obj):
44
d = obj.callRemote("hello")
45
d.addCallback(self._local_success)
47
def _local_success(self, result):
48
if result != "hello, world":
49
raise ValueError, "%r != %r" % (result, "hello, world")
51
def remote_receive(self, obj):
52
expected = [1, 1.5, "hi", u"hi", {1 : 2}]
54
raise ValueError, "%r != %r" % (obj, expected)
56
def remote_self(self, obj):
58
raise ValueError, "%r != %r" % (obj, self)
60
def remote_copy(self, x):
61
o = flavors.Copyable()
66
if __name__ == '__main__':
67
reactor.listenTCP(8789, pb.PBServerFactory(Interop()))