Add a test for the geo-enabled inspectdb command

This commit is contained in:
Claude Paroz 2013-09-12 10:30:45 +02:00
parent 37faf12e66
commit c82f6c2227
2 changed files with 19 additions and 0 deletions

View File

@ -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()

View File

@ -3,11 +3,13 @@ from __future__ import unicode_literals
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 @@ if HAS_GDAL:
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