mirror of https://github.com/django/django.git
[1.8.x] Moved contrib.gis tests out of contrib.
Backport of ad0be620ae
from master
This commit is contained in:
parent
2482c9dd24
commit
69c89aeccf
|
@ -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):
|
||||||
|
|
Loading…
Reference in New Issue