Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 9af4ba8

Browse files
committed
Split tests for events/channels
1 parent b4635cb commit 9af4ba8

File tree

2 files changed

+116
-89
lines changed

2 files changed

+116
-89
lines changed

tests/test_channel.py

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
# -*- coding: utf-8 -*-
2+
# Open Source Initiative OSI - The MIT License (MIT):Licensing
3+
#
4+
# The MIT License (MIT)
5+
# Copyright (c) 2012 DotCloud Inc ([email protected])
6+
#
7+
# Permission is hereby granted, free of charge, to any person obtaining a copy of
8+
# this software and associated documentation files (the "Software"), to deal in
9+
# the Software without restriction, including without limitation the rights to
10+
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
11+
# of the Software, and to permit persons to whom the Software is furnished to do
12+
# so, subject to the following conditions:
13+
#
14+
# The above copyright notice and this permission notice shall be included in all
15+
# copies or substantial portions of the Software.
16+
#
17+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23+
# SOFTWARE.
24+
25+
26+
from zerorpc import zmq
27+
import zerorpc
28+
29+
30+
def test_events_channel_client_side():
31+
endpoint = 'ipc://test_events_channel_client_side'
32+
server_events = zerorpc.Events(zmq.XREP)
33+
server_events.bind(endpoint)
34+
server = zerorpc.ChannelMultiplexer(server_events)
35+
36+
client_events = zerorpc.Events(zmq.XREQ)
37+
client_events.connect(endpoint)
38+
client = zerorpc.ChannelMultiplexer(client_events)
39+
40+
client_channel = client.channel()
41+
client_channel.emit('someevent', (42,))
42+
43+
event = server.recv()
44+
print event
45+
assert event.args == (42,)
46+
assert event.header.get('zmqid', None) is not None
47+
48+
server.emit('someanswer', (21,),
49+
xheader=dict(response_to=event.header['message_id'],
50+
zmqid=event.header['zmqid']))
51+
event = client_channel.recv()
52+
assert event.args == (21,)
53+
54+
55+
def test_events_channel_client_side_server_send_many():
56+
endpoint = 'ipc://test_events_channel_client_side_server_send_many'
57+
server_events = zerorpc.Events(zmq.XREP)
58+
server_events.bind(endpoint)
59+
server = zerorpc.ChannelMultiplexer(server_events)
60+
61+
client_events = zerorpc.Events(zmq.XREQ)
62+
client_events.connect(endpoint)
63+
client = zerorpc.ChannelMultiplexer(client_events)
64+
65+
client_channel = client.channel()
66+
client_channel.emit('giveme', (10,))
67+
68+
event = server.recv()
69+
print event
70+
assert event.args == (10,)
71+
assert event.header.get('zmqid', None) is not None
72+
73+
for x in xrange(10):
74+
server.emit('someanswer', (x,),
75+
xheader=dict(response_to=event.header['message_id'],
76+
zmqid=event.header['zmqid']))
77+
for x in xrange(10):
78+
event = client_channel.recv()
79+
assert event.args == (x,)
80+
81+
82+
def test_events_channel_both_side():
83+
endpoint = 'ipc://test_events_channel_both_side'
84+
server_events = zerorpc.Events(zmq.XREP)
85+
server_events.bind(endpoint)
86+
server = zerorpc.ChannelMultiplexer(server_events)
87+
88+
client_events = zerorpc.Events(zmq.XREQ)
89+
client_events.connect(endpoint)
90+
client = zerorpc.ChannelMultiplexer(client_events)
91+
92+
client_channel = client.channel()
93+
client_channel.emit('openthat', (42,))
94+
95+
event = server.recv()
96+
print event
97+
assert event.args == (42,)
98+
assert event.name == 'openthat'
99+
100+
server_channel = server.channel(event)
101+
server_channel.emit('test', (21,))
102+
103+
event = client_channel.recv()
104+
assert event.args == (21,)
105+
assert event.name == 'test'
106+
107+
server_channel.emit('test', (22,))
108+
109+
event = client_channel.recv()
110+
assert event.args == (22,)
111+
assert event.name == 'test'
112+
113+
server_events.close()
114+
server_channel.close()
115+
client_channel.close()
116+
client_channel.close()

tests/test_events.py

Lines changed: 0 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -168,92 +168,3 @@ def test_events_push_pull():
168168
print event
169169
assert event.name == 'myevent'
170170
assert event.args == (x,)
171-
172-
173-
def test_events_channel_client_side():
174-
endpoint = 'ipc://test_events_channel_client_side'
175-
server_events = zerorpc.Events(zmq.XREP)
176-
server_events.bind(endpoint)
177-
server = zerorpc.ChannelMultiplexer(server_events)
178-
179-
client_events = zerorpc.Events(zmq.XREQ)
180-
client_events.connect(endpoint)
181-
client = zerorpc.ChannelMultiplexer(client_events)
182-
183-
client_channel = client.channel()
184-
client_channel.emit('someevent', (42,))
185-
186-
event = server.recv()
187-
print event
188-
assert event.args == (42,)
189-
assert event.header.get('zmqid', None) is not None
190-
191-
server.emit('someanswer', (21,),
192-
xheader=dict(response_to=event.header['message_id'],
193-
zmqid=event.header['zmqid']))
194-
event = client_channel.recv()
195-
assert event.args == (21,)
196-
197-
198-
def test_events_channel_client_side_server_send_many():
199-
endpoint = 'ipc://test_events_channel_client_side_server_send_many'
200-
server_events = zerorpc.Events(zmq.XREP)
201-
server_events.bind(endpoint)
202-
server = zerorpc.ChannelMultiplexer(server_events)
203-
204-
client_events = zerorpc.Events(zmq.XREQ)
205-
client_events.connect(endpoint)
206-
client = zerorpc.ChannelMultiplexer(client_events)
207-
208-
client_channel = client.channel()
209-
client_channel.emit('giveme', (10,))
210-
211-
event = server.recv()
212-
print event
213-
assert event.args == (10,)
214-
assert event.header.get('zmqid', None) is not None
215-
216-
for x in xrange(10):
217-
server.emit('someanswer', (x,),
218-
xheader=dict(response_to=event.header['message_id'],
219-
zmqid=event.header['zmqid']))
220-
for x in xrange(10):
221-
event = client_channel.recv()
222-
assert event.args == (x,)
223-
224-
225-
def test_events_channel_both_side():
226-
endpoint = 'ipc://test_events_channel_both_side'
227-
server_events = zerorpc.Events(zmq.XREP)
228-
server_events.bind(endpoint)
229-
server = zerorpc.ChannelMultiplexer(server_events)
230-
231-
client_events = zerorpc.Events(zmq.XREQ)
232-
client_events.connect(endpoint)
233-
client = zerorpc.ChannelMultiplexer(client_events)
234-
235-
client_channel = client.channel()
236-
client_channel.emit('openthat', (42,))
237-
238-
event = server.recv()
239-
print event
240-
assert event.args == (42,)
241-
assert event.name == 'openthat'
242-
243-
server_channel = server.channel(event)
244-
server_channel.emit('test', (21,))
245-
246-
event = client_channel.recv()
247-
assert event.args == (21,)
248-
assert event.name == 'test'
249-
250-
server_channel.emit('test', (22,))
251-
252-
event = client_channel.recv()
253-
assert event.args == (22,)
254-
assert event.name == 'test'
255-
256-
server_events.close()
257-
server_channel.close()
258-
client_channel.close()
259-
client_channel.close()

0 commit comments

Comments
 (0)