fix(explore): deprecated x periods pattern in new time picker value (#12552)

This commit is contained in:
Yongjie Zhao
2021-01-24 15:41:15 +08:00
committed by GitHub
parent 1f27b62d51
commit 9e58eb809e
6 changed files with 188 additions and 21 deletions

View File

@@ -18,8 +18,10 @@ from datetime import datetime, timedelta
from unittest.mock import patch
from superset.utils.date_parser import (
DateRangeMigration,
datetime_eval,
get_since_until,
parse_human_datetime,
parse_human_timedelta,
parse_past_timedelta,
)
@@ -261,3 +263,31 @@ class TestDateParser(SupersetTestCase):
self.assertEqual(parse_past_timedelta("-1 year"), timedelta(365))
self.assertEqual(parse_past_timedelta("52 weeks"), timedelta(364))
self.assertEqual(parse_past_timedelta("1 month"), timedelta(31))
def test_parse_human_datetime(self):
with self.assertRaises(ValueError):
parse_human_datetime(" 2 days ")
with self.assertRaises(ValueError):
parse_human_datetime("2 day")
with self.assertRaises(ValueError):
parse_human_datetime("xxxxxxx")
def test_DateRangeMigration(self):
params = '{"time_range": " 8 days : 2020-03-10T00:00:00"}'
self.assertRegex(params, DateRangeMigration.x_dateunit_in_since)
params = '{"time_range": "2020-03-10T00:00:00 : 8 days "}'
self.assertRegex(params, DateRangeMigration.x_dateunit_in_until)
params = '{"time_range": " 2 weeks : 8 days "}'
self.assertRegex(params, DateRangeMigration.x_dateunit_in_since)
self.assertRegex(params, DateRangeMigration.x_dateunit_in_until)
params = '{"time_range": "2 weeks ago : 8 days later"}'
self.assertNotRegex(params, DateRangeMigration.x_dateunit_in_since)
self.assertNotRegex(params, DateRangeMigration.x_dateunit_in_until)
field = " 8 days "
self.assertRegex(field, DateRangeMigration.x_dateunit)