diff --git a/tests/modules/create.py b/tests/modules/create.py index 9e018e97b4..f7aedc7531 100644 --- a/tests/modules/create.py +++ b/tests/modules/create.py @@ -1,55 +1,47 @@ import os import pytest -import responses import nf_core.modules -from tests.utils import mock_api_calls def test_modules_create_succeed(self): """Succeed at creating the TrimGalore! module""" - with responses.RequestsMock() as rsps: - mock_api_calls(rsps, "trim-galore", "0.6.7") - module_create = nf_core.modules.ModuleCreate( - self.pipeline_dir, "trimgalore", "@author", "process_single", True, True, conda_name="trim-galore" - ) - module_create.create() + # FIXME This should use the mock? + module_create = nf_core.modules.ModuleCreate( + self.pipeline_dir, "trimgalore", "@author", "process_single", True, True, conda_name="trim-galore" + ) + module_create.create() assert os.path.exists(os.path.join(self.pipeline_dir, "modules", "local", "trimgalore.nf")) def test_modules_create_fail_exists(self): """Fail at creating the same module twice""" - with responses.RequestsMock() as rsps: - mock_api_calls(rsps, "trim-galore", "0.6.7") - module_create = nf_core.modules.ModuleCreate( - self.pipeline_dir, "trimgalore", "@author", "process_single", False, False, conda_name="trim-galore" - ) + # FIXME This should use the mock? + module_create = nf_core.modules.ModuleCreate( + self.pipeline_dir, "trimgalore", "@author", "process_single", False, False, conda_name="trim-galore" + ) + module_create.create() + with pytest.raises(UserWarning) as excinfo: module_create.create() - with pytest.raises(UserWarning) as excinfo: - module_create.create() assert "Module file exists already" in str(excinfo.value) def test_modules_create_nfcore_modules(self): """Create a module in nf-core/modules clone""" - with responses.RequestsMock() as rsps: - mock_api_calls(rsps, "fastqc", "0.11.9") - module_create = nf_core.modules.ModuleCreate( - self.nfcore_modules, "fastqc", "@author", "process_low", False, False - ) - module_create.create() + # FIXME This should use the mock? + module_create = nf_core.modules.ModuleCreate(self.nfcore_modules, "fastqc", "@author", "process_low", False, False) + module_create.create() assert os.path.exists(os.path.join(self.nfcore_modules, "modules", "nf-core", "fastqc", "main.nf")) assert os.path.exists(os.path.join(self.nfcore_modules, "tests", "modules", "nf-core", "fastqc", "main.nf")) def test_modules_create_nfcore_modules_subtool(self): """Create a tool/subtool module in a nf-core/modules clone""" - with responses.RequestsMock() as rsps: - mock_api_calls(rsps, "star", "2.8.10a") - module_create = nf_core.modules.ModuleCreate( - self.nfcore_modules, "star/index", "@author", "process_medium", False, False - ) - module_create.create() + # FIXME This should use the mock? + module_create = nf_core.modules.ModuleCreate( + self.nfcore_modules, "star/index", "@author", "process_medium", False, False + ) + module_create.create() assert os.path.exists(os.path.join(self.nfcore_modules, "modules", "nf-core", "star", "index", "main.nf")) assert os.path.exists(os.path.join(self.nfcore_modules, "tests", "modules", "nf-core", "star", "index", "main.nf")) diff --git a/tests/test_modules.py b/tests/test_modules.py index 81d3f69c49..8d4a9c1c23 100644 --- a/tests/test_modules.py +++ b/tests/test_modules.py @@ -18,7 +18,6 @@ GITLAB_URL, OLD_TRIMGALORE_BRANCH, OLD_TRIMGALORE_SHA, - mock_api_calls, ) @@ -34,12 +33,10 @@ def create_modules_repo_dummy(tmp_dir): with open(os.path.join(root_dir, ".nf-core.yml"), "w") as fh: fh.writelines(["repository_type: modules", "\n", "org_path: nf-core", "\n"]) - # mock biocontainers and anaconda response - with responses.RequestsMock() as rsps: - mock_api_calls(rsps, "bpipe", "0.9.11--hdfd78af_0") - # bpipe is a valid package on bioconda that is very unlikely to ever be added to nf-core/modules - module_create = nf_core.modules.ModuleCreate(root_dir, "bpipe/test", "@author", "process_single", False, False) - module_create.create() + # FIXME Should use mock? + # bpipe is a valid package on bioconda that is very unlikely to ever be added to nf-core/modules + module_create = nf_core.modules.ModuleCreate(root_dir, "bpipe/test", "@author", "process_single", False, False) + module_create.create() return root_dir diff --git a/tests/utils.py b/tests/utils.py index cb48ac347e..0dd60dd051 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -70,11 +70,8 @@ def set_wd(path: Path): os.chdir(start_wd) -def mock_api_calls(rsps: responses.RequestsMock, module, version): - """Mock biocontainers and anaconda api calls for module""" - biocontainers_api_url = ( - f"https://api.biocontainers.pro/ga4gh/trs/v2/tools/{module}/versions/{module}-{version.split('--')[0]}" - ) +def mock_anaconda_api_calls(rsps: responses.RequestsMock, module, version): + """Mock anaconda api calls for module""" anaconda_api_url = f"https://api.anaconda.org/package/bioconda/{module}" anaconda_mock = { "latest_version": version.split("--")[0], @@ -84,6 +81,14 @@ def mock_api_calls(rsps: responses.RequestsMock, module, version): "files": [{"version": version.split("--")[0]}], "license": "", } + rsps.get(anaconda_api_url, json=anaconda_mock, status=200) + + +def mock_biocontainers_api_calls(rsps: responses.RequestsMock, module, version): + """Mock biocontainers api calls for module""" + biocontainers_api_url = ( + f"https://api.biocontainers.pro/ga4gh/trs/v2/tools/{module}/versions/{module}-{version.split('--')[0]}" + ) biocontainers_mock = { "images": [ { @@ -98,5 +103,4 @@ def mock_api_calls(rsps: responses.RequestsMock, module, version): }, ], } - rsps.get(anaconda_api_url, json=anaconda_mock, status=200) rsps.get(biocontainers_api_url, json=biocontainers_mock, status=200)