furtka/tests
Daniel Maksymilian Syrnicki 0615d92c8d fix(install): copy app subdirectories so dependency hooks ship
install_from() only copied top-level files, so an app's scripts/ folder —
where provider on_install/on_start dependency hooks live — never reached
/var/lib/furtka/apps/<app>/. Every hooked dependency therefore failed at
reconcile with "hook ... missing in provider". Copy subdirectories too
(rmtree+copytree so a reinstall drops files removed upstream).

Found during the first real end-to-end run of the mosquitto+zigbee2mqtt
dependency pair on a test VM.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 13:03:33 +02:00
..
test_api.py chore: ruff format 2026-05-11 20:10:04 +02:00
test_app.py feat(furtka): serve from /opt/furtka/current, retire /srv/furtka/www/ 2026-04-16 13:15:59 +02:00
test_auth.py feat(auth): rate-limit failed logins with per-(user, IP) lockout 2026-04-22 17:27:14 +02:00
test_catalog.py feat(catalog): on-box apps catalog synced independently of core version 2026-04-20 14:16:02 +02:00
test_cli.py feat(apps): app-to-app dependencies with install + start hooks 2026-05-11 19:39:10 +02:00
test_deps.py chore: ruff format 2026-05-11 20:10:04 +02:00
test_dockerops.py chore: ruff format 2026-05-11 20:10:04 +02:00
test_drives.py feat(installer): filter the boot USB out of the install drive picker 2026-04-28 12:09:19 +02:00
test_https.py fix(https): make HTTPS opt-in to stop the BAD_SIGNATURE trap on fresh installs 2026-04-21 19:30:04 +02:00
test_install_runner.py chore: ruff format 2026-05-11 20:10:04 +02:00
test_installer.py fix(install): copy app subdirectories so dependency hooks ship 2026-06-28 13:03:33 +02:00
test_manifest.py feat(apps): app-to-app dependencies with install + start hooks 2026-05-11 19:39:10 +02:00
test_passwd.py fix: unbreak upgrade path + install-lock race 2026-04-21 17:03:28 +02:00
test_reconciler.py fix(deps): give on_start hooks the consumer's stored credentials 2026-05-28 23:45:42 +02:00
test_scanner.py feat(furtka): resource-manager skeleton — manifest, scanner, CLI 2026-04-15 09:59:41 +02:00
test_sources.py feat(catalog): on-box apps catalog synced independently of core version 2026-04-20 14:16:02 +02:00
test_updater.py fix: unbreak upgrade path + install-lock race 2026-04-21 17:03:28 +02:00
test_webinstaller_assets.py fix(https): make HTTPS opt-in to stop the BAD_SIGNATURE trap on fresh installs 2026-04-21 19:30:04 +02:00