Skip to content

Commit eb35218

Browse files
[Fixes #12763] 3D tiles geometricError mandatory field should be on tileset level (#12764)
* [Fixes #12763] 3D tiles geometricError mandatory field should be on tileset level * [Fixes #12763] 3D tiles geometricError mandatory field should be on tileset level * [Fixes #12763] 3D tiles geometricError mandatory field should be on tileset level
1 parent 051efdd commit eb35218

File tree

3 files changed

+6
-4
lines changed

3 files changed

+6
-4
lines changed

geonode/upload/handlers/tiles3d/handler.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ def validate_3dtile_payload(payload):
138138
if not volume:
139139
raise Invalid3DTilesException("The mandatory 'boundingVolume' for the key 'root' is missing")
140140

141-
error = payload.get("root", {}).get("geometricError", None)
141+
error = payload.get("geometricError", None) or payload.get("root", {}).get("geometricError", None)
142142
if error is None:
143143
raise Invalid3DTilesException("The mandatory 'geometricError' for the key 'root' is missing")
144144

geonode/upload/handlers/tiles3d/tests.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,6 @@ def test_validate_should_raise_exception_for_invalid_root_boundingVolume(self):
154154
def test_validate_should_raise_exception_for_invalid_root_geometricError(self):
155155
_json = {
156156
"asset": {"version": "1.1"},
157-
"geometricError": 1.0,
158157
"root": {"boundingVolume": {"box": []}, "foo": 0.0},
159158
}
160159
_path = "/tmp/tileset.json"
@@ -164,7 +163,10 @@ def test_validate_should_raise_exception_for_invalid_root_geometricError(self):
164163
self.handler.is_valid(files={"base_file": _path}, user=self.user)
165164

166165
self.assertIsNotNone(_exc)
167-
self.assertTrue("The mandatory 'geometricError' for the key 'root' is missing" in str(_exc.exception.detail))
166+
self.assertTrue(
167+
"The provided 3DTiles is not valid, some of the mandatory keys are missing. Mandatory keys are: 'asset', 'geometricError', 'root'"
168+
in str(_exc.exception.detail)
169+
)
168170
os.remove(_path)
169171

170172
def test_get_ogr2ogr_driver_should_return_the_expected_driver(self):

geonode/upload/tests/end2end/test_end2end.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,7 @@ def test_import_wms(self):
457457
"parse_remote_metadata": True,
458458
"action": "upload",
459459
}
460-
initial_name = res.title
460+
initial_name = res.title.lower().replace(" ", "_")
461461
assert_payload = {
462462
"subtype": "remote",
463463
"title": res.title,

0 commit comments

Comments
 (0)