HCE Project Python language Distributed Tasks Manager Application, Distributed Crawler Application and client API bindings.  2.0.0-chaika
Hierarchical Cluster Engine Python language binding
test_transport_ConnectionLight.py
Go to the documentation of this file.
1 '''
2 Created on Feb 28, 2014
3 
4 @author: igor
5 '''
6 import unittest
7 from mock import MagicMock
8 import zmq
9 from transport.ConnectionLight import ConnectionLight, TransportInternalErr
10 from transport.ConnectionBuilderLight import ConnectionBuilderLight
11 import transport.Consts as consts
12 
13 
14 class TestConnectionLight(unittest.TestCase):
15 
16 
17  def setUp(self):
18  self.zmq_sock_mock = MagicMock(spec = zmq.Socket)
19  self.zmq_sock_mock.send_pyobj.side_effect = zmq.ZMQError("boom")
20 
21 
23  connection = ConnectionLight(self.zmq_sock_mock, consts.CLIENT_CONNECT)
24  self.zmq_sock_mock.send_pyobj.side_effect = zmq.ZMQError("boom")
25 
26  with self.assertRaises(TransportInternalErr):
27  list(connection.send("python object"))
28 
29 
31  connection = ConnectionLight(self.zmq_sock_mock, consts.CLIENT_CONNECT)
32  self.zmq_sock_mock.recv_pyobj.side_effect = zmq.ZMQError("boom")
33 
34  with self.assertRaises(TransportInternalErr):
35  list(connection.recv())
36 
37 
38  def test_poll_no_event(self):
39  connectionBuilder = ConnectionBuilderLight()
40 
41  client_connect = connectionBuilder.build(consts.CLIENT_CONNECT, "127.0.0.1:8292", consts.TCP_TYPE)
42 
43  timeout=500
44  ret_val = client_connect.poll(timeout)
45 
46  self.assertEqual(ret_val, 0, "There are events!!!!!!!")
47  client_connect.close()
48 
Class hides routines of bulding connection objects.