From faa1253e109ccbcfcad4b7f7d2a63718a394ff3c Mon Sep 17 00:00:00 2001 From: Kola Date: Tue, 20 Aug 2024 11:40:17 +0100 Subject: [PATCH] Fix patching of requests.get --- .../test/test_file_reference.py | 36 +++++++++++-------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/bia-ingest-shared-models/test/test_file_reference.py b/bia-ingest-shared-models/test/test_file_reference.py index 9e665def..f1f59f23 100644 --- a/bia-ingest-shared-models/test/test_file_reference.py +++ b/bia-ingest-shared-models/test/test_file_reference.py @@ -5,23 +5,31 @@ it now needs a submitted dataset """ +from typing import Dict +from pathlib import Path +from unittest.mock import Mock +import pytest from . import utils from bia_ingest_sm.conversion import ( file_reference, ) -from bia_ingest_sm.biostudies import File - -## TODO: Mock requests.get correctly!!! -# def mock_request_get(flist_url: str) -> Dict[str, str]: -# data_dir = Path(__file__).parent / "data" -# path_to_load = data_dir / Path(flist_url).name -# return_value = Mock() -# return_value.status_code = 200 -# return_value.content = path_to_load.read_text() -# return return_value -# -# -# requests.get = mock_request_get +from bia_ingest_sm.biostudies import requests, File + + +@pytest.fixture +def mock_request_get(monkeypatch): + """Requests.get mocked to read file from disk""" + + def _mock_request_get(flist_url: str) -> Dict[str, str]: + data_dir = Path(__file__).parent / "data" + path_to_load = data_dir / Path(flist_url).name + return_value = Mock() + return_value.status_code = 200 + return_value.content = path_to_load.read_text() + return return_value + + monkeypatch.setattr(requests, "get", _mock_request_get) + # Get second study component as dataset in submission datasets_in_submission = [ @@ -46,7 +54,7 @@ def test_get_file_reference_for_submission_dataset(test_submission, result_summa assert created == expected -def test_create_file_reference_for_study_component(test_submission, caplog, result_summary): +def test_create_file_reference_for_study_component(test_submission, caplog, result_summary, mock_request_get): expected = {datasets_in_submission[0].title_id: utils.get_test_file_reference()} created = file_reference.get_file_reference_by_dataset(