Skip to content

Commit cec2803

Browse files
committed
model
1 parent 2b69cae commit cec2803

File tree

1 file changed

+49
-2
lines changed

1 file changed

+49
-2
lines changed

src/tests/model/test_model_protocols.py

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,67 @@
11
from opengeodeweb_viewer.rpc.model.model_protocols import VtkModelView
2+
import os
3+
from pathlib import Path
4+
from shutil import copyfile
5+
from opengeodeweb_viewer.database.connection import db_manager
6+
from opengeodeweb_microservice.database.data import Data
27

38

9+
def _prepare_dataset(
10+
*,
11+
id: str,
12+
geode_object: str,
13+
viewable_file_name: str,
14+
) -> str:
15+
tests_root = Path(__file__).resolve().parents[1]
16+
src_data = tests_root / "data"
17+
data_root = os.environ.get("DATA_FOLDER_PATH")
18+
assert data_root, "DATA_FOLDER_PATH non défini"
19+
dest_dir = Path(data_root) / id
20+
dest_dir.mkdir(parents=True, exist_ok=True)
21+
22+
src_file = src_data / viewable_file_name
23+
dst_file = dest_dir / viewable_file_name
24+
copyfile(src_file, dst_file)
25+
26+
session = db_manager.get_session()
27+
try:
28+
row = session.get(Data, id)
29+
if row is None:
30+
session.add(
31+
Data(
32+
id=id,
33+
native_file_name="",
34+
viewable_file_name=viewable_file_name,
35+
geode_object=geode_object,
36+
light_viewable=None,
37+
input_file="",
38+
additional_files=[],
39+
)
40+
)
41+
else:
42+
row.viewable_file_name = viewable_file_name
43+
row.geode_object = geode_object
44+
session.commit()
45+
finally:
46+
session.close()
47+
return id
48+
449
def test_register_model(server):
550

51+
_prepare_dataset(id="123456789", geode_object="model", viewable_file_name="CrossSection.vtm")
652
server.call(
753
VtkModelView.model_prefix + VtkModelView.model_schemas_dict["register"]["rpc"],
8-
[{"id": "123456789", "file_name": "CrossSection.vtm"}],
54+
[{"id": "123456789"}],
955
)
1056
assert server.compare_image(3, "model/register.jpeg") == True
1157

1258

1359
def test_register_model_cube(server):
1460

61+
_prepare_dataset(id="123456789", geode_object="model", viewable_file_name="cube.vtm")
1562
server.call(
1663
VtkModelView.model_prefix + VtkModelView.model_schemas_dict["register"]["rpc"],
17-
[{"id": "123456789", "file_name": "cube.vtm"}],
64+
[{"id": "123456789"}],
1865
)
1966
assert server.compare_image(3, "model/cube_register.jpeg") == True
2067

0 commit comments

Comments
 (0)