Allow calling query results endpoint without parameters. (#3958)

* Allow calling query results endpoint without parameters.

* Fix: allow serializing empty or bad dates

* Revert "Fix: allow serializing empty or bad dates"

This reverts commit cc49319d9e.
This commit is contained in:
Arik Fraimovich
2019-07-07 14:22:08 +03:00
committed by GitHub
parent baec5d56f5
commit addecbdd8f
2 changed files with 10 additions and 2 deletions

View File

@@ -162,8 +162,8 @@ class QueryResultResource(BaseResource):
any cached result, or executes if not available. Set to zero to
always execute.
"""
params = request.get_json(force=True)
parameter_values = params.get('parameters')
params = request.get_json(force=True, silent=True) or {}
parameter_values = params.get('parameters', {})
max_age = params.get('max_age', -1)
# max_age might have the value of None, in which case calling int(None) will fail

View File

@@ -135,6 +135,14 @@ class TestQueryResultAPI(BaseTestCase):
self.assertEquals(rv.status_code, 200)
self.assertIn('job', rv.json)
def test_execute_with_no_parameter_values(self):
query = self.factory.create_query()
rv = self.make_request('post', '/api/queries/{}/results'.format(query.id))
self.assertEquals(rv.status_code, 200)
self.assertIn('job', rv.json)
def test_prevents_execution_of_unsafe_queries_on_view_only_data_sources(self):
ds = self.factory.create_data_source(group=self.factory.org.default_group, view_only=True)