1
0
Fork 0

Adding upstream version 10.5.2.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-13 15:02:59 +01:00
parent 63044b3f6c
commit b97d49f611
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
58 changed files with 1480 additions and 383 deletions

33
tests/test_serde.py Normal file
View file

@ -0,0 +1,33 @@
import json
import unittest
from sqlglot import exp, parse_one
from sqlglot.optimizer.annotate_types import annotate_types
from tests.helpers import load_sql_fixtures
class CustomExpression(exp.Expression):
...
class TestSerDe(unittest.TestCase):
def dump_load(self, expression):
return exp.Expression.load(json.loads(json.dumps(expression.dump())))
def test_serde(self):
for sql in load_sql_fixtures("identity.sql"):
with self.subTest(sql):
before = parse_one(sql)
after = self.dump_load(before)
self.assertEqual(before, after)
def test_custom_expression(self):
before = CustomExpression()
after = self.dump_load(before)
self.assertEqual(before, after)
def test_type_annotations(self):
before = annotate_types(parse_one("CAST('1' AS INT)"))
after = self.dump_load(before)
self.assertEqual(before.type, after.type)
self.assertEqual(before.this.type, after.this.type)