def test_spooler_task_introspection(self): with self.patcher as uwsgi_mock: uwsgi_mock.opt = {'spooler': '/tmp/spooler'} s_task = spooler_and_task_introspection('a', 1) message = s_task.get_message_content() manage_spool_request(message) new_message = uwsgi_mock.spool.call_args_list[-1][0][0] manage_spool_request(new_message) self.storage.assert_called_with('a', 1) self.assertEqual(2, self.storage.call_count)
def test_spooler_task_execution(self): with self.patcher as uwsgi_mock: uwsgi_mock.opt = {'spooler': '/tmp/spooler'} uwsgi_mock.SPOOL_OK = SPOOL_OK s_task = spooler_task(0, '1') message = s_task.get_message_content() self.assertEqual(message[b'priority'], b'10') uwsgi_mock.spool.assert_called_with(message) manage_spool_request(message) self.storage.assert_called_once_with(0, '1')
def test_spooler_task_execution(self): with self.patcher as uwsgi_mock: uwsgi_mock.opt = {'spooler': '/tmp/spooler'} uwsgi_mock.SPOOL_OK = SPOOL_OK s_task = spooler_task(0, '1') message = s_task.get_message_content() self.assertEqual(message['priority'], 10) uwsgi_mock.spool.assert_called_with(message) manage_spool_request(message) self.storage.assert_called_once_with(0, '1')
def test_spooler_task_large_args_in_body(self): large_arg = 'b' * 64 * 1024 with self.patcher as uwsgi_mock: uwsgi_mock.opt = {'spooler': '/tmp/spooler'} s_task = spooler_task('a', large_arg) message = s_task.get_message_content() expected_args = s_task._encode_message({ 'args': serialize(()), 'kwargs': serialize({}), }) self.assertEqual(message[b'args'], expected_args[b'args']) self.assertEqual(message[b'kwargs'], expected_args[b'kwargs']) manage_spool_request(message) self.storage.assert_called_once_with('a', large_arg)
def test_spooler_retry_on_exception(self): with self.patcher as uwsgi_mock: uwsgi_mock.opt = {'spooler': '/tmp/spooler'} uwsgi_mock.SPOOL_OK = SPOOL_OK s_task = spooler_retry_task(666, 777) message = s_task.get_message_content() self.assertFalse(message.get('at')) uwsgi_mock.spool.assert_called_with(message) manage_spool_request(message) self.storage.assert_called_once_with(666, 777) new_message = uwsgi_mock.spool.call_args_list[-1][0][0] self.assertTrue(new_message.get('at')) manage_spool_request(message) self.assertEqual(2, self.storage.call_count)
def test_task_working_directory_changed(self): current_dir = os.getcwd() with self.patcher as uwsgi_mock: uwsgi_mock.opt = {'spooler': SPOOLER_DIR} s_task = spooler_task_with_cwd_changed() message = s_task.get_message_content() os.chdir(SPOOLER_DIR) manage_spool_request(message) self.assertTrue(self.storage.called) self.storage.reset_mock() os.chdir(current_dir) s_task = spooler_task_with_cwd_not_changed() message = s_task.get_message_content() os.chdir(SPOOLER_DIR) manage_spool_request(message) self.assertTrue(self.storage.called) self.storage.reset_mock() os.chdir(current_dir)