mirror of
https://github.com/apache/superset.git
synced 2026-04-18 23:55:00 +00:00
fix: JSON serializers (#22029)
This commit is contained in:
@@ -94,9 +94,10 @@ class TestUtils(SupersetTestCase):
|
||||
assert json_int_dttm_ser(datetime(1970, 1, 1)) == 0
|
||||
assert json_int_dttm_ser(date(1970, 1, 1)) == 0
|
||||
assert json_int_dttm_ser(dttm + timedelta(milliseconds=1)) == (ts + 1)
|
||||
assert json_int_dttm_ser(np.int64(1)) == 1
|
||||
|
||||
with self.assertRaises(TypeError):
|
||||
json_int_dttm_ser("this is not a date")
|
||||
json_int_dttm_ser(np.datetime64())
|
||||
|
||||
def test_json_iso_dttm_ser(self):
|
||||
dttm = datetime(2020, 1, 1)
|
||||
@@ -105,19 +106,31 @@ class TestUtils(SupersetTestCase):
|
||||
assert json_iso_dttm_ser(dttm) == dttm.isoformat()
|
||||
assert json_iso_dttm_ser(dt) == dt.isoformat()
|
||||
assert json_iso_dttm_ser(t) == t.isoformat()
|
||||
assert json_iso_dttm_ser(np.int64(1)) == 1
|
||||
|
||||
assert (
|
||||
json_iso_dttm_ser(np.datetime64(), pessimistic=True)
|
||||
== "Unserializable [<class 'numpy.datetime64'>]"
|
||||
)
|
||||
|
||||
with self.assertRaises(TypeError):
|
||||
json_iso_dttm_ser("this is not a date")
|
||||
json_iso_dttm_ser(np.datetime64())
|
||||
|
||||
def test_base_json_conv(self):
|
||||
assert isinstance(base_json_conv(np.bool_(1)), bool) is True
|
||||
assert isinstance(base_json_conv(np.int64(1)), int) is True
|
||||
assert isinstance(base_json_conv(np.array([1, 2, 3])), list) is True
|
||||
assert isinstance(base_json_conv(set([1])), list) is True
|
||||
assert isinstance(base_json_conv(Decimal("1.0")), float) is True
|
||||
assert isinstance(base_json_conv(uuid.uuid4()), str) is True
|
||||
assert isinstance(base_json_conv(time()), str) is True
|
||||
assert isinstance(base_json_conv(timedelta(0)), str) is True
|
||||
assert isinstance(base_json_conv(np.bool_(1)), bool)
|
||||
assert isinstance(base_json_conv(np.int64(1)), int)
|
||||
assert isinstance(base_json_conv(np.array([1, 2, 3])), list)
|
||||
assert base_json_conv(np.array(None)) is None
|
||||
assert isinstance(base_json_conv(set([1])), list)
|
||||
assert isinstance(base_json_conv(Decimal("1.0")), float)
|
||||
assert isinstance(base_json_conv(uuid.uuid4()), str)
|
||||
assert isinstance(base_json_conv(time()), str)
|
||||
assert isinstance(base_json_conv(timedelta(0)), str)
|
||||
assert isinstance(base_json_conv(bytes()), str)
|
||||
assert base_json_conv(bytes("", encoding="utf-16")) == "[bytes]"
|
||||
|
||||
with pytest.raises(TypeError):
|
||||
base_json_conv(np.datetime64())
|
||||
|
||||
def test_zlib_compression(self):
|
||||
json_str = '{"test": 1}'
|
||||
|
||||
Reference in New Issue
Block a user