import six import errand_boy from errand_boy.exceptions import SessionClosedError, UnknownMethodError from errand_boy.transports import base from .base import mock, BaseTestCase class WorkerInitTestCase(BaseTestCase): def test(self): with mock.patch.object(base, 'setproctitle') as mock_setproctitle,\ mock.patch.object(base.multiprocessing, 'current_process') as mock_current_process,\ mock.patch.object(base, 'signal') as mock_signal: mock_current_process.return_value = mock.Mock() mock_current_process.return_value.name = 'foo-1' base.worker_init() self.assertEqual(mock_setproctitle.call_args_list[0][0][0], 'errand-boy worker process 1') class RemoteObjWrapperTestCase(BaseTestCase): def test__send_unknown_method(self): session = mock.Mock() session.closed = False row = base.RemoteObjWrapper(session, 'foo') with self.assertRaises(UnknownMethodError): row._send('FOO') def test__send_session_closed(self): session = mock.Mock() session.closed = True row = base.RemoteObjWrapper(session, 'foo') with self.assertRaises(SessionClosedError): row._send('GET') class RemoteObjRefTestCase(BaseTestCase): def test___init___binary(self): name = six.binary_type(b'foo') ref = base.RemoteObjRef(name) self.assertEqual(ref.name, name.decode('utf-8')) def test___init___text(self): name = six.text_type(u'foo') ref = base.RemoteObjRef(name) self.assertEqual(ref.name, name) class BaseTransportTestCase(BaseTestCase): def setUp(self): super(BaseTransportTestCase, self).setUp() self.transport = transport = base.BaseTransport() def test_server_get_connection(self): with self.assertRaises(NotImplementedError): self.transport.server_get_connection() def test_server_recv(self): with self.assertRaises(NotImplementedError): self.transport.server_recv(None) def test_server_send(self): with self.assertRaises(NotImplementedError): self.transport.server_send(None, None) def test_server_close(self): self.transport.server_close(None) def test_server_accept(self): with self.assertRaises(NotImplementedError): self.transport.server_accept(None) def test_client_get_connection(self): with self.assertRaises(NotImplementedError): self.transport.client_get_connection() def test_client_recv(self): with self.assertRaises(NotImplementedError): self.transport.client_recv(None) def test_client_send(self): with self.assertRaises(NotImplementedError): self.transport.client_send(None, None) def test_client_close(self): self.transport.client_close(None)