test: verify skill install from ggwave audio end-to-end#770
Conversation
Wire the real ggwave audio transformer plugin and SkillsStore onto a single bus and feed a genuine ggwave waveform carrying a GHS: payload; assert the decoded payload drives ovos.skills.install through to a pip install request (pip and GitHub validation mocked). Also assert the allow_pip=false path refuses the install. Adds ovos-dinkum-listener and the ggwave plugin to the test extra and bumps the ovoscope floor to >=0.20.0 for feed_audio_stream. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
I've finished my rounds! Here's the state of the PR. 🏥I've aggregated the results of the automated checks for this PR below. 📋 Repo HealthKeeping the project in tip-top shape! 🏃 ✅ All required files present. Latest Version: ✅ 🏷️ Release PreviewI've checked the 'New Features' highlight reel. 📽️ Current:
✅ PR title follows conventional commit format. 🚀 Release Channel Compatibility Predicted next version:
🌍 Locale BuildJust keeping you informed on the state of things. ℹ️ ✅ Locale properly configured (64 files, 17 languages) Locale directories found:
Localization coverage:
pyproject.toml: ✅
Build manifest: ✅ 31 locale files included in package 🔒 Security (pip-audit)Our digital defenses have been updated. 🛡️ ✅ No known vulnerabilities found (104 packages scanned). 🔨 Build TestsI tried building your changes, and here's what happened! 🔨
❌ 3.10: Build OK, install failed ⚖️ License CheckThe license check is now finished. 🏁 ✅ No license violations found. Policy: Apache 2.0 (universal donor). StrongCopyleft / NetworkCopyleft / WeakCopyleft / Other / Error categories fail. MPL allowed. The automation engine never sleeps. 🚂 |
What
Add an end-to-end test (
test/end2end/test_ggwave_skill_install.py) proving the data-over-sound skill-install path: a genuine ggwave waveform carrying aGHS:(GitHub-skill) payload installs a skill through ovos-core'sSkillsStore.How
Wires the real ggwave audio transformer plugin and
SkillsStoreonto a single bus, feeds a real ggwave waveform, and asserts the decoded payload drivesovos.skills.install→pip_install(["git+https://github.com/OpenVoiceOS/skill-hello-world"])→ovos.skills.install.complete.pip_installand GitHub validation are mocked, so nothing is fetched or installed. Also asserts theallow_pip=falsepath refuses the install.Changes
testextra: addovos-dinkum-listenerandovos-audio-transformer-plugin-ggwave; bumpovoscopefloor to>=0.20.0forfeed_audio_stream.Dependency ordering
Depends on the ovoscope streaming PR (OpenVoiceOS/ovoscope#86) and the ggwave plugin decode-in-pipeline PR (OpenVoiceOS/ovos-audio-transformer-plugin-ggwave#42) being released first; CI here goes green once those land.
Test plan
uv run pytest test/end2end/test_ggwave_skill_install.py -v— 2 passed locally.🤖 Generated with Claude Code