diff options
author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-01-10 13:01:14 +0100 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-01-17 11:49:15 +0100 |
commit | 4982958ec0c359908566fc1f34ef71297ea4337d (patch) | |
tree | 01712de4c807ff259defbd8daa5421568d17142c /tests/gis_tests | |
parent | 2fad1632571af551d6065d7eced93ffe93a8a945 (diff) | |
download | django-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.py | 2 | ||||
-rw-r--r-- | tests/gis_tests/geoadmin_deprecated/__init__.py | 0 | ||||
-rw-r--r-- | tests/gis_tests/geoadmin_deprecated/admin.py | 5 | ||||
-rw-r--r-- | tests/gis_tests/geoadmin_deprecated/models.py | 21 | ||||
-rw-r--r-- | tests/gis_tests/geoadmin_deprecated/tests.py | 132 | ||||
-rw-r--r-- | tests/gis_tests/geoadmin_deprecated/urls.py | 6 |
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)), -] |