Skip to content

Add unittest test suite for sync engine #121

Description

@sebastientaggart

Problem to Fix

CodeCannon has no automated test suite. The sync engine is the core of the project, but there are no tests verifying that template processing, placeholder substitution, and adapter output work correctly.

Why it Matters

Without tests, regressions can slip through unnoticed — a change to sync.py or a skill template could silently break output for one or more agents. A test suite also unlocks a code coverage badge, further improving project credibility.

General Approach

Use Python's built-in unittest module to create a test suite covering sync correctness (golden-file snapshot tests), placeholder substitution, conditional block processing, per-adapter output, idempotency, dry-run drift detection, and error handling for edge cases like missing config or invalid YAML. This keeps the project on stdlib only — no pip install needed.

Complexity

Verification / QA effort: significant
Requires creating test fixtures (sample configs, skill templates, expected outputs) and verifying correct behavior across multiple adapters and scenarios.

Acceptance Criteria

  • A test suite exists using Python's unittest (stdlib) with tests covering the sync engine
  • Tests cover: sync correctness with snapshot comparisons, placeholder substitution, conditional blocks, adapter-specific output, idempotency, dry-run mode, and error cases
  • Tests can be run with a single command (e.g. make test)
  • A CI workflow runs the tests on push/PR
  • Add a coverage-shield badge (or appropriate alternative)

Metadata

Metadata

Labels

enhancementNew feature or requestqa-passedQA completed, passes

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions