diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/inspectdb/tests.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/inspectdb/tests.py b/tests/inspectdb/tests.py index e994b2cb74..83c49eb7e3 100644 --- a/tests/inspectdb/tests.py +++ b/tests/inspectdb/tests.py @@ -309,3 +309,32 @@ class InspectDBTransactionalTests(TransactionTestCase): finally: with connection.cursor() as cursor: cursor.execute('DROP VIEW inspectdb_people_view') + + @skipUnless(connection.vendor == 'postgresql', 'PostgreSQL specific SQL') + def test_foreign_data_wrapper(self): + with connection.cursor() as cursor: + cursor.execute('CREATE EXTENSION IF NOT EXISTS file_fdw') + cursor.execute('CREATE SERVER inspectdb_server FOREIGN DATA WRAPPER file_fdw') + cursor.execute('''\ + CREATE FOREIGN TABLE inspectdb_iris_foreign_table ( + petal_length real, + petal_width real, + sepal_length real, + sepal_width real + ) SERVER inspectdb_server OPTIONS ( + filename '/dev/null' + ) + ''') + out = StringIO() + foreign_table_model = 'class InspectdbIrisForeignTable(models.Model):' + foreign_table_managed = 'managed = False' + try: + call_command('inspectdb', stdout=out) + output = out.getvalue() + self.assertIn(foreign_table_model, output) + self.assertIn(foreign_table_managed, output) + finally: + with connection.cursor() as cursor: + cursor.execute('DROP FOREIGN TABLE IF EXISTS inspectdb_iris_foreign_table') + cursor.execute('DROP SERVER IF EXISTS inspectdb_server') + cursor.execute('DROP EXTENSION IF EXISTS file_fdw') |
