Adding upstream version 10.5.2.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
63044b3f6c
commit
b97d49f611
58 changed files with 1480 additions and 383 deletions
33
tests/test_serde.py
Normal file
33
tests/test_serde.py
Normal 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)
|
Loading…
Add table
Add a link
Reference in a new issue