Skip to content

Add automated test suite and CI workflow #13

@joshbouncesecurity

Description

@joshbouncesecurity

Problem

OpenAnt currently has no automated test suite. Changes to parsers, the LLM client, or the Go CLI wrapper can introduce regressions that are only caught by running full end-to-end scans manually.

Proposal

Add a pytest test suite and GitHub Actions CI workflow covering:

Tests (60 total)

  • Token tracker: pricing calculations, cumulative tracking, reset, summaries
  • Language detection: Python/JS/mixed repos, correctly ignores venv/node_modules
  • Python parser phases: scanner, function extractor, call graph builder, unit generator — each tested individually against a small fixture repo
  • JavaScript parser: scanner, TypeScript analyzer, unit generator, full pipeline via parser_adapter
  • Go CLI wrapper: version/help commands, parse (Python + JS repos), API key validation — invoking the real compiled binary

CI workflow

  • Runs on Linux, macOS, and Windows
  • Two jobs: Python/parser tests + Go build/vet/integration tests
  • Triggers on push to master and on pull requests

Fixtures

Small sample repos (Python + JavaScript) included as test fixtures — no external dependencies needed.

Known Windows issues discovered

  • ts-morph fails to resolve files with backslash paths (marked as xfail)
  • Unicode checkmarks (✓/✗) in parsers/javascript/test_pipeline.py crash on Windows cp1252 encoding (marked as xfail)

PR

See: #15

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions