diff --git a/src/opengeodeweb_back/routes/models/blueprint_models.py b/src/opengeodeweb_back/routes/models/blueprint_models.py index f2c91b4a..cb5e7e49 100644 --- a/src/opengeodeweb_back/routes/models/blueprint_models.py +++ b/src/opengeodeweb_back/routes/models/blueprint_models.py @@ -25,14 +25,14 @@ def uuid_to_flat_index(): ) tree = ET.parse(vtm_file_path) - root = tree.getroot() + root = tree.find("vtkMultiBlockDataSet") uuid_to_flat_index = {} current_index = 1 for elem in root.iter(): if "uuid" in elem.attrib and elem.tag == "DataSet": uuid_to_flat_index[elem.attrib["uuid"]] = current_index - current_index += 1 + current_index += 1 return flask.make_response( {"uuid_to_flat_index": uuid_to_flat_index}, diff --git a/tests/test_models_routes.py b/tests/test_models_routes.py index 1947999c..9160179e 100644 --- a/tests/test_models_routes.py +++ b/tests/test_models_routes.py @@ -4,27 +4,27 @@ def test_model_mesh_components(client): json = get_full_data() response = client.post(route, json=json) assert response.status_code == 200 + uuid_dict = response.json["uuid_to_flat_index"] - assert type(uuid_dict) is dict + assert isinstance(uuid_dict, dict) indices = list(uuid_dict.values()) indices.sort() - assert indices[0] == 1 - assert all(indices[i] == indices[i - 1] + 1 for i in range(1, len(indices))) + assert all(indices[i] > indices[i - 1] for i in range(1, len(indices))) + for uuid in uuid_dict.keys(): + assert isinstance(uuid, str) def test_extract_brep_uuids(client): route = "/models/mesh_components" json_data = {"filename": "cube.og_brep", "geode_object": "BRep"} - response = client.post(route, json=json_data) assert response.status_code == 200 uuid_dict = response.json["uuid_dict"] assert isinstance(uuid_dict, dict) - assert ( - "Block" in uuid_dict - or "Line" in uuid_dict - or "Surface" in uuid_dict - or "Corner" in uuid_dict - ) + expected_keys = {"Block", "Line", "Surface", "Corner"} + assert any(key in uuid_dict for key in expected_keys) + for key, value in uuid_dict.items(): + assert isinstance(value, list) + assert all(isinstance(v, str) for v in value)