summaryrefslogtreecommitdiff
path: root/tests/gis_tests
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2023-01-10 13:01:14 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2023-01-17 11:49:15 +0100
commit4982958ec0c359908566fc1f34ef71297ea4337d (patch)
tree01712de4c807ff259defbd8daa5421568d17142c /tests/gis_tests
parent2fad1632571af551d6065d7eced93ffe93a8a945 (diff)
downloaddjango-4982958ec0c359908566fc1f34ef71297ea4337d.tar.gz
Refs #27674 -- Removed GeoModelAdmin and OSMGeoAdmin per deprecation timeline.
Diffstat (limited to 'tests/gis_tests')
-rw-r--r--tests/gis_tests/admin.py2
-rw-r--r--tests/gis_tests/geoadmin_deprecated/__init__.py0
-rw-r--r--tests/gis_tests/geoadmin_deprecated/admin.py5
-rw-r--r--tests/gis_tests/geoadmin_deprecated/models.py21
-rw-r--r--tests/gis_tests/geoadmin_deprecated/tests.py132
-rw-r--r--tests/gis_tests/geoadmin_deprecated/urls.py6
6 files changed, 0 insertions, 166 deletions
diff --git a/tests/gis_tests/admin.py b/tests/gis_tests/admin.py
index 2662013f78..a0fd807d44 100644
--- a/tests/gis_tests/admin.py
+++ b/tests/gis_tests/admin.py
@@ -4,5 +4,3 @@ except ImportError:
from django.contrib import admin
admin.GISModelAdmin = admin.ModelAdmin
- # RemovedInDjango50Warning.
- admin.OSMGeoAdmin = admin.ModelAdmin
diff --git a/tests/gis_tests/geoadmin_deprecated/__init__.py b/tests/gis_tests/geoadmin_deprecated/__init__.py
deleted file mode 100644
index e69de29bb2..0000000000
--- a/tests/gis_tests/geoadmin_deprecated/__init__.py
+++ /dev/null
diff --git a/tests/gis_tests/geoadmin_deprecated/admin.py b/tests/gis_tests/geoadmin_deprecated/admin.py
deleted file mode 100644
index ab39c28885..0000000000
--- a/tests/gis_tests/geoadmin_deprecated/admin.py
+++ /dev/null
@@ -1,5 +0,0 @@
-from django.contrib.gis import admin
-
-
-class UnmodifiableAdmin(admin.OSMGeoAdmin):
- modifiable = False
diff --git a/tests/gis_tests/geoadmin_deprecated/models.py b/tests/gis_tests/geoadmin_deprecated/models.py
deleted file mode 100644
index 5e84d0c9fa..0000000000
--- a/tests/gis_tests/geoadmin_deprecated/models.py
+++ /dev/null
@@ -1,21 +0,0 @@
-from django.contrib.gis.db import models
-from django.test import ignore_warnings
-from django.utils.deprecation import RemovedInDjango50Warning
-
-from ..admin import admin
-
-
-class City(models.Model):
- name = models.CharField(max_length=30)
- point = models.PointField()
-
- class Meta:
- app_label = "geoadmini_deprecated"
-
- def __str__(self):
- return self.name
-
-
-site = admin.AdminSite(name="admin_gis")
-with ignore_warnings(category=RemovedInDjango50Warning):
- site.register(City, admin.OSMGeoAdmin)
diff --git a/tests/gis_tests/geoadmin_deprecated/tests.py b/tests/gis_tests/geoadmin_deprecated/tests.py
deleted file mode 100644
index d6bea7a690..0000000000
--- a/tests/gis_tests/geoadmin_deprecated/tests.py
+++ /dev/null
@@ -1,132 +0,0 @@
-from django.contrib.gis import admin
-from django.contrib.gis.geos import Point
-from django.test import SimpleTestCase, ignore_warnings, override_settings
-from django.utils.deprecation import RemovedInDjango50Warning
-
-from .admin import UnmodifiableAdmin
-from .models import City, site
-
-
-@ignore_warnings(category=RemovedInDjango50Warning)
-@override_settings(ROOT_URLCONF="django.contrib.gis.tests.geoadmin.urls")
-class GeoAdminTest(SimpleTestCase):
- def test_ensure_geographic_media(self):
- geoadmin = site._registry[City]
- admin_js = geoadmin.media.render_js()
- self.assertTrue(any(geoadmin.openlayers_url in js for js in admin_js))
-
- def test_olmap_OSM_rendering(self):
- delete_all_btn = (
- '<a href="javascript:geodjango_point.clearFeatures()">Delete all Features'
- "</a>"
- )
- original_geoadmin = site._registry[City]
- params = original_geoadmin.get_map_widget(City._meta.get_field("point")).params
- result = original_geoadmin.get_map_widget(
- City._meta.get_field("point")
- )().render("point", Point(-79.460734, 40.18476), params)
- self.assertIn(
- "geodjango_point.layers.base = "
- 'new OpenLayers.Layer.OSM("OpenStreetMap (Mapnik)");',
- result,
- )
-
- self.assertIn(delete_all_btn, result)
-
- site.unregister(City)
- site.register(City, UnmodifiableAdmin)
- try:
- geoadmin = site._registry[City]
- params = geoadmin.get_map_widget(City._meta.get_field("point")).params
- result = geoadmin.get_map_widget(City._meta.get_field("point"))().render(
- "point", Point(-79.460734, 40.18476), params
- )
-
- self.assertNotIn(delete_all_btn, result)
- finally:
- site.unregister(City)
- site.register(City, original_geoadmin.__class__)
-
- def test_olmap_WMS_rendering(self):
- geoadmin = admin.GeoModelAdmin(City, site)
- result = geoadmin.get_map_widget(City._meta.get_field("point"))().render(
- "point", Point(-79.460734, 40.18476)
- )
- self.assertIn(
- 'geodjango_point.layers.base = new OpenLayers.Layer.WMS("OpenLayers WMS", '
- '"http://vmap0.tiles.osgeo.org/wms/vmap0", '
- "{layers: 'basic', format: 'image/jpeg'});",
- result,
- )
-
- def test_olwidget_has_changed(self):
- """
- Changes are accurately noticed by OpenLayersWidget.
- """
- geoadmin = site._registry[City]
- form = geoadmin.get_changelist_form(None)()
- has_changed = form.fields["point"].has_changed
-
- initial = Point(13.4197458572965953, 52.5194108501149799, srid=4326)
- data_same = "SRID=3857;POINT(1493879.2754093995 6894592.019687599)"
- data_almost_same = "SRID=3857;POINT(1493879.2754093990 6894592.019687590)"
- data_changed = "SRID=3857;POINT(1493884.0527237 6894593.8111804)"
-
- self.assertTrue(has_changed(None, data_changed))
- self.assertTrue(has_changed(initial, ""))
- self.assertFalse(has_changed(None, ""))
- self.assertFalse(has_changed(initial, data_same))
- self.assertFalse(has_changed(initial, data_almost_same))
- self.assertTrue(has_changed(initial, data_changed))
-
- def test_olwidget_empty_string(self):
- geoadmin = site._registry[City]
- form = geoadmin.get_changelist_form(None)({"point": ""})
- with self.assertNoLogs("django.contrib.gis", "ERROR"):
- output = str(form["point"])
- self.assertInHTML(
- '<textarea id="id_point" class="vWKTField required" cols="150"'
- ' rows="10" name="point"></textarea>',
- output,
- )
-
- def test_olwidget_invalid_string(self):
- geoadmin = site._registry[City]
- form = geoadmin.get_changelist_form(None)({"point": "INVALID()"})
- with self.assertLogs("django.contrib.gis", "ERROR") as cm:
- output = str(form["point"])
- self.assertInHTML(
- '<textarea id="id_point" class="vWKTField required" cols="150"'
- ' rows="10" name="point"></textarea>',
- output,
- )
- self.assertEqual(len(cm.records), 1)
- self.assertEqual(
- cm.records[0].getMessage(),
- "Error creating geometry from value 'INVALID()' (String input "
- "unrecognized as WKT EWKT, and HEXEWKB.)",
- )
-
-
-class DeprecationTests(SimpleTestCase):
- def test_warning(self):
- class DeprecatedOSMGeoAdmin(admin.OSMGeoAdmin):
- pass
-
- class DeprecatedGeoModelAdmin(admin.GeoModelAdmin):
- pass
-
- msg = (
- "django.contrib.gis.admin.GeoModelAdmin and OSMGeoAdmin are "
- "deprecated in favor of django.contrib.admin.ModelAdmin and "
- "django.contrib.gis.admin.GISModelAdmin."
- )
- with self.assertRaisesMessage(RemovedInDjango50Warning, msg):
- DeprecatedOSMGeoAdmin(City, site)
- with self.assertRaisesMessage(RemovedInDjango50Warning, msg):
- DeprecatedGeoModelAdmin(City, site)
-
- def test_openlayerswidget_warning(self):
- msg = "django.contrib.gis.admin.OpenLayersWidget is deprecated."
- with self.assertRaisesMessage(RemovedInDjango50Warning, msg):
- admin.OpenLayersWidget()
diff --git a/tests/gis_tests/geoadmin_deprecated/urls.py b/tests/gis_tests/geoadmin_deprecated/urls.py
deleted file mode 100644
index ce237dbfd1..0000000000
--- a/tests/gis_tests/geoadmin_deprecated/urls.py
+++ /dev/null
@@ -1,6 +0,0 @@
-from django.contrib import admin
-from django.urls import include, path
-
-urlpatterns = [
- path("admin/", include(admin.site.urls)),
-]