29
29
import zerorpc
30
30
31
31
32
- def test_pushpull ():
33
- endpoint = 'ipc://test_pushpull '
32
+ def test_pushpull_inheritance ():
33
+ endpoint = 'ipc://test_pushpull_inheritance '
34
34
35
35
pusher = zerorpc .Pusher ()
36
36
pusher .bind (endpoint )
@@ -52,11 +52,11 @@ def lolita(self, a, b):
52
52
print 'done'
53
53
54
54
55
- def test_pubsub ():
56
- endpoint = 'ipc://test_pubsub '
55
+ def test_pubsub_inheritance ():
56
+ endpoint = 'ipc://test_pubsub_inheritance '
57
57
58
- pusher = zerorpc .Publisher ()
59
- pusher .bind (endpoint )
58
+ publisher = zerorpc .Publisher ()
59
+ publisher .bind (endpoint )
60
60
trigger = gevent .event .Event ()
61
61
62
62
class Subscriber (zerorpc .Subscriber ):
@@ -65,11 +65,59 @@ def lolita(self, a, b):
65
65
assert a + b == 3
66
66
trigger .set ()
67
67
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 )
69
93
puller .connect (endpoint )
70
94
gevent .spawn (puller .run )
71
95
72
96
trigger .clear ()
73
97
pusher .lolita (1 , 2 )
74
98
trigger .wait ()
75
99
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