summaryrefslogtreecommitdiffstats
path: root/tests/test_parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_parser.py')
-rw-r--r--tests/test_parser.py36
1 files changed, 35 insertions, 1 deletions
diff --git a/tests/test_parser.py b/tests/test_parser.py
index 91fd4c6..c7e1dbe 100644
--- a/tests/test_parser.py
+++ b/tests/test_parser.py
@@ -10,7 +10,7 @@ from tests.helpers import assert_logger_contains
class TestParser(unittest.TestCase):
def test_parse_empty(self):
- with self.assertRaises(ParseError) as ctx:
+ with self.assertRaises(ParseError):
parse_one("")
def test_parse_into(self):
@@ -805,3 +805,37 @@ class TestParser(unittest.TestCase):
error_level=ErrorLevel.IGNORE,
)
self.assertEqual(ast[0].sql(), "CONCAT_WS()")
+
+ def test_parse_drop_schema(self):
+ for dialect in [None, "bigquery", "snowflake"]:
+ with self.subTest(dialect):
+ ast = parse_one("DROP SCHEMA catalog.schema", dialect=dialect)
+ self.assertEqual(
+ ast,
+ exp.Drop(
+ this=exp.Table(
+ this=None,
+ db=exp.Identifier(this="schema", quoted=False),
+ catalog=exp.Identifier(this="catalog", quoted=False),
+ ),
+ kind="SCHEMA",
+ ),
+ )
+ self.assertEqual(ast.sql(dialect=dialect), "DROP SCHEMA catalog.schema")
+
+ def test_parse_create_schema(self):
+ for dialect in [None, "bigquery", "snowflake"]:
+ with self.subTest(dialect):
+ ast = parse_one("CREATE SCHEMA catalog.schema", dialect=dialect)
+ self.assertEqual(
+ ast,
+ exp.Create(
+ this=exp.Table(
+ this=None,
+ db=exp.Identifier(this="schema", quoted=False),
+ catalog=exp.Identifier(this="catalog", quoted=False),
+ ),
+ kind="SCHEMA",
+ ),
+ )
+ self.assertEqual(ast.sql(dialect=dialect), "CREATE SCHEMA catalog.schema")