Skip to content

Commit a8895e9

Browse files
committed
feat(input_file): test using context
1 parent 173c252 commit a8895e9

File tree

2 files changed

+26
-19
lines changed

2 files changed

+26
-19
lines changed

src/opengeodeweb_back/utils_functions.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -145,14 +145,20 @@ def handle_exception(e):
145145
return response
146146

147147

148-
def create_unique_data_folder(base_data_folder: str) -> tuple[str, str]:
148+
def create_unique_data_folder() -> tuple[str, str]:
149+
base_data_folder = flask.current_app.config["DATA_FOLDER_PATH"]
149150
generated_id = str(uuid.uuid4()).replace("-", "")
150151
data_path = os.path.join(base_data_folder, generated_id)
151152
os.makedirs(data_path, exist_ok=True)
152153
return generated_id, data_path
153154

154155

155-
def save_all_viewables_and_return_info(geode_object, data, generated_id, data_path, additional_files=None):
156+
def save_all_viewables_and_return_info(
157+
geode_object,
158+
data, generated_id,
159+
data_path,
160+
additional_files=None
161+
):
156162
saved_native_file_path = geode_functions.save(
157163
geode_object,
158164
data,
@@ -179,14 +185,19 @@ def save_all_viewables_and_return_info(geode_object, data, generated_id, data_pa
179185
"input_files": additional_files or [],
180186
}
181187

182-
def generate_native_viewable_and_light_viewable_from_object(geode_object, data):
188+
def generate_native_viewable_and_light_viewable_from_object(
189+
geode_object,
190+
data
191+
):
183192
base_data_folder = flask.current_app.config["DATA_FOLDER_PATH"]
184193
generated_id, data_path = create_unique_data_folder(base_data_folder)
185-
186194
return save_all_viewables_and_return_info(geode_object, data, generated_id, data_path)
187195

188196

189-
def generate_native_viewable_and_light_viewable_from_file(geode_object, input_filename):
197+
def generate_native_viewable_and_light_viewable_from_file(
198+
geode_object,
199+
input_filename
200+
):
190201
base_data_folder = flask.current_app.config["DATA_FOLDER_PATH"]
191202
generated_id, data_path = create_unique_data_folder(base_data_folder)
192203

tests/test_utils_functions.py

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -72,16 +72,16 @@ def test_handle_exception(client):
7272
assert type(data["code"]) is int
7373

7474

75-
def test_create_unique_data_folder():
76-
base_data_folder = "./tests/data"
77-
generated_id, data_path = utils_functions.create_unique_data_folder(base_data_folder)
78-
assert isinstance(generated_id, str)
79-
assert re.fullmatch(r"[0-9a-f]{32}", generated_id)
80-
assert os.path.exists(data_path)
81-
assert data_path.startswith(base_data_folder)
82-
assert generated_id in data_path
83-
shutil.rmtree(data_path, ignore_errors=True)
84-
assert not os.path.exists(data_path)
75+
def test_create_unique_data_folder(client):
76+
app = client.application
77+
with app.app_context():
78+
generated_id, data_path = utils_functions.create_unique_data_folder()
79+
assert isinstance(generated_id, str)
80+
assert re.fullmatch(r"[0-9a-f]{32}", generated_id)
81+
assert os.path.isdir(data_path)
82+
assert generated_id in data_path
83+
shutil.rmtree(data_path, ignore_errors=True)
84+
assert not os.path.exists(data_path)
8585

8686

8787

@@ -98,7 +98,6 @@ def test_save_all_viewables_and_return_info(client):
9898
result = utils_functions.save_all_viewables_and_return_info(
9999
geode_object, data, generated_id, data_path, additional_files
100100
)
101-
102101
assert isinstance(result, dict)
103102
assert result["name"] == data.name()
104103
assert result["native_file_name"].startswith("native.")
@@ -115,13 +114,11 @@ def test_generate_native_viewable_and_light_viewable_from_object(client):
115114
with app.app_context():
116115
geode_object = "BRep"
117116
data = geode_functions.load(geode_object, "./tests/data/test.og_brep")
118-
119117
result = (
120118
utils_functions.generate_native_viewable_and_light_viewable_from_object(
121119
geode_object, data
122120
)
123121
)
124-
125122
assert isinstance(result, dict)
126123
assert isinstance(result["name"], str)
127124
assert isinstance(result["native_file_name"], str)
@@ -144,7 +141,6 @@ def test_generate_native_viewable_and_light_viewable_from_file(client):
144141
result = utils_functions.generate_native_viewable_and_light_viewable_from_file(
145142
geode_object, input_filename
146143
)
147-
148144
assert isinstance(result, dict)
149145
assert isinstance(result["name"], str)
150146
assert isinstance(result["native_file_name"], str)

0 commit comments

Comments
 (0)