def test_run_task_with_args_kwargs(self, strftime): """When a task with args and kwargs is passed to _execute_task, make sure it is run with those parameters. Ensure the task's environment is cleaned up. """ from furious.context import _local from furious.test_stubs.appengine.queues import _execute_task # Create the async_options to call the mocked target, strftime(). # To test args and kwargs, our arguments to the mocked strftime # won't match the real strftime's expected parameters. args = [1, 2] kwargs = {'my_kwarg': 'my_value'} async_options = {'job': ('time.strftime', args, kwargs)} body = base64.b64encode(json.dumps(async_options)) task = {'body': body, 'headers': {}} _execute_task(task) # Make sure our function was called with the right arguments strftime.assert_called_once_with(*args, **kwargs) # Make sure context cleanup worked self.assertFalse('REQUEST_ID_HASH' in os.environ) self.assertFalse(hasattr(_local._local_context, 'registry'))
def test_run_task_with_args_kwargs(self, strftime): """When a task with args and kwargs is passed to _execute_task, make sure it is run with those parameters. Ensure the task's environment is cleaned up. """ from furious.context import _local from furious.test_stubs.appengine.queues import _execute_task # Create the async_options to call the mocked target, strftime(). # To test args and kwargs, our arguments to the mocked strftime # won't match the real strftime's expected parameters. args = [1, 2] kwargs = {'my_kwarg': 'my_value'} async_options = {'job': ('time.strftime', args, kwargs)} body = base64.b64encode(json.dumps(async_options)) url = '/_ah/queue/async' task = {'url': url, 'body': body, 'headers': {}} _execute_task(task) # Make sure our function was called with the right arguments strftime.assert_called_once_with(*args, **kwargs) # Make sure context cleanup worked self.assertFalse('REQUEST_ID_HASH' in os.environ) self.assertFalse(hasattr(_local._local_context, 'registry'))
def test_run_task(self, ctime): """When a task is passed to _execute_task, make sure it is run. Ensure the task's environment is cleaned up. """ from furious.context import _local from furious.test_stubs.appengine.queues import _execute_task # Create the async_options to call the target, ctime() async_options = {'job': ('time.ctime', None, None)} body = base64.b64encode(json.dumps(async_options)) task = {'body': body, 'headers': {}} _execute_task(task) # Make sure our function was called self.assertTrue(ctime.called) # Make sure context cleanup worked self.assertFalse('REQUEST_ID_HASH' in os.environ) self.assertFalse(hasattr(_local._local_context, 'registry'))