Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: Creation of a test suite #85

Open
wants to merge 12 commits into
base: 2.0.0
Choose a base branch
from
Open

test: Creation of a test suite #85

wants to merge 12 commits into from

Conversation

raaijmag
Copy link

Major Update: Complete Test Suite Integration

This pull request introduces a comprehensive test suite, alongside minor improvements in the AmpliGone package to enhance static analysis and ease of testing. Below is a summary of the major new features included:

  1. New GitHub Actions Workflow for Static Analysis and Testing
    This workflow automates code quality checks and testing through the following steps:

    • Formatting: Ensures consistent code style.
    • Linting: Identifies and resolves potential issues in the codebase.
    • Static Code Analysis: Analyzes the code for deeper issues without execution.
    • Tests: Executes all relevant test cases to ensure reliability.
  2. Unit Tests for Core Modules
    Detailed unit tests have been implemented for the following modules:

    • args.py
    • cut_reads
    • cutlery
    • fasta2bed
  3. End-to-End (E2E) Testing Framework
    A modular and easily extendable framework to simulate real-world scenarios, currently covering:

    • SARS-CoV-2 Happy Flow: Validates the primary functionality with SARS-CoV-2 data.
    • Synthetic Data Happy Flows: Tests functionality using synthetic .fasta and .bed primer files.
    • Edge Cases:
      • Empty input, reference, and primer files.
      • Corrupted input files.
      • Reads in incorrect FASTQ format.
      • Reads with sequences that are too short.

florianzwagemaker and others added 12 commits April 3, 2024 09:59
style: formatting with isort & black
…hes--main--components--AmpliGone

chore(main): release 1.3.1
test: tests/unit/ - added unit test for argument parsing, cutlery and fasta2bed
test: tests/data/ - added files to GitHub LFS for testing purposes
fix: .gitignore - added *:Zone.Identifier
fix: improved static type checking, linting, and formatting for all files
feat: test-requirements- added seperate test reqs
feat: .github.workflows.tests - created automatic testing workflow
chore: __main__ - bandit B101 says that assert should not be used directly, because they are removed when compiling.
chore: alignmentpreset - removed asserts (bandit B101)
chore: args.py - removed asserts (bandit B101), and trailing whitespace
chore: cut_reads - mypy didnt get the ignore comment
chore: fasta2bed - no need to return
chore: reports/ - linting reports for sonarcloud
chore: test_e2e - bandit B101
chore: test_args - bandit B101
chore: test_cutlery - bandit B101
chore: test_fasta2bed - bandit B101
chore: .gitignore - removed coverage.xml so it goed in the reports folder
@raaijmag
Copy link
Author

There are some e2e tests that fail. While I did not find a solution for them yet, I am quite sure that they are not faulty tests but actual issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants