From ae8aa4480c98459816d7268b1f25acfeb2f6a5e9 Mon Sep 17 00:00:00 2001 From: Venkat Malladi <venkat.malladi@utsouthwestern.edu> Date: Thu, 14 Mar 2019 14:57:58 -0500 Subject: [PATCH] Add in tests. --- workflow/main.nf | 2 + .../test_generate_software_references.py | 41 +++++++++++++++++++ .../tests/test_generate_software_versions.py | 31 ++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 workflow/tests/test_generate_software_references.py create mode 100644 workflow/tests/test_generate_software_versions.py diff --git a/workflow/main.nf b/workflow/main.nf index f89abdb..2a210bb 100644 --- a/workflow/main.nf +++ b/workflow/main.nf @@ -487,6 +487,8 @@ process diffPeaks { // Collect Software Versions and references process softwareReport { + publishDir "$outDir/${task.process}", mode: 'copy' + input: file trimReads_vf from trimReadsVersions.collect() diff --git a/workflow/tests/test_generate_software_references.py b/workflow/tests/test_generate_software_references.py new file mode 100644 index 0000000..1aeb6d3 --- /dev/null +++ b/workflow/tests/test_generate_software_references.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 + +import pytest +import os +import utils + +test_output_path = os.path.dirname(os.path.abspath(__file__)) + \ + '/../output/softwareReport/' + + +@pytest.mark.singleend +def test_software_references(): + assert os.path.exists(os.path.join(test_output_path, 'software_references_mqc.txt')) + + +@pytest.mark.singleend +def test_nextflow_version(): + assert os.path.exists(os.path.join(test_output_path, 'version_nextflow.txt')) + + +@pytest.mark.singleend +def test_software_versions(): + assert os.path.exists(os.path.join(test_output_path, 'software_versions_mqc.yaml')) + + +@pytest.mark.singleend +def test_software_versions_output(): + software_versions = os.path.join(test_output_path, 'software_versions_mqc.yaml') + with open(software_versions, 'r') as stream: + data_loaded = yaml.load(stream) + + assert len(data_loaded['data'].split('<dt>')) == 15 + + +@pytest.mark.singleskip_true +def test_software_versions_output_rep(): + software_versions = os.path.join(test_output_path, 'software_versions_mqc.yaml') + with open(software_versions, 'r') as stream: + data_loaded = yaml.load(stream) + + assert len(data_loaded['data'].split('<dt>')) == 13 diff --git a/workflow/tests/test_generate_software_versions.py b/workflow/tests/test_generate_software_versions.py new file mode 100644 index 0000000..77489a8 --- /dev/null +++ b/workflow/tests/test_generate_software_versions.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import pytest +import os +import utils + +test_output_path = os.path.dirname(os.path.abspath(__file__)) + \ + '/../output/softwareReport/' + + +@pytest.mark.singleend +def test_software_versions(): + assert os.path.exists(os.path.join(test_output_path, 'software_versions_mqc.yaml')) + + +@pytest.mark.singleend +def test_software_versions_output(): + software_versions = os.path.join(test_output_path, 'software_versions_mqc.yaml') + with open(software_versions, 'r') as stream: + data_loaded = yaml.load(stream) + + assert len(data_loaded['data'].split('<dt>')) == 15 + + +@pytest.mark.singleskip_true +def test_software_versions_output_rep(): + software_versions = os.path.join(test_output_path, 'software_versions_mqc.yaml') + with open(software_versions, 'r') as stream: + data_loaded = yaml.load(stream) + + assert len(data_loaded['data'].split('<dt>')) == 13 -- GitLab