コード例 #1
0
ファイル: test_socket.py プロジェクト: ozanturksever/registry
class TestSocket:
    def setUp(self):
        self.zmq_mock = Mock(spec=zmq)
        self.zmq_mock.Context().socket().recv.return_value = msgpack.packb({'a':'b'})
        self.patcher = patch('src.socket.zmq', self.zmq_mock)
        self.patcher.start()
        self.s = Socket('tcp://127.0.0.1:10000')

    def tearDown(self):
        self.patcher.stop()

    def test_connect(self):
        self.s._Socket__connect()
        assert self.zmq_mock.Context.called
        assert self.zmq_mock.Context().socket().connect.call_args[0] == (('tcp://127.0.0.1:10000'),)

    def test_send(self):
        self.s.send('get_all')
        assert self.zmq_mock.Context().socket().send.called
        assert self.zmq_mock.Context().socket().send.call_args[0] == (msgpack.packb({'action':'get_all','data':None}),)

    def test_recv(self):
        value = self.s.send('get_all')
        assert self.zmq_mock.Context().socket().recv.called
        assert value == {'a':'b'}

    def test_send_with_data(self):
        self.s.send('commit',{'a':'b'})
        assert self.zmq_mock.Context().socket().send.called
        assert self.zmq_mock.Context().socket().send.call_args[0] == ((msgpack.packb({'action':'commit','data':{'a':'b'}})),)