Skip to content

Commit 1636622

Browse files
Merge pull request #47 from Geode-solutions/feat/is_saveable
Feat/is saveable
2 parents 6fed8e3 + 6b6d7f3 commit 1636622

File tree

2 files changed

+80
-63
lines changed

2 files changed

+80
-63
lines changed

requirements.txt

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ colorama==0.4.6
1818
# via click
1919
flask[async]==3.0.0
2020
# via -r requirements.in
21-
geode-common==30.0.3
21+
geode-common==30.0.4
2222
# via geode-viewables
2323
geode-viewables==2.1.7
2424
# via -r requirements.in
@@ -50,27 +50,23 @@ opengeode-geosciences==7.3.2
5050
# -r requirements.in
5151
# geode-viewables
5252
# opengeode-geosciencesio
53-
# opengeode-inspector
5453
opengeode-geosciencesio==4.5.4
55-
# via
56-
# -r requirements.in
57-
# opengeode-inspector
58-
opengeode-inspector==4.0.3
54+
# via -r requirements.in
55+
opengeode-inspector==4.0.4
5956
# via -r requirements.in
6057
opengeode-io==6.2.4
6158
# via
6259
# -r requirements.in
6360
# geode-viewables
64-
# opengeode-inspector
65-
referencing==0.31.1
61+
referencing==0.32.0
6662
# via
6763
# jsonschema
6864
# jsonschema-specifications
6965
rpds-py==0.13.2
7066
# via
7167
# jsonschema
7268
# referencing
73-
typing-extensions==4.8.0
69+
typing-extensions==4.9.0
7470
# via asgiref
7571
werkzeug==3.0.1
7672
# via

tests/test_functions.py

Lines changed: 75 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -72,41 +72,44 @@ def test_load():
7272
)
7373

7474
data = geode_functions.load(geode_object, file_apsolute_path)
75+
76+
if "save_viewable" in value:
77+
uu_id = str(uuid.uuid4()).replace("-", "")
78+
viewable_file_path = geode_functions.save_viewable(
79+
geode_object,
80+
data,
81+
os.path.abspath(f"/output"),
82+
uu_id,
83+
)
84+
os.remove(viewable_file_path)
85+
geode_objects_and_output_extensions = (
86+
geode_functions.geode_objects_output_extensions(geode_object, data)
87+
)
88+
assert type(geode_objects_and_output_extensions) is dict
7589
for (
76-
geode_object_and_output_extensions
77-
) in geode_functions.geode_objects_output_extensions(
78-
geode_object, data
79-
):
80-
output_geode_object = geode_object_and_output_extensions[
81-
"geode_object"
82-
]
90+
output_geode_object,
91+
output_geode_object_value,
92+
) in geode_objects_and_output_extensions.items():
8393
print(f"\t\t{output_geode_object=}")
84-
output_extensions = geode_functions.geode_object_output_extensions(
85-
geode_object
86-
)
87-
88-
for output_extension in output_extensions:
94+
for (
95+
output_extension,
96+
output_extension_value,
97+
) in output_geode_object_value.items():
8998
print(f"\t\t\t{output_extension=}")
9099
uu_id = str(uuid.uuid4()).replace("-", "")
91100
filename = f"{uu_id}.{output_extension}"
92-
if geode_functions.is_saveable(geode_object, data, filename):
93-
file_path = geode_functions.save(
94-
geode_object,
101+
if geode_functions.is_saveable(
102+
output_geode_object, data, filename
103+
):
104+
saved_files = geode_functions.save(
105+
output_geode_object,
95106
data,
96-
os.path.abspath(f"output"),
97-
f"{uu_id}.{output_extension}",
107+
os.path.abspath(f"/output"),
108+
filename,
98109
)
99-
100-
if "save_viewable" in value:
101-
uu_id = str(uuid.uuid4()).replace("-", "")
102-
viewable_file_path = geode_functions.save_viewable(
103-
geode_object,
104-
data,
105-
os.path.abspath(f"output"),
106-
uu_id,
107-
)
108-
109-
os.remove(viewable_file_path)
110+
assert type(saved_files) is list
111+
for saved_file in saved_files:
112+
os.remove(saved_file)
110113

111114

112115
def test_is_model():
@@ -137,10 +140,39 @@ def test_geode_object_input_extensions():
137140

138141
def test_geode_object_output_extensions():
139142
for geode_object, value in geode_objects.geode_objects_dict().items():
140-
output_extensions = geode_functions.geode_object_output_extensions(geode_object)
141-
assert type(output_extensions) is list
142-
for output_extension in output_extensions:
143-
assert type(output_extension) is str
143+
print(f"\n{geode_object=}")
144+
input_extensions = geode_functions.geode_object_input_extensions(geode_object)
145+
for input_extension in input_extensions:
146+
if geode_object != "RegularGrid3D" and input_extension != "vti":
147+
print(f"\t{input_extension=}")
148+
missing_files = geode_functions.missing_files(
149+
geode_object, f"tests/data/test.{input_extension}"
150+
)
151+
has_missing_files = missing_files.has_missing_files()
152+
if has_missing_files:
153+
mandatory_files = missing_files.mandatory_files
154+
print(f"\t\t{mandatory_files=}")
155+
additional_files = missing_files.additional_files
156+
print(f"\t\t{additional_files=}")
157+
file_apsolute_path = os.path.abspath(
158+
f"tests/data/test.{input_extension}"
159+
)
160+
161+
data = geode_functions.load(geode_object, file_apsolute_path)
162+
geode_objets_and_output_extensions = (
163+
geode_functions.geode_objects_output_extensions(geode_object, data)
164+
)
165+
assert type(geode_objets_and_output_extensions) is dict
166+
for (
167+
output_geode_object,
168+
output_geode_object_value,
169+
) in geode_objets_and_output_extensions.items():
170+
for (
171+
output_extension,
172+
output_extension_value,
173+
) in output_geode_object_value.items():
174+
assert type(output_extension) is str
175+
assert type(output_extension_value["is_saveable"]) is bool
144176

145177

146178
def test_list_input_extensions():
@@ -168,8 +200,6 @@ def test_list_geode_objects():
168200
"Graph",
169201
"RasterImage2D",
170202
"RasterImage3D",
171-
"RasterImage2D",
172-
"RasterImage3D",
173203
"VertexSet",
174204
],
175205
},
@@ -202,32 +232,23 @@ def test_geode_objects_output_extensions():
202232
for geode_object, value in geode_objects.geode_objects_dict().items():
203233
input_extensions = geode_functions.geode_object_input_extensions(geode_object)
204234
for input_extension in input_extensions:
205-
if input_extension not in ["og_img3d", "vti"]:
235+
if geode_object != "RegularGrid3D" and input_extension != "vti":
206236
data = geode_functions.load(
207237
geode_object, f"tests/data/test.{input_extension}"
208238
)
209-
geode_objects_and_output_extensions_list = (
239+
geode_objects_and_output_extensions = (
210240
geode_functions.geode_objects_output_extensions(geode_object, data)
211241
)
212-
print(f"{geode_objects_and_output_extensions_list=}")
213-
assert type(geode_objects_and_output_extensions_list) is list
242+
assert type(geode_objects_and_output_extensions) is dict
214243
for (
215-
geode_object_and_output_extensions
216-
) in geode_objects_and_output_extensions_list:
217-
print(f"{geode_object_and_output_extensions=}")
218-
assert type(geode_object_and_output_extensions) is dict
219-
assert "geode_object" in geode_object_and_output_extensions
220-
assert (
221-
type(geode_object_and_output_extensions["geode_object"]) is str
222-
)
223-
assert "outputs" in geode_object_and_output_extensions
224-
assert type(geode_object_and_output_extensions["outputs"]) is list
225-
outputs = geode_object_and_output_extensions["outputs"]
226-
for output in outputs:
227-
assert "extension" in output
228-
assert type(output["extension"]) is str
229-
assert "is_saveable" in output
230-
assert type(output["is_saveable"]) is bool
244+
output_geode_object,
245+
output_geode_object_value,
246+
) in geode_objects_and_output_extensions.items():
247+
for (
248+
output_extension,
249+
output_extension_value,
250+
) in output_geode_object_value.items():
251+
assert type(output_extension_value["is_saveable"]) is bool
231252

232253

233254
def test_versions():

0 commit comments

Comments
 (0)