Skip to content

test(integration): integration test suite for the full audio-to-task pipeline (#18) - #38

Closed
MrSpideyNihal wants to merge 8 commits into
developmentfrom
feature/issue-18-integration
Closed

MrSpideyNihal wants to merge 8 commits into
developmentfrom
feature/issue-18-integration

Conversation

@MrSpideyNihal

Copy link
Copy Markdown
Owner

Summary

Implements Issue #18 — Integration test suite for the full audio-to-task pipeline. Connects programmatically-generated audio PCM WAV fixtures to speech-to-text engines, transcript batch writers, scheduled task extractors, rule-based NLP classifiers, and database tables.

Changes

Integration Testing

  • Created tests/integration/test_pipeline.py implementing:
    • Synthetic sine-wave audio PCM WAV generation for test inputs.
    • Chunked reading of WAV waveforms mapped to float32 numpy arrays.
    • Mock vosk.KaldiRecognizer class tracking indices globally to return exactly 5 representative speech sentences:
      1. "I must immediately buy groceries today." (Urgent + Important)
      2. "We need to plan a strategic roadmap." (Important + Not Urgent)
      3. "I need to tell John to fix the website right now." (Delegate + Urgent)
      4. "I should maybe write a funny story eventually." (Low Importance + Not Urgent)
      5. "We have to urgently write the report before noon." (Urgent + Important)
    • Integration of TranscriptWriter to write speech segments to database.
    • Integration of ExtractionScheduler running _run_extraction_cycle() headlessly to extract task lists and map them.
    • Assertions verifying correct database record inserts in transcripts, tasks, and matrix_entries tables, ensuring check constraint mapping values match the expected target quadrants (urgent_important, important_not_urgent, urgent_not_important, neither).

Configuration & Tooling

  • Updated Makefile test target to run the entire test suite pytest tests/ -v.
  • Updated GitHub Actions CI workflow .github/workflows/ci.yml to run the entire test suite on Linux/Windows matrices.

Verification Results

  • All integration and unit tests pass locally:
    tests\integration\test_pipeline.py .                                     [  0%]
    ...
    ============================ 151 passed in 14.12s =============================
    Required test coverage of 80% reached. Total coverage: 83.63%
    
  • No memory leaks, resource warnings (connection is cleanly yielded and closed), or display errors.

Closes #18

@MrSpideyNihal

Copy link
Copy Markdown
Owner Author

Superseded: all changes from this branch have been merged into main directly. Closing as stale.

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.

1 participant