mirror of
https://github.com/apache/superset.git
synced 2026-04-10 11:55:24 +00:00
add unit test
This commit is contained in:
@@ -835,6 +835,13 @@ def merge_extra_filters(form_data):
|
||||
del form_data['extra_filters']
|
||||
|
||||
|
||||
def merge_request_params(form_data, params):
|
||||
for key, value in params.items():
|
||||
if key == 'form_data':
|
||||
continue
|
||||
form_data[key] = value
|
||||
|
||||
|
||||
def get_update_perms_flag():
|
||||
val = os.environ.get('SUPERSET_UPDATE_PERMS')
|
||||
return val.lower() not in ('0', 'false', 'no') if val else True
|
||||
|
||||
@@ -43,7 +43,9 @@ from superset.legacy import cast_form_data
|
||||
import superset.models.core as models
|
||||
from superset.models.sql_lab import Query
|
||||
from superset.sql_parse import SupersetQuery
|
||||
from superset.utils import has_access, merge_extra_filters, QueryStatus
|
||||
from superset.utils import (
|
||||
has_access, merge_extra_filters, merge_request_params, QueryStatus,
|
||||
)
|
||||
from .base import (
|
||||
api, BaseSupersetView, CsvResponse, DeleteMixin,
|
||||
generate_download_headers, get_error_msg, get_user_roles,
|
||||
@@ -1257,11 +1259,7 @@ class Superset(BaseSupersetView):
|
||||
|
||||
# merge request url params
|
||||
if request.method == 'GET':
|
||||
url_params = request.args
|
||||
for key, value in url_params.items():
|
||||
if key == 'form_data':
|
||||
continue
|
||||
form_data[key] = value
|
||||
merge_request_params(form_data, request.args)
|
||||
|
||||
# handle save or overwrite
|
||||
action = request.args.get('action')
|
||||
|
||||
@@ -14,7 +14,8 @@ import numpy
|
||||
|
||||
from superset.utils import (
|
||||
base_json_conv, datetime_f, json_int_dttm_ser, json_iso_dttm_ser,
|
||||
JSONEncodedDict, memoized, merge_extra_filters, parse_human_timedelta,
|
||||
JSONEncodedDict, memoized, merge_extra_filters, merge_request_params,
|
||||
parse_human_timedelta,
|
||||
SupersetException, validate_json, zlib_compress, zlib_decompress_to_string,
|
||||
)
|
||||
|
||||
@@ -216,6 +217,19 @@ class UtilsTestCase(unittest.TestCase):
|
||||
merge_extra_filters(form_data)
|
||||
self.assertEquals(form_data, expected)
|
||||
|
||||
def test_merge_request_params(self):
|
||||
form_data = {
|
||||
'since': '2000',
|
||||
'until': 'now',
|
||||
}
|
||||
url_params = {
|
||||
'form_data': form_data,
|
||||
'dashboard_ids': '(1,2,3,4,5)',
|
||||
}
|
||||
merge_request_params(form_data, url_params)
|
||||
self.assertIn('dashboard_ids', form_data.keys())
|
||||
self.assertNotIn('form_data', form_data.keys())
|
||||
|
||||
def test_datetime_f(self):
|
||||
self.assertEquals(
|
||||
datetime_f(datetime(1990, 9, 21, 19, 11, 19, 626096)),
|
||||
|
||||
Reference in New Issue
Block a user