|
1 | | -def test_model_mesh_components(client): |
2 | | - route = f"/models/vtm_component_indices" |
3 | | - get_full_data = lambda: {"id": "cube"} |
4 | | - json = get_full_data() |
5 | | - response = client.post(route, json=json) |
6 | | - assert response.status_code == 200 |
| 1 | +import shutil |
| 2 | +import os |
7 | 3 |
|
8 | | - uuid_dict = response.json["uuid_to_flat_index"] |
9 | | - assert isinstance(uuid_dict, dict) |
| 4 | +def test_model_mesh_components(client, uuid_project_structure): |
| 5 | + route = "/models/vtm_component_indices" |
| 6 | + uuid_data = uuid_project_structure["uuid_data"] |
| 7 | + data_path = uuid_project_structure["data_path"] |
10 | 8 |
|
11 | | - indices = list(uuid_dict.values()) |
12 | | - indices.sort() |
13 | | - assert all(indices[i] > indices[i - 1] for i in range(1, len(indices))) |
14 | | - for uuid in uuid_dict.keys(): |
15 | | - assert isinstance(uuid, str) |
| 9 | + shutil.copy("./tests/data/cube.vtm", os.path.join(data_path, "viewable.vtm")) |
16 | 10 |
|
| 11 | + original_path = client.application.config["DATA_FOLDER_PATH"] |
| 12 | + client.application.config["DATA_FOLDER_PATH"] = uuid_project_structure["base_path"] |
17 | 13 |
|
18 | | -def test_extract_brep_uuids(client): |
| 14 | + try: |
| 15 | + response = client.post(route, json={"id": uuid_data}) |
| 16 | + assert response.status_code == 200 |
| 17 | + uuid_dict = response.json["uuid_to_flat_index"] |
| 18 | + assert isinstance(uuid_dict, dict) |
| 19 | + |
| 20 | + indices = list(uuid_dict.values()) |
| 21 | + indices.sort() |
| 22 | + assert all(indices[i] > indices[i - 1] for i in range(1, len(indices))) |
| 23 | + for uuid_key in uuid_dict.keys(): |
| 24 | + assert isinstance(uuid_key, str) |
| 25 | + finally: |
| 26 | + client.application.config["DATA_FOLDER_PATH"] = original_path |
| 27 | + |
| 28 | + |
| 29 | + |
| 30 | +def test_extract_brep_uuids(client, uuid_project_structure): |
19 | 31 | route = "/models/mesh_components" |
20 | | - json_data = {"filename": "cube.og_brep", "geode_object": "BRep"} |
21 | | - response = client.post(route, json=json_data) |
22 | | - |
23 | | - assert response.status_code == 200 |
24 | | - uuid_dict = response.json["uuid_dict"] |
25 | | - assert isinstance(uuid_dict, dict) |
26 | | - expected_keys = {"Block", "Line", "Surface", "Corner"} |
27 | | - assert any(key in uuid_dict for key in expected_keys) |
28 | | - for key, value in uuid_dict.items(): |
29 | | - assert isinstance(value, list) |
30 | | - assert all(isinstance(v, str) for v in value) |
| 32 | + uuid_data = uuid_project_structure["uuid_data"] |
| 33 | + data_path = uuid_project_structure["data_path"] |
| 34 | + |
| 35 | + shutil.copy("./tests/data/cube.og_brep", os.path.join(data_path, "cube.og_brep")) |
| 36 | + |
| 37 | + original_path = client.application.config["DATA_FOLDER_PATH"] |
| 38 | + client.application.config["DATA_FOLDER_PATH"] = uuid_project_structure["base_path"] |
| 39 | + |
| 40 | + try: |
| 41 | + json_data = { |
| 42 | + "filename": "cube.og_brep", |
| 43 | + "geode_object": "BRep", |
| 44 | + "id": uuid_data |
| 45 | + } |
| 46 | + response = client.post(route, json=json_data) |
| 47 | + assert response.status_code == 200 |
| 48 | + |
| 49 | + uuid_dict = response.json["uuid_dict"] |
| 50 | + assert isinstance(uuid_dict, dict) |
| 51 | + expected_keys = {"Block", "Line", "Surface", "Corner"} |
| 52 | + assert any(key in uuid_dict for key in expected_keys) |
| 53 | + for key, value in uuid_dict.items(): |
| 54 | + assert isinstance(value, list) |
| 55 | + assert all(isinstance(v, str) for v in value) |
| 56 | + finally: |
| 57 | + client.application.config["DATA_FOLDER_PATH"] = original_path |
| 58 | + |
0 commit comments