diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-08-06 07:48:08 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-08-06 07:48:08 +0000 |
commit | b737ee75da2515a4a53956e41ae85e29dd67f21d (patch) | |
tree | 3896f4cac8aebc31f5cdb32a111fa801aba7ca22 /tests/test_schema.py | |
parent | Adding upstream version 17.7.0. (diff) | |
download | sqlglot-36a31de82159cb2e65002a9e961289aa7dc1c05e.tar.xz sqlglot-36a31de82159cb2e65002a9e961289aa7dc1c05e.zip |
Adding upstream version 17.9.1.upstream/17.9.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/test_schema.py')
-rw-r--r-- | tests/test_schema.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/test_schema.py b/tests/test_schema.py index b89754f..626fa11 100644 --- a/tests/test_schema.py +++ b/tests/test_schema.py @@ -238,3 +238,37 @@ class TestSchema(unittest.TestCase): schema = MappingSchema(schema={"Foo": {"`BaR`": "int"}}, dialect="bigquery") self.assertEqual(schema.column_names("Foo"), ["bar"]) self.assertEqual(schema.column_names("foo"), []) + + # Check that the schema's normalization setting can be overridden + schema = MappingSchema(schema={"X": {"y": "int"}}, normalize=False, dialect="snowflake") + self.assertEqual(schema.column_names("x", normalize=True), ["y"]) + + def test_same_number_of_qualifiers(self): + schema = MappingSchema({"x": {"y": {"c1": "int"}}}) + + with self.assertRaises(SchemaError) as ctx: + schema.add_table("z", {"c2": "int"}) + + self.assertEqual( + str(ctx.exception), + "Table z must match the schema's nesting level: 2.", + ) + + schema = MappingSchema() + schema.add_table("x.y", {"c1": "int"}) + + with self.assertRaises(SchemaError) as ctx: + schema.add_table("z", {"c2": "int"}) + + self.assertEqual( + str(ctx.exception), + "Table z must match the schema's nesting level: 2.", + ) + + with self.assertRaises(SchemaError) as ctx: + MappingSchema({"x": {"y": {"c1": "int"}}, "z": {"c2": "int"}}) + + self.assertEqual( + str(ctx.exception), + "Table z must match the schema's nesting level: 2.", + ) |