diff --git a/redash/models/parameterized_query.py b/redash/models/parameterized_query.py index 60a443b8bb..784e609cc3 100644 --- a/redash/models/parameterized_query.py +++ b/redash/models/parameterized_query.py @@ -94,7 +94,7 @@ def _is_date(string): try: parse(string) return True - except ValueError: + except (ValueError, TypeError): return False diff --git a/tests/models/test_parameterized_query.py b/tests/models/test_parameterized_query.py index 3f8dc42436..b4ba635b8a 100644 --- a/tests/models/test_parameterized_query.py +++ b/tests/models/test_parameterized_query.py @@ -97,6 +97,13 @@ def test_raises_on_invalid_date_parameters(self): with pytest.raises(InvalidParameterError): query.apply({"bar": "baz"}) + def test_raises_on_none_for_date_parameters(self): + schema = [{"name": "bar", "type": "date"}] + query = ParameterizedQuery("foo", schema) + + with pytest.raises(InvalidParameterError): + query.apply({"bar": None}) + def test_validates_date_parameters(self): schema = [{"name": "bar", "type": "date"}] query = ParameterizedQuery("foo {{bar}}", schema)