Skip to content

Commit ee4f425

Browse files
committed
add tests for extrametadata query; pep8 format imports
1 parent 62353d1 commit ee4f425

File tree

4 files changed

+57
-10
lines changed

4 files changed

+57
-10
lines changed

geonode/documents/api/tests.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,19 @@
1717
#
1818
#########################################################################
1919
import os
20-
from django.contrib.auth import get_user_model
2120
import logging
2221

22+
from django.contrib.auth import get_user_model
2323
from urllib.parse import urljoin
2424

2525
from django.urls import reverse
2626
from rest_framework.test import APITestCase
2727

2828
from guardian.shortcuts import assign_perm, get_anonymous_user
2929
from geonode import settings
30-
from geonode.documents.models import Document
30+
3131
from geonode.base.populate_test_data import create_models
32+
from geonode.documents.models import Document
3233

3334
logger = logging.getLogger(__name__)
3435

@@ -76,6 +77,17 @@ def test_documents(self):
7677
# import json
7778
# logger.error(f"{json.dumps(layers_data)}")
7879

80+
def test_extra_metadata_included_with_param(self):
81+
resource = Document.objects.first()
82+
url = urljoin(f"{reverse('documents-list')}/", f"{resource.pk}")
83+
data = {"include[]": "metadata"}
84+
85+
response = self.client.get(url, format="json", data=data)
86+
self.assertIsNotNone(response.data["document"].get("metadata"))
87+
88+
response = self.client.get(url, format="json")
89+
self.assertNotIn("metadata", response.data["document"])
90+
7991
def test_creation_return_error_if_file_is_not_passed(self):
8092
"""
8193
If file_path is not available, should raise error

geonode/geoapps/api/tests.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,16 @@
1919
import json
2020
import logging
2121
from unittest.mock import MagicMock
22+
from urllib.parse import urljoin
2223

23-
from django.urls import reverse
2424
from django.contrib.auth import get_user_model
25+
from django.urls import reverse
2526
from rest_framework.test import APITestCase
27+
28+
from geonode.base.populate_test_data import create_models
2629
from geonode.geoapps.api.exceptions import DuplicateGeoAppException, InvalidGeoAppException
2730
from geonode.geoapps.api.serializers import GeoAppSerializer
28-
2931
from geonode.geoapps.models import GeoApp
30-
from geonode.base.populate_test_data import create_models
3132

3233
logger = logging.getLogger(__name__)
3334

@@ -76,6 +77,17 @@ def test_geoapps_list(self):
7677
json.loads(response.data["geoapps"][0]["data"]), {"test_data": {"test": ["test_1", "test_2", "test_3"]}}
7778
)
7879

80+
def test_extra_metadata_included_with_param(self):
81+
_app = GeoApp.objects.first()
82+
url = urljoin(f"{reverse('geoapps-list')}/", f"{_app.pk}")
83+
data = {"include[]": "metadata"}
84+
85+
response = self.client.get(url, format="json", data=data)
86+
self.assertIsNotNone(response.data["geoapp"].get("metadata"))
87+
88+
response = self.client.get(url, format="json")
89+
self.assertNotIn("metadata", response.data["geoapp"])
90+
7991
def test_geoapps_crud(self):
8092
"""
8193
Ensure we can create/update GeoApps.

geonode/layers/api/tests.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,17 @@
2121

2222
from unittest.mock import patch
2323
from django.contrib.auth import get_user_model
24-
2524
from urllib.parse import urljoin
2625

26+
from django.conf import settings
2727
from django.urls import reverse
2828
from rest_framework.test import APITestCase
29-
from geonode.geoserver.createlayer.utils import create_dataset
29+
3030
from guardian.shortcuts import assign_perm, get_anonymous_user
31+
from geonode.geoserver.createlayer.utils import create_dataset
3132

32-
from django.conf import settings
33-
from geonode.layers.models import Dataset, Attribute
3433
from geonode.base.populate_test_data import create_models, create_single_dataset
34+
from geonode.layers.models import Attribute, Dataset
3535
from geonode.maps.models import Map, MapLayer
3636

3737
logger = logging.getLogger(__name__)
@@ -121,6 +121,17 @@ def test_datasets(self):
121121
_dataset.use_featureinfo_custom_template = False
122122
_dataset.save()
123123

124+
def test_extra_metadata_included_with_param(self):
125+
_dataset = Dataset.objects.first()
126+
url = urljoin(f"{reverse('datasets-list')}/", f"{_dataset.pk}")
127+
data = {"include[]": "metadata"}
128+
129+
response = self.client.get(url, format="json", data=data)
130+
self.assertIsNotNone(response.data["dataset"].get("metadata"))
131+
132+
response = self.client.get(url, format="json")
133+
self.assertNotIn("metadata", response.data["dataset"])
134+
124135
def test_get_dataset_related_maps_and_maplayers(self):
125136
dataset = Dataset.objects.first()
126137
assign_perm("base.view_resourcebase", get_anonymous_user(), dataset.get_self_resource())

geonode/maps/api/tests.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,10 @@
2121

2222
from django.conf import settings
2323
from django.urls import reverse
24+
25+
from guardian.shortcuts import assign_perm, get_anonymous_user
2426
from mock import patch
2527
from rest_framework.test import APITestCase
26-
from guardian.shortcuts import assign_perm, get_anonymous_user
2728

2829
from geonode.base.populate_test_data import create_models
2930
from geonode.layers.models import Dataset
@@ -112,6 +113,17 @@ def test_maps(self):
112113
self.assertEqual(response.data["map"]["maplayers"][0]["extra_params"], {"foo": "bar"})
113114
self.assertIsNotNone(response.data["map"]["maplayers"][0]["dataset"])
114115

116+
def test_extra_metadata_included_with_param(self):
117+
resource = Map.objects.first()
118+
url = urljoin(f"{reverse('maps-list')}/", f"{resource.pk}")
119+
data = {"include[]": "metadata,data"}
120+
121+
response = self.client.get(url, format="json", data=data)
122+
self.assertIsNotNone(response.data["map"].get("metadata"))
123+
124+
response = self.client.get(url, format="json")
125+
self.assertNotIn("map", response.data["document"])
126+
115127
def test_patch_map(self):
116128
"""
117129
Patch to maps/<pk>/

0 commit comments

Comments
 (0)