diff --git a/django/contrib/gis/tests/inspectapp/models.py b/django/contrib/gis/tests/inspectapp/models.py index 0f1b0d4e61b02..e4c0f542a992b 100644 --- a/django/contrib/gis/tests/inspectapp/models.py +++ b/django/contrib/gis/tests/inspectapp/models.py @@ -9,5 +9,6 @@ class AllOGRFields(models.Model): f_datetime = models.DateTimeField() f_time = models.TimeField() geom = models.PolygonField() + point = models.PointField() objects = models.GeoManager() diff --git a/django/contrib/gis/tests/inspectapp/tests.py b/django/contrib/gis/tests/inspectapp/tests.py index 4b7c5ff21dd3d..ea4ed3caca1c4 100644 --- a/django/contrib/gis/tests/inspectapp/tests.py +++ b/django/contrib/gis/tests/inspectapp/tests.py @@ -3,11 +3,13 @@ import os from unittest import skipUnless +from django.core.management import call_command from django.db import connections from django.test import TestCase from django.contrib.gis.gdal import HAS_GDAL from django.contrib.gis.geometry.test_data import TEST_DATA from django.contrib.gis.tests.utils import HAS_SPATIAL_DB +from django.utils.six import StringIO if HAS_GDAL: from django.contrib.gis.gdal import Driver @@ -16,6 +18,22 @@ from .models import AllOGRFields +@skipUnless(HAS_GDAL and HAS_SPATIAL_DB, "GDAL and spatial db are required.") +class InspectDbTests(TestCase): + def test_geom_columns(self): + """ + Test the geo-enabled inspectdb command. + """ + out = StringIO() + call_command('inspectdb', + table_name_filter=lambda tn:tn.startswith('inspectapp_'), + stdout=out) + output = out.getvalue() + self.assertIn('geom = models.PolygonField()', output) + self.assertIn('point = models.PointField()', output) + self.assertIn('objects = models.GeoManager()', output) + + @skipUnless(HAS_GDAL and HAS_SPATIAL_DB, "GDAL and spatial db are required.") class OGRInspectTest(TestCase): maxDiff = 1024