annotate test/test_runner.py @ 6:2b90d0574ea5 draft

planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
author sanbi-uwc
date Tue, 05 Mar 2019 03:49:38 -0500
parents 53a61865e86e
children 5ec97cccb3fe
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
1 import os
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
2
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
3 import pytest
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
4 from click.testing import CliRunner
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
5
6
2b90d0574ea5 planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
sanbi-uwc
parents: 3
diff changeset
6 from confil.confil import confil, parse_report
3
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
7
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
8 CURR_DIR = os.path.dirname(os.path.abspath(__file__))
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
9 TEST_DATA_DIR = os.path.join(CURR_DIR, "test_data/")
6
2b90d0574ea5 planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
sanbi-uwc
parents: 3
diff changeset
10 TEST_REPORT = os.path.join(TEST_DATA_DIR, "test_file.tab")
3
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
11 FILE_1 = os.path.join(TEST_DATA_DIR, "test_file_1.fastq")
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
12 FILE_2 = os.path.join(TEST_DATA_DIR, "test_file_2.fastq")
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
13
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
14
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
15 @pytest.fixture(scope="module")
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
16 def cli_runner():
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
17 runner = CliRunner()
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
18 return runner
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
19
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
20
6
2b90d0574ea5 planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
sanbi-uwc
parents: 3
diff changeset
21 @pytest.mark.skip(reason="No way of currently testing this. It's KRAKEN!")
3
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
22 def test_runner(cli_runner):
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
23 result = cli_runner.invoke(confil, ["--paired", FILE_1, FILE_2])
53a61865e86e planemo upload for repository https://github.com/COMBAT-TB/confil commit cb48efaef286f70c94607cb583a61bb9e3d71604
sanbi-uwc
parents:
diff changeset
24 assert result.exit_code == 0
6
2b90d0574ea5 planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
sanbi-uwc
parents: 3
diff changeset
25
2b90d0574ea5 planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
sanbi-uwc
parents: 3
diff changeset
26
2b90d0574ea5 planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
sanbi-uwc
parents: 3
diff changeset
27 @pytest.mark.parametrize("test_input, expected", [
2b90d0574ea5 planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
sanbi-uwc
parents: 3
diff changeset
28 (type(parse_report(TEST_REPORT, 50)), list),
2b90d0574ea5 planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
sanbi-uwc
parents: 3
diff changeset
29 (parse_report(TEST_REPORT, 50)[5], 'Mycobacterium'),
2b90d0574ea5 planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
sanbi-uwc
parents: 3
diff changeset
30 (parse_report(TEST_REPORT, 50)[0], '55.84')
2b90d0574ea5 planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
sanbi-uwc
parents: 3
diff changeset
31 ])
2b90d0574ea5 planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
sanbi-uwc
parents: 3
diff changeset
32 def test_parse_report(test_input, expected):
2b90d0574ea5 planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
sanbi-uwc
parents: 3
diff changeset
33 assert test_input == expected
2b90d0574ea5 planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
sanbi-uwc
parents: 3
diff changeset
34
2b90d0574ea5 planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
sanbi-uwc
parents: 3
diff changeset
35
2b90d0574ea5 planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
sanbi-uwc
parents: 3
diff changeset
36 def test_parse_report_exception():
2b90d0574ea5 planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
sanbi-uwc
parents: 3
diff changeset
37 with pytest.raises(SystemExit):
2b90d0574ea5 planemo upload for repository https://github.com/COMBAT-TB/confil commit c84738cfc4876c591d7108229038a4001f836afb
sanbi-uwc
parents: 3
diff changeset
38 parse_report(TEST_REPORT, 90)