From f73d98bbef42980d6e5abf78bce23df9fd01ff58 Mon Sep 17 00:00:00 2001 From: Charlie Date: Wed, 20 Aug 2025 16:09:56 -0400 Subject: [PATCH] Return archive path from main --- seqBackupLib/backup.py | 5 +++-- test/test_backup.py | 30 +++++++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/seqBackupLib/backup.py b/seqBackupLib/backup.py index d183a8c..f9745a0 100644 --- a/seqBackupLib/backup.py +++ b/seqBackupLib/backup.py @@ -111,6 +111,8 @@ def backup_fastq( with open(md5_out_fp, "w") as md5_out: [md5_out.write("\t".join(md5) + "\n") for md5 in md5s] + return write_dir + def main(argv=None): parser = argparse.ArgumentParser(description="Backs up fastq files") @@ -143,8 +145,7 @@ def main(argv=None): help="Minimum file size to register in bytes", ) args = parser.parse_args(argv) - - backup_fastq( + return backup_fastq( args.forward_reads, args.destination_dir, args.sample_sheet, diff --git a/test/test_backup.py b/test/test_backup.py index c3d9ee3..b571898 100644 --- a/test/test_backup.py +++ b/test/test_backup.py @@ -1,6 +1,11 @@ import pytest from pathlib import Path -from seqBackupLib.backup import backup_fastq, build_fp_to_archive, return_md5 +from seqBackupLib.backup import ( + backup_fastq, + build_fp_to_archive, + return_md5, + main, +) def test_build_fp_to_archive(): @@ -104,3 +109,26 @@ def test_backup_fastq_without_lane(tmp_path, full_miseq_dir): out_dir = raw / "250407_M03543_0443_000000000-DTHBL_L001" assert (out_dir / "Undetermined_S0_L001_R1_001.fastq.gz").is_file() assert (out_dir / "Undetermined_S0_L001_R2_001.fastq.gz").is_file() + + +def test_main_returns_archive_path(tmp_path, full_miseq_dir): + raw = tmp_path / "raw_reads" + raw.mkdir(parents=True, exist_ok=True) + sample_sheet_fp = full_miseq_dir / "sample_sheet.csv" + + out_dir = main( + [ + "--forward-reads", + str(full_miseq_dir / "Undetermined_S0_L001_R1_001.fastq.gz"), + "--destination-dir", + str(raw), + "--sample-sheet", + str(sample_sheet_fp), + "--min-file-size", + "100", + ] + ) + + expected_dir = raw / "250407_M03543_0443_000000000-DTHBL_L001" + assert out_dir == expected_dir + assert expected_dir.is_dir()