Пример #1
0
    def test_submit_InvalidQuery(self, dr):
        dr.return_value = 'sqlite:///'
        self.request.matchdict['script'] = 'plot'
        self.request.json_body = 1234
        task = Mock(PythonTask)
        task.formfields2taskargs.side_effect = Invalid('Invalid query')
        views = Views(self.request)
        views.celery.tasks = {'plot': task}

        result = views.submit()

        eresult = {'success': False,
                   'msg': 'Invalid query'}
        self.assertEqual(result, eresult)
Пример #2
0
    def test_submit(self, dr):
        dr.return_value = 'sqlite:///'
        self.config.add_route('result', '/{taskid}')
        self.request.matchdict['script'] = 'plot'
        self.request.json_body = 1234
        task = Mock(PythonTask)
        task_result = Mock(AsyncResult)
        task_result.id = 'b3c84d96-4dc7-4532-a864-3573202f202a'
        task.apply_async.return_value = task_result
        views = Views(self.request)
        views.celery.tasks = {'plot': task}

        result = views.submit()

        eresult = {'success': True,
                   'result': '/b3c84d96-4dc7-4532-a864-3573202f202a',
                   }
        self.assertEqual(result, eresult)
        task.formfields2taskargs.assert_called_with(1234, 'sqlite:///')
Пример #3
0
    def test_submit_InvalidQueryField(self, dr):
        dr.return_value = 'sqlite:///'
        self.request.matchdict['script'] = 'kmzgen'
        self.request.json_body = {'shape': 'triangle'}
        task = Mock(PythonTask)

        import colander

        shape = colander.SchemaNode(colander.String(),
                                    name='shape',
                                    validator=colander.OneOf(['circle', 'iarrow', 'tarrow']))
        exception = colander.Invalid(shape, '"triangle" is not one of circle, iarrow, tarrow')
        task.formfields2taskargs.side_effect = exception
        views = Views(self.request)
        views.celery.tasks = {'kmzgen': task}

        result = views.submit()

        eresult = {'success': False,
                   'errors': {'shape': '"triangle" is not one of circle, iarrow, tarrow'},
                   }
        self.assertEqual(result, eresult)