Files
redash/tests/query_runner/test_pg.py
Arik Fraimovich 9d8812a598 Postgres: make sure table from the public schema doesn't get merged with table from other schemas (#4224)
* Postgres: make sure table from the public schema doesn't get merged with a table from another schema.

* PEP8 updates
2019-10-10 13:02:22 +03:00

23 lines
841 B
Python

from unittest import TestCase
from redash.query_runner.pg import build_schema
class TestBuildSchema(TestCase):
def test_handles_dups_between_public_and_other_schemas(self):
results = {
'rows': [
{'table_schema': 'public', 'table_name': 'main.users', 'column_name': 'id'},
{'table_schema': 'main', 'table_name': 'users', 'column_name': 'id'},
{'table_schema': 'main', 'table_name': 'users', 'column_name': 'name'},
]
}
schema = {}
build_schema(results, schema)
self.assertIn('main.users', schema.keys())
self.assertListEqual(schema['main.users']['columns'], ['id', 'name'])
self.assertIn('public."main.users"', schema.keys())
self.assertListEqual(schema['public."main.users"']['columns'], ['id'])