1+
2+ import os
3+ os .environ .setdefault ("DJANGO_SETTINGS_MODULE" , "optimap.settings" )
4+ import django
5+ django .setup ()
6+
17import json
28from xml .etree import ElementTree as ET
39
@@ -24,38 +30,6 @@ def test_global_region_load(self):
2430 regions = GlobalRegion .objects .all ()
2531 self .assertEqual (len (regions ), 15 )
2632
27- def test_geojson_feed_per_region (self ):
28- for region in GlobalRegion .objects .all ():
29- url = (
30- reverse ("optimap:global_feed" , kwargs = {
31- "region_type" : region .region_type ,
32- "name" : region .name ,
33- })
34- + ".geojson"
35- )
36- resp = self .client .get (url )
37- self .assertEqual (resp .status_code , 200 ,
38- f"{ region .name } JSON feed failed" )
39-
40- data = resp .json ()
41- expected_dois = set (
42- Publication .objects
43- .filter (
44- status = "p" ,
45- geometry__isnull = False ,
46- geometry__intersects = region .geom
47- )
48- .values_list ("doi" , flat = True )
49- )
50- returned_dois = {
51- feat ["properties" ]["doi" ]
52- for feat in data .get ("features" , [])
53- }
54- self .assertSetEqual (
55- returned_dois , expected_dois ,
56- f"GeoJSON feed for { region .name } returned { returned_dois !r} , expected { expected_dois !r} "
57- )
58-
5933 def test_georss_feed_per_region (self ):
6034 for region in GlobalRegion .objects .all ():
6135 slug = self .slugify (region .name )
0 commit comments