Skip to content

Commit 1629663

Browse files
committed
pass minio client into update validation function
1 parent 6139b60 commit 1629663

2 files changed

Lines changed: 5 additions & 12 deletions

File tree

app/utils/minio_utils.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,11 @@ def fetch_ro_crate_from_minio(minio_client: object, minio_bucket: str, crate_id:
6161
return local_root_path
6262

6363

64-
def update_validation_status_in_minio(minio_bucket: str, crate_id: str, root_path: str, validation_status: str) -> None:
64+
def update_validation_status_in_minio(minio_client: object, minio_bucket: str, crate_id: str, root_path: str, validation_status: str) -> None:
6565
"""
6666
Uploads the validation status to the MinIO bucket.
6767
68+
:param minio_client: The MinIO client
6869
:param minio_bucket: The MinIO bucket containing the RO-Crate.
6970
:param crate_id: The ID of the RO-Crate in MinIO
7071
:param validation_status: The validation result to upload
@@ -83,9 +84,6 @@ def update_validation_status_in_minio(minio_bucket: str, crate_id: str, root_pat
8384
validation_string = json.dumps(json.loads(validation_status), indent=None).encode("utf-8")
8485

8586
try:
86-
87-
minio_client = get_minio_client()
88-
8987
minio_client.put_object(
9088
minio_bucket,
9189
object_name,

tests/test_minio.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -337,16 +337,14 @@ def test_get_validation_error_raised(
337337

338338
# Testing function: update_validation_status_in_minio
339339

340-
@mock.patch("app.utils.minio_utils.get_minio_client")
341-
def test_update_validation_status_success(mock_get_client):
340+
def test_update_validation_status_success():
342341
mock_minio_client = mock.Mock()
343-
mock_get_client.return_value = mock_minio_client
344342

345343
crate_id = "crate123"
346344
validation_status = json.dumps({"status": "valid", "errors": []})
347345

348346
from app.utils.minio_utils import update_validation_status_in_minio
349-
update_validation_status_in_minio("test_bucket", crate_id, "", validation_status)
347+
update_validation_status_in_minio(mock_minio_client, "test_bucket", crate_id, "", validation_status)
350348

351349
expected_object_name = f"{crate_id}_validation/validation_status.txt"
352350
expected_data = json.dumps(json.loads(validation_status), indent=None).encode("utf-8")
@@ -400,19 +398,16 @@ def test_update_validation_status_success(mock_get_client):
400398
],
401399
ids=["s3error", "value_error", "unexpected_error"]
402400
)
403-
@mock.patch("app.utils.minio_utils.get_minio_client")
404401
def test_update_validation_status_erro(
405-
mock_get_client,
406402
bucket: str, crateid: str, root_path: str, validation_result: dict,
407403
put_side_effect, error_check: str, status_code: int
408404
):
409405
mock_minio_client = mock.Mock()
410-
mock_get_client.return_value = mock_minio_client
411406
mock_minio_client.put_object.side_effect = put_side_effect
412407

413408
from app.utils.minio_utils import update_validation_status_in_minio, InvalidAPIUsage
414409
with pytest.raises(InvalidAPIUsage) as exc:
415-
update_validation_status_in_minio(bucket, crateid, root_path, json.dumps(validation_result))
410+
update_validation_status_in_minio(mock_minio_client, bucket, crateid, root_path, json.dumps(validation_result))
416411

417412
assert exc.value.status_code == status_code
418413
assert error_check in str(exc.value.message)

0 commit comments

Comments
 (0)