Skip to content

Commit 6139b60

Browse files
committed
pass minio client into fetch ro-crate function
1 parent 26f3a14 commit 6139b60

2 files changed

Lines changed: 8 additions & 15 deletions

File tree

app/utils/minio_utils.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,17 @@
1717
logger = logging.getLogger(__name__)
1818

1919

20-
def fetch_ro_crate_from_minio(minio_bucket: str, crate_id: str, root_path: str) -> str:
20+
def fetch_ro_crate_from_minio(minio_client: object, minio_bucket: str, crate_id: str, root_path: str) -> str:
2121
"""
2222
Fetches an RO-Crate from MinIO based on the crate ID. Downloads the crate as a file and returns local file path.
2323
24+
:param minio_client: The MinIO client
2425
:param minio_bucket: The MinIO bucket containing the RO-Crate.
2526
:param crate_id: The ID of the RO-Crate to fetch from MinIO.
2627
:param root_path: The root path containing the RO-Crate.
2728
:return: The local file path where the RO-Crate is saved.
2829
"""
2930

30-
minio_client = get_minio_client()
31-
3231
rocrate_object = find_rocrate_object_on_minio(crate_id, minio_client, minio_bucket, root_path)
3332

3433
rocrate_minio_path = rocrate_object.object_name

tests/test_minio.py

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -423,24 +423,22 @@ def test_update_validation_status_erro(
423423
@patch("app.utils.minio_utils.download_file_from_minio")
424424
@patch("app.utils.minio_utils.get_minio_object_list")
425425
@patch("app.utils.minio_utils.find_rocrate_object_on_minio")
426-
@patch("app.utils.minio_utils.get_minio_client")
427426
def test_fetch_rocrate_zip(
428-
mock_get_client,
429427
mock_find_object,
430428
mock_get_list,
431429
mock_download,
432430
tmp_path,
433431
):
434432
# Setup mocks
435-
mock_get_client.return_value = "minio_client"
433+
minio_client = "minio_client"
436434
rocrate_obj = DummyObject("some/path/rocrate123.zip", is_dir=False)
437435
mock_find_object.return_value = rocrate_obj
438436

439437
from app.utils.minio_utils import fetch_ro_crate_from_minio
440438

441439
with patch("app.utils.minio_utils.tempfile.mkdtemp", return_value=str(tmp_path)):
442440
# Execute
443-
result = fetch_ro_crate_from_minio("test_bucket", "rocrate123", "some/path")
441+
result = fetch_ro_crate_from_minio(minio_client, "test_bucket", "rocrate123", "some/path")
444442

445443
# Assert
446444
expected_path = tmp_path / "rocrate123.zip"
@@ -453,16 +451,14 @@ def test_fetch_rocrate_zip(
453451
@patch("app.utils.minio_utils.download_file_from_minio")
454452
@patch("app.utils.minio_utils.get_minio_object_list")
455453
@patch("app.utils.minio_utils.find_rocrate_object_on_minio")
456-
@patch("app.utils.minio_utils.get_minio_client")
457454
def test_fetch_rocrate_directory(
458-
mock_get_client,
459455
mock_find_object,
460456
mock_get_list,
461457
mock_download,
462458
tmp_path,
463459
):
464460
# Setup mocks
465-
mock_get_client.return_value = "minio_client"
461+
minio_client = "minio_client"
466462
rocrate_obj = DummyObject("rocrates/rocrate124", is_dir=True)
467463
mock_find_object.return_value = rocrate_obj
468464

@@ -476,7 +472,7 @@ def test_fetch_rocrate_directory(
476472
]
477473

478474
# Execute
479-
result = fetch_ro_crate_from_minio("test_bucket", "rocrate124", "rocrates")
475+
result = fetch_ro_crate_from_minio(minio_client, "test_bucket", "rocrate124", "rocrates")
480476

481477
# Assert
482478
expected_root = tmp_path / "rocrate124"
@@ -496,23 +492,21 @@ def test_fetch_rocrate_directory(
496492
@patch("app.utils.minio_utils.download_file_from_minio")
497493
@patch("app.utils.minio_utils.get_minio_object_list")
498494
@patch("app.utils.minio_utils.find_rocrate_object_on_minio")
499-
@patch("app.utils.minio_utils.get_minio_client")
500495
def test_fetch_rocrate_handles_empty_dir(
501-
mock_get_client,
502496
mock_find_object,
503497
mock_get_list,
504498
mock_download,
505499
tmp_path,
506500
):
507-
mock_get_client.return_value = "minio_client"
501+
minio_client = "minio_client"
508502
rocrate_obj = DummyObject("rocrate456", is_dir=True)
509503
mock_find_object.return_value = rocrate_obj
510504
mock_get_list.return_value = []
511505

512506
from app.utils.minio_utils import fetch_ro_crate_from_minio
513507

514508
with patch("app.utils.minio_utils.tempfile.mkdtemp", return_value=str(tmp_path)):
515-
result = fetch_ro_crate_from_minio("test_bucket", "rocrate456", "")
509+
result = fetch_ro_crate_from_minio(minio_client, "test_bucket", "rocrate456", "")
516510

517511
expected_root = tmp_path / "rocrate456"
518512
assert result == str(expected_root)

0 commit comments

Comments
 (0)