Example #1
0
 def test_reply(self):
     """ test sending a message with a reply handler """
     eb = Eventbus(port=7001,debug=self.debug)
     handler=Handler(self.debug)
     body = {'msg': 'test reply' }
     eb.wait(State.OPEN)
     eb.send('echo',body,callback=handler.handle)
     # wait for the message to arrive
     time.sleep(RECEIVE_WAIT)
     eb.close()
     assert handler.result==body
Example #2
0
 def test_send(self):
     """ test sending a message"""
     eb = Eventbus(port=7001,debug=self.debug)
     handler=Handler(self.debug)
     address="echoMe"
     eb.registerHandler(address, handler.handle)
     cmd=EchoCommand("time","send",address)
     eb.wait(State.OPEN)
     eb.send('echo',cmd)
     # wait for the message to arrive
     time.sleep(RECEIVE_WAIT)
     eb.close()
     assert 'received_nanotime' in handler.result
     assert 'iso_time' in handler.result
Example #3
0
 def test_sendInvalidAddress(self):
     """ test trying to send to an invalid address"""
     eb = Eventbus(port=7001,debug=self.debug)
     handler=Handler(self.debug)
     errorHandler=Handler(self.debug)
     address="unpermitted_address"
     eb.registerHandler(address, handler.handle)
     eb.onError=errorHandler.handle        
     cmd=EchoCommand("time","send",address)
     eb.send('echo',cmd)
     time.sleep(RECEIVE_WAIT)
     #  40 message bytes with payload {'type': 'err', 'message': 'access_denied'} not handled yet ... expected
     eb.close()
     assert errorHandler.err is not None
     assert errorHandler.result is None
     assert handler.err is None
     assert handler.result is None
Example #4
0
 def test_publishWithMultipleHandlers(self):
     """ test publishing a message to be handle by multiple handlers"""
     eb = Eventbus(port=7001,debug=self.debug)
     handler1=Handler(self.debug)
     handler2=Handler(self.debug)
     address="echoMe"
     eb.registerHandler(address, handler1.handle)
     eb.registerHandler(address, handler2.handle)
     eb.wait(State.OPEN)
     eb.send('echo',EchoCommand("reset","send",address))
     cmd=EchoCommand("counter","publish",address)
     eb.send('echo',cmd)
     time.sleep(RECEIVE_WAIT)
     eb.close()
     assert 'counter' in handler1.result
     assert handler1.result['counter']==1
     assert 'counter' in handler2.result
     assert handler1.result['counter']==1