Skip to content

Commit b738440

Browse files
authored
Merge pull request #895 from psafont/no-unittest
Remove unittest dependency
2 parents a972860 + cdb6ff4 commit b738440

24 files changed

+1931
-2054
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4',
7575
setup_requires=[] + pytest_runner,
7676
test_suite='tests',
77-
tests_require=['pytest', 'mock >= 2.0.0', 'arcp >= 0.2.0', 'rdflib-jsonld >= 0.4.0'],
77+
tests_require=['pytest', 'mock >= 2.0.0', 'pytest-mock >= 1.10.0', 'arcp >= 0.2.0', 'rdflib-jsonld >= 0.4.0'],
7878
entry_points={
7979
'console_scripts': ["cwltool=cwltool.main:run"]
8080
},

test-requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
pytest
22
mock >= 2.0.0
3+
pytest-mock >= 1.10.0
34
arcp >= 0.2.0
45
rdflib-jsonld >= 0.4.0

tests/test_check.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
1-
from __future__ import absolute_import
2-
3-
import unittest
1+
import pytest
42

53
from cwltool.main import main
64

75
from .util import get_data, needs_docker
86

97

10-
class TestCheck(unittest.TestCase):
11-
@needs_docker
12-
def test_output_checking(self):
13-
self.assertEquals(main([get_data('tests/wf/badout1.cwl')]), 1)
14-
self.assertEquals(main([get_data('tests/wf/badout2.cwl')]), 1)
15-
self.assertEquals(main([get_data('tests/wf/badout3.cwl')]), 1)
8+
bad_flows = [
9+
'tests/wf/badout1.cwl',
10+
'tests/wf/badout2.cwl',
11+
'tests/wf/badout3.cwl'
12+
]
13+
14+
@needs_docker
15+
@pytest.mark.parametrize('bad_flow', bad_flows)
16+
def test_output_checking(bad_flow):
17+
assert main([get_data(bad_flow)]) == 1

tests/test_cwl_version.py

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
1-
from __future__ import absolute_import
2-
3-
import unittest
4-
51
from cwltool.main import main
62

73
from .util import get_data
84

95

10-
class CWLVersionChecks(unittest.TestCase):
11-
def test_missing_cwl_version(self):
12-
"""no cwlVersion in the workflow"""
13-
self.assertEqual(main([get_data('tests/wf/missing_cwlVersion.cwl')]), 1)
14-
def test_incorrect_cwl_version(self):
15-
"""using cwlVersion: v0.1 in the workflow"""
16-
self.assertEqual(main([get_data('tests/wf/wrong_cwlVersion.cwl')]), 1)
6+
def test_missing_cwl_version():
7+
"""no cwlVersion in the workflow"""
8+
assert main([get_data('tests/wf/missing_cwlVersion.cwl')]) == 1
9+
10+
def test_incorrect_cwl_version():
11+
"""using cwlVersion: v0.1 in the workflow"""
12+
assert main([get_data('tests/wf/wrong_cwlVersion.cwl')]) == 1

tests/test_default_path.py

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
1-
import unittest
2-
31
from schema_salad.ref_resolver import Loader
42

53
from cwltool.load_tool import fetch_document, validate_document
64

75
from .util import get_data
86

97

10-
class TestDefaultPath(unittest.TestCase):
11-
def test_default_path(self):
12-
"""Testing that error is not raised when default path is not present"""
13-
document_loader, workflowobj, uri = fetch_document(
14-
get_data("tests/wf/default_path.cwl"))
15-
document_loader, avsc_names, processobj, metadata, uri = validate_document(
16-
document_loader, workflowobj, uri)
8+
def test_default_path():
9+
"""Testing that error is not raised when default path is not present"""
10+
document_loader, workflowobj, uri = fetch_document(
11+
get_data("tests/wf/default_path.cwl"))
12+
document_loader, _, processobj, _, uri = validate_document(
13+
document_loader, workflowobj, uri)
1714

18-
self.assertIsInstance(document_loader,Loader)
19-
self.assertIn("cwlVersion",processobj)
15+
assert isinstance(document_loader, Loader)
16+
assert "cwlVersion" in processobj

tests/test_dependencies.py

Lines changed: 22 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,33 @@
1-
from __future__ import absolute_import
1+
import pytest
22

33
import pytest
44

55
from cwltool.utils import onWindows
66

7-
from .test_examples import TestCmdLine
8-
from .util import get_data, needs_docker
7+
from .util import get_data, get_main_output, needs_docker
8+
99

1010
try:
11-
from galaxy.tools.deps.requirements import ToolRequirement, ToolRequirements
1211
from galaxy.tools import deps
1312
except ImportError:
1413
deps = None
1514

16-
class TestBetaDependenciesResolver(TestCmdLine):
17-
18-
@needs_docker
19-
def test_biocontainers(self):
20-
if not deps:
21-
pytest.skip("galaxy-lib is not installed.")
22-
wflow = get_data("tests/seqtk_seq.cwl")
23-
job = get_data("tests/seqtk_seq_job.json")
24-
error_code, stdout, stderr = self.get_main_output(
25-
["--beta-use-biocontainers", wflow, job])
26-
print(stderr)
27-
print(stdout)
28-
assert error_code is 0
29-
30-
def test_bioconda(self):
31-
if onWindows() or not deps:
32-
pytest.skip("bioconda currently not working on MS Windows.")
33-
elif not deps:
34-
pytest.skip("galaxy-lib is not installed.")
35-
wflow = get_data("tests/seqtk_seq.cwl")
36-
job = get_data("tests/seqtk_seq_job.json")
37-
error_code, stdout, stderr = self.get_main_output(
38-
["--beta-conda-dependencies", "--debug", wflow, job])
39-
print(stderr)
40-
print(stdout)
41-
assert error_code is 0
15+
@needs_docker
16+
@pytest.mark.skipif(not deps, reason="galaxy-lib is not installed")
17+
def test_biocontainers():
18+
wflow = get_data("tests/seqtk_seq.cwl")
19+
job = get_data("tests/seqtk_seq_job.json")
20+
error_code, _, _ = get_main_output(
21+
["--beta-use-biocontainers", wflow, job])
22+
23+
assert error_code == 0
24+
25+
@pytest.mark.skipif(onWindows(), reason="bioconda currently not working on MS Windows")
26+
@pytest.mark.skipif(not deps, reason="galaxy-lib is not installed")
27+
def test_bioconda():
28+
wflow = get_data("tests/seqtk_seq.cwl")
29+
job = get_data("tests/seqtk_seq_job.json")
30+
error_code, _, stderr = get_main_output(
31+
["--beta-conda-dependencies", "--debug", wflow, job])
32+
33+
assert error_code == 0, stderr

tests/test_docker_warning.py

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,26 @@
1-
from __future__ import absolute_import
2-
3-
import unittest
4-
5-
from mock import mock
6-
7-
from cwltool.command_line_tool import DEFAULT_CONTAINER_MSG, CommandLineTool
8-
from cwltool.context import RuntimeContext
1+
from cwltool import command_line_tool
92
from cwltool.utils import windows_default_container_id
3+
from cwltool.context import RuntimeContext
104

115

12-
class TestDefaultDockerWarning(unittest.TestCase):
6+
# Test to check warning when default docker Container is used on Windows
7+
def test_default_docker_warning(mocker):
8+
mocker.patch("cwltool.command_line_tool.onWindows", return_value=True)
9+
mocker.patch("cwltool.command_line_tool._logger")
1310

14-
# Test to check warning when default docker Container is used on Windows
15-
@mock.patch("cwltool.command_line_tool.onWindows",return_value = True)
16-
@mock.patch("cwltool.command_line_tool._logger")
17-
def test_default_docker_warning(self,mock_logger,mock_windows):
11+
class TestCommandLineTool(command_line_tool.CommandLineTool):
12+
def __init__(self, **kwargs):
13+
self.requirements = []
14+
self.hints = []
1815

19-
class TestCommandLineTool(CommandLineTool):
20-
def __init__(self, **kwargs):
21-
self.requirements=[]
22-
self.hints=[]
16+
def find_default_container(self, args, builder):
17+
return windows_default_container_id
2318

24-
def find_default_container(self, args, builder):
25-
return windows_default_container_id
19+
tool = TestCommandLineTool()
20+
tool.make_job_runner(RuntimeContext({
21+
"find_default_container": lambda x: "frolvlad/alpine-bash"}))
2622

27-
TestObject = TestCommandLineTool()
28-
TestObject.make_job_runner(RuntimeContext({
29-
"find_default_container": lambda x: "frolvlad/alpine-bash"}))
30-
mock_logger.warning.assert_called_with(DEFAULT_CONTAINER_MSG, windows_default_container_id, windows_default_container_id)
23+
command_line_tool._logger.warning.assert_called_with(
24+
command_line_tool.DEFAULT_CONTAINER_MSG,
25+
windows_default_container_id,
26+
windows_default_container_id)

0 commit comments

Comments
 (0)