Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 22, 2026

Adds integration and unit testing capability. Tests use Snakemake dry-run mode with pre-generated TSV fixtures to validate workflow planning without CFMM server access.

Changes

  • Integration tests (workflow/lib/tests/test_integration.py): 8 tests validating all workflow stages (query, filter, download, convert, fix) via dry-run mode
  • Test fixtures (workflow/lib/tests/fixtures/): Mock TSV query results and test configuration
  • Optional cfmm2tar import (workflow/lib/query_filter.py): Import wrapped in try/except to allow workflow parsing without external dependencies
  • CI workflow (.github/workflows/test.yml): Automated testing on push/PR
  • Documentation (README.md): Testing section with examples and approach explanation

Testing approach

Tests validate workflow planning correctness using pre-populated query results:

# Test fixture creates query cache to bypass actual querying
query_dir / "studies.tsv"       # Pre-generated TSV data
query_dir / "query_hash.txt"    # Hash matches config to skip re-query

# Snakemake can now parse and plan without cfmm2tar
result = subprocess.run(["snakemake", "--dry-run", "all"], ...)

Test results

  • 33 tests passing (8 new integration + 25 existing unit tests)
  • 2 pre-existing failures in fix_orientation_quadruped (unrelated)

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • pixi.sh
    • Triggering command: /usr/bin/curl curl -fsSL REDACTED (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>No testing</issue_title>
<issue_description>No unit or integration testing in this repo yet.

First step could be dry-run integration testing (with snakemake -np), but using existing tsv query outputs so we dopnt' have to rely on cfmm2tar querying. </issue_description>

<agent_instructions>Create a testing framework </agent_instructions>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits January 22, 2026 20:37
Co-authored-by: akhanf <11492701+akhanf@users.noreply.github.com>
…at, and documentation

Co-authored-by: akhanf <11492701+akhanf@users.noreply.github.com>
Copilot AI changed the title [WIP] Add testing framework for integration and unit tests Add integration testing framework with Snakemake dry-run Jan 22, 2026
Copilot AI requested a review from akhanf January 22, 2026 20:42
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.

No testing

2 participants