2929import zerorpc
3030
3131
32- def test_pushpull ():
33- endpoint = 'ipc://test_pushpull '
32+ def test_pushpull_inheritance ():
33+ endpoint = 'ipc://test_pushpull_inheritance '
3434
3535 pusher = zerorpc .Pusher ()
3636 pusher .bind (endpoint )
@@ -52,11 +52,11 @@ def lolita(self, a, b):
5252 print 'done'
5353
5454
55- def test_pubsub ():
56- endpoint = 'ipc://test_pubsub '
55+ def test_pubsub_inheritance ():
56+ endpoint = 'ipc://test_pubsub_inheritance '
5757
58- pusher = zerorpc .Publisher ()
59- pusher .bind (endpoint )
58+ publisher = zerorpc .Publisher ()
59+ publisher .bind (endpoint )
6060 trigger = gevent .event .Event ()
6161
6262 class Subscriber (zerorpc .Subscriber ):
@@ -65,11 +65,59 @@ def lolita(self, a, b):
6565 assert a + b == 3
6666 trigger .set ()
6767
68- puller = Subscriber ()
68+ subscriber = Subscriber ()
69+ subscriber .connect (endpoint )
70+ gevent .spawn (subscriber .run )
71+
72+ trigger .clear ()
73+ publisher .lolita (1 , 2 )
74+ trigger .wait ()
75+ print 'done'
76+
77+
78+ def test_pushpull_composite ():
79+ endpoint = 'ipc://test_pushpull_composite'
80+ trigger = gevent .event .Event ()
81+
82+ class Puller (object ):
83+ def lolita (self , a , b ):
84+ print 'lolita' , a , b
85+ assert a + b == 3
86+ trigger .set ()
87+
88+ pusher = zerorpc .Pusher ()
89+ pusher .bind (endpoint )
90+
91+ service = Puller ()
92+ puller = zerorpc .Puller (service )
6993 puller .connect (endpoint )
7094 gevent .spawn (puller .run )
7195
7296 trigger .clear ()
7397 pusher .lolita (1 , 2 )
7498 trigger .wait ()
7599 print 'done'
100+
101+
102+ def test_pubsub_composite ():
103+ endpoint = 'ipc://test_pubsub_composite'
104+ trigger = gevent .event .Event ()
105+
106+ class Subscriber (object ):
107+ def lolita (self , a , b ):
108+ print 'lolita' , a , b
109+ assert a + b == 3
110+ trigger .set ()
111+
112+ publisher = zerorpc .Publisher ()
113+ publisher .bind (endpoint )
114+
115+ service = Subscriber ()
116+ subscriber = zerorpc .Subscriber (service )
117+ subscriber .connect (endpoint )
118+ gevent .spawn (subscriber .run )
119+
120+ trigger .clear ()
121+ publisher .lolita (1 , 2 )
122+ trigger .wait ()
123+ print 'done'
0 commit comments