mirror of
				https://github.com/django/django.git
				synced 2025-10-30 17:16:10 +00:00 
			
		
		
		
	[1.8.x] Moved contrib.gis tests out of contrib.
Backport of ad0be620ae from master
			
			
This commit is contained in:
		| @@ -19,14 +19,8 @@ recursive-include django/contrib/admin/templates * | |||||||
| recursive-include django/contrib/admin/static * | recursive-include django/contrib/admin/static * | ||||||
| recursive-include django/contrib/admindocs/templates * | recursive-include django/contrib/admindocs/templates * | ||||||
| recursive-include django/contrib/auth/templates * | recursive-include django/contrib/auth/templates * | ||||||
| recursive-include django/contrib/gis/gdal/tests/data * |  | ||||||
| recursive-include django/contrib/gis/static * | recursive-include django/contrib/gis/static * | ||||||
| recursive-include django/contrib/gis/templates * | recursive-include django/contrib/gis/templates * | ||||||
| recursive-include django/contrib/gis/tests/data * |  | ||||||
| recursive-include django/contrib/gis/tests/distapp/fixtures * |  | ||||||
| recursive-include django/contrib/gis/tests/geoapp/fixtures * |  | ||||||
| recursive-include django/contrib/gis/tests/geogapp/fixtures * |  | ||||||
| recursive-include django/contrib/gis/tests/relatedapp/fixtures * |  | ||||||
| recursive-include django/contrib/sitemaps/templates * | recursive-include django/contrib/sitemaps/templates * | ||||||
| recursive-exclude * __pycache__ | recursive-exclude * __pycache__ | ||||||
| recursive-exclude * *.py[co] | recursive-exclude * *.py[co] | ||||||
|   | |||||||
| @@ -1,7 +1,8 @@ | |||||||
| from django.contrib.gis.db import models | from django.contrib.gis.db import models | ||||||
| from django.contrib.gis.tests.utils import gisfield_may_be_null |  | ||||||
| from django.utils.encoding import python_2_unicode_compatible | from django.utils.encoding import python_2_unicode_compatible | ||||||
| 
 | 
 | ||||||
|  | from ..utils import gisfield_may_be_null | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| @python_2_unicode_compatible | @python_2_unicode_compatible | ||||||
| class NamedModel(models.Model): | class NamedModel(models.Model): | ||||||
| @@ -11,7 +12,6 @@ class NamedModel(models.Model): | |||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         abstract = True |         abstract = True | ||||||
|         app_label = 'distapp' |  | ||||||
| 
 | 
 | ||||||
|     def __str__(self): |     def __str__(self): | ||||||
|         return self.name |         return self.name | ||||||
| @@ -2,13 +2,12 @@ from __future__ import unicode_literals | |||||||
| 
 | 
 | ||||||
| from django.contrib.gis.geos import HAS_GEOS | from django.contrib.gis.geos import HAS_GEOS | ||||||
| from django.contrib.gis.measure import D  # alias for Distance | from django.contrib.gis.measure import D  # alias for Distance | ||||||
| from django.contrib.gis.tests.utils import ( |  | ||||||
|     no_oracle, oracle, postgis, spatialite, |  | ||||||
| ) |  | ||||||
| from django.db import connection | from django.db import connection | ||||||
| from django.db.models import Q | from django.db.models import Q | ||||||
| from django.test import TestCase, skipUnlessDBFeature | from django.test import TestCase, skipUnlessDBFeature | ||||||
| 
 | 
 | ||||||
|  | from ..utils import no_oracle, oracle, postgis, spatialite | ||||||
|  | 
 | ||||||
| if HAS_GEOS: | if HAS_GEOS: | ||||||
|     from django.contrib.gis.geos import GEOSGeometry, LineString |     from django.contrib.gis.geos import GEOSGeometry, LineString | ||||||
| 
 | 
 | ||||||
| @@ -3,9 +3,8 @@ import unittest | |||||||
| from unittest import skipUnless | from unittest import skipUnless | ||||||
| 
 | 
 | ||||||
| from django.contrib.gis.gdal import HAS_GDAL | from django.contrib.gis.gdal import HAS_GDAL | ||||||
| from django.contrib.gis.geometry.test_data import ( | 
 | ||||||
|     TEST_DATA, TestDS, get_ds_file, | from ..test_data import TEST_DATA, TestDS, get_ds_file | ||||||
| ) |  | ||||||
| 
 | 
 | ||||||
| if HAS_GDAL: | if HAS_GDAL: | ||||||
|     from django.contrib.gis.gdal import DataSource, Envelope, OGRGeometry, GDALException, OGRIndexError, GDAL_VERSION |     from django.contrib.gis.gdal import DataSource, Envelope, OGRGeometry, GDALException, OGRIndexError, GDAL_VERSION | ||||||
| @@ -4,9 +4,10 @@ from binascii import b2a_hex | |||||||
| from unittest import skipUnless | from unittest import skipUnless | ||||||
| 
 | 
 | ||||||
| from django.contrib.gis.gdal import HAS_GDAL | from django.contrib.gis.gdal import HAS_GDAL | ||||||
| from django.contrib.gis.geometry.test_data import TestDataMixin |  | ||||||
| from django.utils.six.moves import range | from django.utils.six.moves import range | ||||||
| 
 | 
 | ||||||
|  | from ..test_data import TestDataMixin | ||||||
|  | 
 | ||||||
| try: | try: | ||||||
|     from django.utils.six.moves import cPickle as pickle |     from django.utils.six.moves import cPickle as pickle | ||||||
| except ImportError: | except ImportError: | ||||||
| @@ -10,7 +10,6 @@ class NamedModel(models.Model): | |||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         abstract = True |         abstract = True | ||||||
|         app_label = 'geo3d' |  | ||||||
| 
 | 
 | ||||||
|     def __str__(self): |     def __str__(self): | ||||||
|         return self.name |         return self.name | ||||||
| @@ -50,7 +49,6 @@ class SimpleModel(models.Model): | |||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         abstract = True |         abstract = True | ||||||
|         app_label = 'geo3d' |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class Point2D(SimpleModel): | class Point2D(SimpleModel): | ||||||
| @@ -1,7 +1,8 @@ | |||||||
| from django.contrib.gis.db import models | from django.contrib.gis.db import models | ||||||
| from django.contrib.gis.tests.utils import gisfield_may_be_null |  | ||||||
| from django.utils.encoding import python_2_unicode_compatible | from django.utils.encoding import python_2_unicode_compatible | ||||||
| 
 | 
 | ||||||
|  | from ..utils import gisfield_may_be_null | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| @python_2_unicode_compatible | @python_2_unicode_compatible | ||||||
| class NamedModel(models.Model): | class NamedModel(models.Model): | ||||||
| @@ -11,7 +12,6 @@ class NamedModel(models.Model): | |||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         abstract = True |         abstract = True | ||||||
|         app_label = 'geoapp' |  | ||||||
| 
 | 
 | ||||||
|     def __str__(self): |     def __str__(self): | ||||||
|         return self.name |         return self.name | ||||||
| @@ -24,6 +24,9 @@ class Country(NamedModel): | |||||||
| class City(NamedModel): | class City(NamedModel): | ||||||
|     point = models.PointField() |     point = models.PointField() | ||||||
| 
 | 
 | ||||||
|  |     class Meta: | ||||||
|  |         app_label = 'geoapp' | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| # This is an inherited model from City | # This is an inherited model from City | ||||||
| class PennsylvaniaCity(City): | class PennsylvaniaCity(City): | ||||||
| @@ -41,6 +44,9 @@ class PennsylvaniaCity(City): | |||||||
| class State(NamedModel): | class State(NamedModel): | ||||||
|     poly = models.PolygonField(null=gisfield_may_be_null)  # Allowing NULL geometries here. |     poly = models.PolygonField(null=gisfield_may_be_null)  # Allowing NULL geometries here. | ||||||
| 
 | 
 | ||||||
|  |     class Meta: | ||||||
|  |         app_label = 'geoapp' | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| class Track(NamedModel): | class Track(NamedModel): | ||||||
|     line = models.LineStringField() |     line = models.LineStringField() | ||||||
| @@ -57,9 +63,6 @@ class Truth(models.Model): | |||||||
| 
 | 
 | ||||||
|     objects = models.GeoManager() |     objects = models.GeoManager() | ||||||
| 
 | 
 | ||||||
|     class Meta: |  | ||||||
|         app_label = 'geoapp' |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| class Feature(NamedModel): | class Feature(NamedModel): | ||||||
|     geom = models.GeometryField() |     geom = models.GeometryField() | ||||||
| @@ -70,9 +73,6 @@ class MinusOneSRID(models.Model): | |||||||
| 
 | 
 | ||||||
|     objects = models.GeoManager() |     objects = models.GeoManager() | ||||||
| 
 | 
 | ||||||
|     class Meta: |  | ||||||
|         app_label = 'geoapp' |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| class NonConcreteField(models.IntegerField): | class NonConcreteField(models.IntegerField): | ||||||
| 
 | 
 | ||||||
| @@ -14,7 +14,7 @@ if HAS_GEOS: | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @modify_settings(INSTALLED_APPS={'append': 'django.contrib.sites'}) | @modify_settings(INSTALLED_APPS={'append': 'django.contrib.sites'}) | ||||||
| @override_settings(ROOT_URLCONF='django.contrib.gis.tests.geoapp.urls') | @override_settings(ROOT_URLCONF='gis_tests.geoapp.urls') | ||||||
| @skipUnlessDBFeature("gis_enabled") | @skipUnlessDBFeature("gis_enabled") | ||||||
| class GeoFeedTest(TestCase): | class GeoFeedTest(TestCase): | ||||||
|     fixtures = ['initial'] |     fixtures = ['initial'] | ||||||
| @@ -5,10 +5,11 @@ from datetime import datetime | |||||||
| 
 | 
 | ||||||
| from django.contrib.gis.geos import HAS_GEOS | from django.contrib.gis.geos import HAS_GEOS | ||||||
| from django.contrib.gis.shortcuts import render_to_kmz | from django.contrib.gis.shortcuts import render_to_kmz | ||||||
| from django.contrib.gis.tests.utils import no_oracle |  | ||||||
| from django.db.models import Count, Min | from django.db.models import Count, Min | ||||||
| from django.test import TestCase, skipUnlessDBFeature | from django.test import TestCase, skipUnlessDBFeature | ||||||
| 
 | 
 | ||||||
|  | from ..utils import no_oracle | ||||||
|  | 
 | ||||||
| if HAS_GEOS: | if HAS_GEOS: | ||||||
|     from django.contrib.gis.db.models import Extent |     from django.contrib.gis.db.models import Extent | ||||||
|     from .models import City, PennsylvaniaCity, State, Truth |     from .models import City, PennsylvaniaCity, State, Truth | ||||||
| @@ -18,7 +18,7 @@ if HAS_GEOS: | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @modify_settings(INSTALLED_APPS={'append': ['django.contrib.sites', 'django.contrib.sitemaps']}) | @modify_settings(INSTALLED_APPS={'append': ['django.contrib.sites', 'django.contrib.sitemaps']}) | ||||||
| @override_settings(ROOT_URLCONF='django.contrib.gis.tests.geoapp.urls') | @override_settings(ROOT_URLCONF='gis_tests.geoapp.urls') | ||||||
| @skipUnlessDBFeature("gis_enabled") | @skipUnlessDBFeature("gis_enabled") | ||||||
| class GeoSitemapTest(TestCase): | class GeoSitemapTest(TestCase): | ||||||
| 
 | 
 | ||||||
| @@ -5,15 +5,14 @@ from tempfile import NamedTemporaryFile | |||||||
| 
 | 
 | ||||||
| from django.contrib.gis import gdal | from django.contrib.gis import gdal | ||||||
| from django.contrib.gis.geos import HAS_GEOS | from django.contrib.gis.geos import HAS_GEOS | ||||||
| from django.contrib.gis.tests.utils import ( |  | ||||||
|     no_oracle, oracle, postgis, spatialite, |  | ||||||
| ) |  | ||||||
| from django.core.management import call_command | from django.core.management import call_command | ||||||
| from django.db import connection | from django.db import connection | ||||||
| from django.test import TestCase, ignore_warnings, skipUnlessDBFeature | from django.test import TestCase, ignore_warnings, skipUnlessDBFeature | ||||||
| from django.utils import six | from django.utils import six | ||||||
| from django.utils.deprecation import RemovedInDjango20Warning | from django.utils.deprecation import RemovedInDjango20Warning | ||||||
| 
 | 
 | ||||||
|  | from ..utils import no_oracle, oracle, postgis, spatialite | ||||||
|  | 
 | ||||||
| if HAS_GEOS: | if HAS_GEOS: | ||||||
|     from django.contrib.gis.db.models import Extent, MakeLine, Union |     from django.contrib.gis.db.models import Extent, MakeLine, Union | ||||||
|     from django.contrib.gis.geos import (fromstr, GEOSGeometry, |     from django.contrib.gis.geos import (fromstr, GEOSGeometry, | ||||||
| @@ -10,7 +10,6 @@ class NamedModel(models.Model): | |||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         abstract = True |         abstract = True | ||||||
|         app_label = 'geogapp' |  | ||||||
| 
 | 
 | ||||||
|     def __str__(self): |     def __str__(self): | ||||||
|         return self.name |         return self.name | ||||||
| @@ -19,6 +18,9 @@ class NamedModel(models.Model): | |||||||
| class City(NamedModel): | class City(NamedModel): | ||||||
|     point = models.PointField(geography=True) |     point = models.PointField(geography=True) | ||||||
| 
 | 
 | ||||||
|  |     class Meta: | ||||||
|  |         app_label = 'geogapp' | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| class Zipcode(NamedModel): | class Zipcode(NamedModel): | ||||||
|     code = models.CharField(max_length=10) |     code = models.CharField(max_length=10) | ||||||
| @@ -29,5 +31,8 @@ class County(NamedModel): | |||||||
|     state = models.CharField(max_length=20) |     state = models.CharField(max_length=20) | ||||||
|     mpoly = models.MultiPolygonField(geography=True) |     mpoly = models.MultiPolygonField(geography=True) | ||||||
| 
 | 
 | ||||||
|  |     class Meta: | ||||||
|  |         app_label = 'geogapp' | ||||||
|  | 
 | ||||||
|     def __str__(self): |     def __str__(self): | ||||||
|         return ' County, '.join([self.name, self.state]) |         return ' County, '.join([self.name, self.state]) | ||||||
| @@ -9,10 +9,11 @@ from unittest import skipUnless | |||||||
| from django.contrib.gis.gdal import HAS_GDAL | from django.contrib.gis.gdal import HAS_GDAL | ||||||
| from django.contrib.gis.geos import HAS_GEOS | from django.contrib.gis.geos import HAS_GEOS | ||||||
| from django.contrib.gis.measure import D | from django.contrib.gis.measure import D | ||||||
| from django.contrib.gis.tests.utils import oracle, postgis |  | ||||||
| from django.test import TestCase, skipUnlessDBFeature | from django.test import TestCase, skipUnlessDBFeature | ||||||
| from django.utils._os import upath | from django.utils._os import upath | ||||||
| 
 | 
 | ||||||
|  | from ..utils import oracle, postgis | ||||||
|  | 
 | ||||||
| if HAS_GEOS: | if HAS_GEOS: | ||||||
|     from .models import City, County, Zipcode |     from .models import City, County, Zipcode | ||||||
| 
 | 
 | ||||||
| @@ -9,18 +9,20 @@ from io import BytesIO | |||||||
| from unittest import skipUnless | from unittest import skipUnless | ||||||
| 
 | 
 | ||||||
| from django.contrib.gis.gdal import HAS_GDAL | from django.contrib.gis.gdal import HAS_GDAL | ||||||
| from django.contrib.gis.geometry.test_data import TestDataMixin | from django.contrib.gis.geos import HAS_GEOS | ||||||
| from django.utils import six | from django.utils import six | ||||||
| from django.utils.encoding import force_bytes | from django.utils.encoding import force_bytes | ||||||
| from django.utils.six.moves import range | from django.utils.six.moves import range | ||||||
| 
 | 
 | ||||||
| from .. import HAS_GEOS | from ..test_data import TestDataMixin | ||||||
| 
 | 
 | ||||||
| if HAS_GEOS: | if HAS_GEOS: | ||||||
|     from .. import (GEOSException, GEOSIndexError, GEOSGeometry, |     from django.contrib.gis.geos import ( | ||||||
|         GeometryCollection, Point, MultiPoint, Polygon, MultiPolygon, LinearRing, |         GEOSException, GEOSIndexError, GEOSGeometry, GeometryCollection, Point, | ||||||
|         LineString, MultiLineString, fromfile, fromstr, geos_version_info) |         MultiPoint, Polygon, MultiPolygon, LinearRing, LineString, | ||||||
|     from ..base import gdal, numpy, GEOSBase |         MultiLineString, fromfile, fromstr, geos_version_info, | ||||||
|  |     ) | ||||||
|  |     from django.contrib.gis.geos.base import gdal, numpy, GEOSBase | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @skipUnless(HAS_GEOS, "Geos is required.") | @skipUnless(HAS_GEOS, "Geos is required.") | ||||||
| @@ -5,11 +5,13 @@ | |||||||
| import unittest | import unittest | ||||||
| from unittest import skipUnless | from unittest import skipUnless | ||||||
| 
 | 
 | ||||||
| from .. import HAS_GEOS | from django.contrib.gis.geos import HAS_GEOS | ||||||
| 
 | 
 | ||||||
| if HAS_GEOS: | if HAS_GEOS: | ||||||
|     from .. import fromstr, LinearRing, LineString, MultiPoint, Point, Polygon |     from django.contrib.gis.geos import ( | ||||||
|     from ..error import GEOSIndexError |         fromstr, LinearRing, LineString, MultiPoint, Point, Polygon, | ||||||
|  |     ) | ||||||
|  |     from django.contrib.gis.geos.error import GEOSIndexError | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| if HAS_GEOS: | if HAS_GEOS: | ||||||
| @@ -4,12 +4,13 @@ import binascii | |||||||
| import unittest | import unittest | ||||||
| from unittest import skipUnless | from unittest import skipUnless | ||||||
| 
 | 
 | ||||||
|  | from django.contrib.gis.geos import HAS_GEOS | ||||||
| from django.utils.six import memoryview | from django.utils.six import memoryview | ||||||
| 
 | 
 | ||||||
| from ..import HAS_GEOS  # isort:skip |  | ||||||
| 
 |  | ||||||
| if HAS_GEOS: | if HAS_GEOS: | ||||||
|     from .. import GEOSGeometry, WKTReader, WKTWriter, WKBReader, WKBWriter |     from django.contrib.gis.geos import ( | ||||||
|  |         GEOSGeometry, WKTReader, WKTWriter, WKBReader, WKBWriter, | ||||||
|  |     ) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @skipUnless(HAS_GEOS, "Geos is required.") | @skipUnless(HAS_GEOS, "Geos is required.") | ||||||
| @@ -10,7 +10,7 @@ class MigrateTests(TransactionTestCase): | |||||||
|     """ |     """ | ||||||
|     Tests running the migrate command in Geodjango. |     Tests running the migrate command in Geodjango. | ||||||
|     """ |     """ | ||||||
|     available_apps = ["django.contrib.gis.tests.gis_migrations"] |     available_apps = ["gis_tests.gis_migrations"] | ||||||
| 
 | 
 | ||||||
|     def get_table_description(self, table): |     def get_table_description(self, table): | ||||||
|         with connection.cursor() as cursor: |         with connection.cursor() as cursor: | ||||||
| @@ -1,11 +1,12 @@ | |||||||
| from __future__ import unicode_literals | from __future__ import unicode_literals | ||||||
| 
 | 
 | ||||||
| from django.contrib.gis.tests.utils import mysql |  | ||||||
| from django.db import connection, migrations, models | from django.db import connection, migrations, models | ||||||
| from django.db.migrations.migration import Migration | from django.db.migrations.migration import Migration | ||||||
| from django.db.migrations.state import ProjectState | from django.db.migrations.state import ProjectState | ||||||
| from django.test import TransactionTestCase, skipUnlessDBFeature | from django.test import TransactionTestCase, skipUnlessDBFeature | ||||||
| 
 | 
 | ||||||
|  | from ..utils import mysql | ||||||
|  | 
 | ||||||
| if connection.features.gis_enabled: | if connection.features.gis_enabled: | ||||||
|     from django.contrib.gis.db.models import fields |     from django.contrib.gis.db.models import fields | ||||||
|     try: |     try: | ||||||
| @@ -17,7 +18,7 @@ if connection.features.gis_enabled: | |||||||
| 
 | 
 | ||||||
| @skipUnlessDBFeature("gis_enabled") | @skipUnlessDBFeature("gis_enabled") | ||||||
| class OperationTests(TransactionTestCase): | class OperationTests(TransactionTestCase): | ||||||
|     available_apps = ["django.contrib.gis.tests.gis_migrations"] |     available_apps = ["gis_tests.gis_migrations"] | ||||||
| 
 | 
 | ||||||
|     def tearDown(self): |     def tearDown(self): | ||||||
|         # Delete table after testing |         # Delete table after testing | ||||||
| @@ -14,6 +14,3 @@ class AllOGRFields(models.Model): | |||||||
|     point = models.PointField() |     point = models.PointField() | ||||||
| 
 | 
 | ||||||
|     objects = models.GeoManager() |     objects = models.GeoManager() | ||||||
| 
 |  | ||||||
|     class Meta: |  | ||||||
|         app_label = 'inspectapp' |  | ||||||
| @@ -5,12 +5,13 @@ import re | |||||||
| from unittest import skipUnless | from unittest import skipUnless | ||||||
| 
 | 
 | ||||||
| from django.contrib.gis.gdal import HAS_GDAL | from django.contrib.gis.gdal import HAS_GDAL | ||||||
| from django.contrib.gis.geometry.test_data import TEST_DATA |  | ||||||
| from django.core.management import call_command | from django.core.management import call_command | ||||||
| from django.db import connection, connections | from django.db import connection, connections | ||||||
| from django.test import TestCase, skipUnlessDBFeature | from django.test import TestCase, skipUnlessDBFeature | ||||||
| from django.utils.six import StringIO | from django.utils.six import StringIO | ||||||
| 
 | 
 | ||||||
|  | from ..test_data import TEST_DATA | ||||||
|  | 
 | ||||||
| if HAS_GDAL: | if HAS_GDAL: | ||||||
|     from django.contrib.gis.gdal import Driver, GDALException |     from django.contrib.gis.gdal import Driver, GDALException | ||||||
|     from django.contrib.gis.utils.ogrinspect import ogrinspect |     from django.contrib.gis.utils.ogrinspect import ogrinspect | ||||||
| @@ -10,7 +10,6 @@ class NamedModel(models.Model): | |||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         abstract = True |         abstract = True | ||||||
|         app_label = 'layermap' |  | ||||||
| 
 | 
 | ||||||
|     def __str__(self): |     def __str__(self): | ||||||
|         return self.name |         return self.name | ||||||
| @@ -37,11 +36,17 @@ class City(NamedModel): | |||||||
|     dt = models.DateField() |     dt = models.DateField() | ||||||
|     point = models.PointField() |     point = models.PointField() | ||||||
| 
 | 
 | ||||||
|  |     class Meta: | ||||||
|  |         app_label = 'layermap' | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| class Interstate(NamedModel): | class Interstate(NamedModel): | ||||||
|     length = models.DecimalField(max_digits=6, decimal_places=2) |     length = models.DecimalField(max_digits=6, decimal_places=2) | ||||||
|     path = models.LineStringField() |     path = models.LineStringField() | ||||||
| 
 | 
 | ||||||
|  |     class Meta: | ||||||
|  |         app_label = 'layermap' | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| # Same as `City` above, but for testing model inheritance. | # Same as `City` above, but for testing model inheritance. | ||||||
| class CityBase(NamedModel): | class CityBase(NamedModel): | ||||||
| @@ -67,9 +72,6 @@ class ICity2(ICity1): | |||||||
| class Invalid(models.Model): | class Invalid(models.Model): | ||||||
|     point = models.PointField() |     point = models.PointField() | ||||||
| 
 | 
 | ||||||
|     class Meta: |  | ||||||
|         app_label = 'layermap' |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| # Mapping dictionaries for the models above. | # Mapping dictionaries for the models above. | ||||||
| co_mapping = { | co_mapping = { | ||||||
| @@ -5,12 +5,15 @@ from unittest import skipUnless | |||||||
| 
 | 
 | ||||||
| from django.contrib.gis.geos import HAS_GEOS | from django.contrib.gis.geos import HAS_GEOS | ||||||
| from django.test import TestCase | from django.test import TestCase | ||||||
| from django.test.utils import override_settings | from django.test.utils import modify_settings, override_settings | ||||||
| 
 | 
 | ||||||
| GOOGLE_MAPS_API_KEY = 'XXXX' | GOOGLE_MAPS_API_KEY = 'XXXX' | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @skipUnless(HAS_GEOS, 'Geos is required.') | @skipUnless(HAS_GEOS, 'Geos is required.') | ||||||
|  | @modify_settings( | ||||||
|  |     INSTALLED_APPS={'append': 'django.contrib.gis'}, | ||||||
|  | ) | ||||||
| class GoogleMapsTest(TestCase): | class GoogleMapsTest(TestCase): | ||||||
| 
 | 
 | ||||||
|     @override_settings(GOOGLE_MAPS_API_KEY=GOOGLE_MAPS_API_KEY) |     @override_settings(GOOGLE_MAPS_API_KEY=GOOGLE_MAPS_API_KEY) | ||||||
| @@ -8,7 +8,6 @@ class SimpleModel(models.Model): | |||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         abstract = True |         abstract = True | ||||||
|         app_label = 'relatedapp' |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @python_2_unicode_compatible | @python_2_unicode_compatible | ||||||
| @@ -34,9 +33,6 @@ class AugmentedLocation(Location): | |||||||
| 
 | 
 | ||||||
|     objects = models.GeoManager() |     objects = models.GeoManager() | ||||||
| 
 | 
 | ||||||
|     class Meta: |  | ||||||
|         app_label = 'relatedapp' |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| class DirectoryEntry(SimpleModel): | class DirectoryEntry(SimpleModel): | ||||||
|     listing_text = models.CharField(max_length=50) |     listing_text = models.CharField(max_length=50) | ||||||
| @@ -1,13 +1,14 @@ | |||||||
| from __future__ import unicode_literals | from __future__ import unicode_literals | ||||||
| 
 | 
 | ||||||
| from django.contrib.gis.geos import HAS_GEOS | from django.contrib.gis.geos import HAS_GEOS | ||||||
| from django.contrib.gis.tests.utils import no_oracle |  | ||||||
| from django.db import connection | from django.db import connection | ||||||
| from django.test import TestCase, ignore_warnings, skipUnlessDBFeature | from django.test import TestCase, ignore_warnings, skipUnlessDBFeature | ||||||
| from django.test.utils import override_settings | from django.test.utils import override_settings | ||||||
| from django.utils import timezone | from django.utils import timezone | ||||||
| from django.utils.deprecation import RemovedInDjango20Warning | from django.utils.deprecation import RemovedInDjango20Warning | ||||||
| 
 | 
 | ||||||
|  | from ..utils import no_oracle | ||||||
|  | 
 | ||||||
| if HAS_GEOS: | if HAS_GEOS: | ||||||
|     from django.contrib.gis.db.models import Collect, Count, Extent, F, Union |     from django.contrib.gis.db.models import Collect, Count, Extent, F, Union | ||||||
|     from django.contrib.gis.geometry.backend import Geometry |     from django.contrib.gis.geometry.backend import Geometry | ||||||
| @@ -5,13 +5,12 @@ for the GEOS and GDAL tests. | |||||||
| import json | import json | ||||||
| import os | import os | ||||||
| 
 | 
 | ||||||
| from django.contrib import gis |  | ||||||
| from django.utils import six | from django.utils import six | ||||||
| from django.utils._os import upath | from django.utils._os import upath | ||||||
| from django.utils.functional import cached_property | from django.utils.functional import cached_property | ||||||
| 
 | 
 | ||||||
| # Path where reference test data is located. | # Path where reference test data is located. | ||||||
| TEST_DATA = os.path.join(os.path.dirname(upath(gis.__file__)), 'tests', 'data') | TEST_DATA = os.path.join(os.path.dirname(upath(__file__)), 'data') | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def tuplize(seq): | def tuplize(seq): | ||||||
| @@ -11,10 +11,10 @@ from django.contrib.gis.geos import HAS_GEOS | |||||||
| from django.utils import six | from django.utils import six | ||||||
| 
 | 
 | ||||||
| if HAS_GEOIP: | if HAS_GEOIP: | ||||||
|     from . import GeoIP, GeoIPException |     from django.contrib.gis.geoip import GeoIP, GeoIPException | ||||||
| 
 | 
 | ||||||
| if HAS_GEOS: | if HAS_GEOS: | ||||||
|     from ..geos import GEOSGeometry |     from django.contrib.gis.geos import GEOSGeometry | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| # Note: Requires use of both the GeoIP country and city datasets. | # Note: Requires use of both the GeoIP country and city datasets. | ||||||
| @@ -1,13 +1,12 @@ | |||||||
| import unittest | import unittest | ||||||
| 
 | 
 | ||||||
| from django.contrib.gis.gdal import HAS_GDAL | from django.contrib.gis.gdal import HAS_GDAL | ||||||
| from django.contrib.gis.tests.utils import ( |  | ||||||
|     SpatialRefSys, oracle, postgis, spatialite, |  | ||||||
| ) |  | ||||||
| from django.db import connection | from django.db import connection | ||||||
| from django.test import skipUnlessDBFeature | from django.test import skipUnlessDBFeature | ||||||
| from django.utils import six | from django.utils import six | ||||||
| 
 | 
 | ||||||
|  | from .utils import SpatialRefSys, oracle, postgis, spatialite | ||||||
|  | 
 | ||||||
| test_srs = ({ | test_srs = ({ | ||||||
|     'srid': 4326, |     'srid': 4326, | ||||||
|     'auth_name': ('EPSG', True), |     'auth_name': ('EPSG', True), | ||||||
| @@ -76,9 +76,10 @@ def get_test_modules(): | |||||||
|         (None, RUNTESTS_DIR), |         (None, RUNTESTS_DIR), | ||||||
|         (CONTRIB_MODULE_PATH, CONTRIB_DIR) |         (CONTRIB_MODULE_PATH, CONTRIB_DIR) | ||||||
|     ] |     ] | ||||||
|  |     # GIS tests are in nested apps | ||||||
|     if connection.features.gis_enabled: |     if connection.features.gis_enabled: | ||||||
|         discovery_paths.append( |         discovery_paths.append( | ||||||
|             ('django.contrib.gis.tests', os.path.join(CONTRIB_DIR, 'gis', 'tests')) |             ('gis_tests', os.path.join(RUNTESTS_DIR, 'gis_tests')) | ||||||
|         ) |         ) | ||||||
|  |  | ||||||
|     for modpath, dirpath in discovery_paths: |     for modpath, dirpath in discovery_paths: | ||||||
| @@ -210,6 +211,14 @@ def setup(verbosity, test_labels): | |||||||
|                 print("Importing application %s" % module_name) |                 print("Importing application %s" % module_name) | ||||||
|             settings.INSTALLED_APPS.append(module_label) |             settings.INSTALLED_APPS.append(module_label) | ||||||
|  |  | ||||||
|  |     # Add contrib.gis to INSTALLED_APPS if needed (rather than requiring | ||||||
|  |     # @override_settings(INSTALLED_APPS=...) on all test cases. | ||||||
|  |     gis = 'django.contrib.gis' | ||||||
|  |     if connection.features.gis_enabled and gis not in settings.INSTALLED_APPS: | ||||||
|  |         if verbosity >= 2: | ||||||
|  |             print("Importing application %s" % gis) | ||||||
|  |         settings.INSTALLED_APPS.append(gis) | ||||||
|  |  | ||||||
|     apps.set_installed_apps(settings.INSTALLED_APPS) |     apps.set_installed_apps(settings.INSTALLED_APPS) | ||||||
|  |  | ||||||
|     return state |     return state | ||||||
|   | |||||||
| @@ -121,9 +121,9 @@ class DiscoverRunnerTest(TestCase): | |||||||
|         """ |         """ | ||||||
|         Tests shouldn't be discovered twice when discovering on overlapping paths. |         Tests shouldn't be discovered twice when discovering on overlapping paths. | ||||||
|         """ |         """ | ||||||
|         single = DiscoverRunner().build_suite(["django.contrib.gis"]).countTestCases() |         single = DiscoverRunner().build_suite(["gis_tests"]).countTestCases() | ||||||
|         dups = DiscoverRunner().build_suite( |         dups = DiscoverRunner().build_suite( | ||||||
|             ["django.contrib.gis", "django.contrib.gis.tests.geo3d"]).countTestCases() |             ["gis_tests", "gis_tests.geo3d"]).countTestCases() | ||||||
|         self.assertEqual(single, dups) |         self.assertEqual(single, dups) | ||||||
|  |  | ||||||
|     def test_reverse(self): |     def test_reverse(self): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user