Ejemplo n.º 1
0
    def test_result(self, listdir):
        self.config.add_route('result_file', '/{script}/{taskid}/{filename}')
        self.request.matchdict['script'] = 'plot'
        self.request.matchdict['taskid'] = 'mytaskid'
        views = Views(self.request)
        task_result = Mock(AsyncResult)
        task_result.id = 'mytaskid'
        task_result.ready.return_value = True
        task_result.failed.return_value = False
        views.celery.AsyncResult = Mock(return_value=task_result)
        task = PythonTask()
        task.name = 'plot'
        views.celery.tasks = {'plot': task}
        listdir.return_value = ['stderr.txt', 'stdout.txt']

        result = views.result()

        eresult = {'result': task_result,
                   'files': {'stderr.txt': '/plot/mytaskid/stderr.txt',
                             'stdout.txt': '/plot/mytaskid/stdout.txt',
                             },
                   'task': task,
                   'result_html': None,
                   }
        self.assertEqual(result, eresult)
        listdir.assert_called_with('/tmp/results/mytaskid')
Ejemplo n.º 2
0
    def test_result_nofiles(self, listdir):
        self.request.matchdict['script'] = 'plot'
        self.request.matchdict['taskid'] = 'mytaskid'
        views = Views(self.request)
        task_result = Mock(AsyncResult)
        task_result.ready.return_value = True
        task_result.failed.return_value = False
        views.celery.AsyncResult = Mock(return_value=task_result)
        task = PythonTask()
        task.name = 'plot'
        views.celery.tasks = {'plot': task}
        listdir.side_effect = OSError('[Errno 2] No such file or directory: /tmp/results/mytaskid')

        result = views.result()

        eresult = {'result': task_result,
                   'files': {},
                   'task': task,
                   'result_html': None,
                   }
        self.assertEqual(result, eresult)