#!/bin/bash # End-to-end test script for BEX Plugin Engine v2.0 set -e export PATH="$HOME/.cargo/bin:$PATH" BEX="./target/debug/bex" DATA_DIR="/tmp/bex-test-$$" echo "=== BEX Plugin Engine v2.0 E2E Test ===" echo "" # Clean up any previous test data rm -rf "$DATA_DIR" mkdir -p "$DATA_DIR" echo "[1] Packing plugins..." $BEX --data-dir "$DATA_DIR" pack dist/bex-imdb.yaml dist/bex_imdb.wasm /tmp/bex-imdb.bex $BEX --data-dir "$DATA_DIR" pack dist/bex-kaianime.yaml dist/bex_kaianime.wasm /tmp/bex-kaianime.bex $BEX --data-dir "$DATA_DIR" pack dist/bex-kisskh.yaml dist/bex_kisskh.wasm /tmp/bex-kisskh.bex echo " -> All 3 plugins packed successfully" echo "" echo "[2] Inspecting packages..." $BEX --data-dir "$DATA_DIR" inspect /tmp/bex-imdb.bex echo "" $BEX --data-dir "$DATA_DIR" inspect /tmp/bex-kaianime.bex echo "" $BEX --data-dir "$DATA_DIR" inspect /tmp/bex-kisskh.bex echo "" echo "[3] Installing plugins..." $BEX --data-dir "$DATA_DIR" install /tmp/bex-imdb.bex $BEX --data-dir "$DATA_DIR" install /tmp/bex-kaianime.bex $BEX --data-dir "$DATA_DIR" install /tmp/bex-kisskh.bex echo "" echo "[4] Listing plugins..." $BEX --data-dir "$DATA_DIR" list echo "" echo "[5] Testing stats..." $BEX --data-dir "$DATA_DIR" stats echo "" echo "[6] Testing KaiAnime get-home..." $BEX --data-dir "$DATA_DIR" home bex.kaianime | head -30 echo "" echo "[7] Testing KaiAnime search..." $BEX --data-dir "$DATA_DIR" search bex.kaianime "one piece" | head -20 echo "" echo "[8] Testing enable/disable..." $BEX --data-dir "$DATA_DIR" disable bex.imdb $BEX --data-dir "$DATA_DIR" list $BEX --data-dir "$DATA_DIR" enable bex.imdb $BEX --data-dir "$DATA_DIR" list echo "" echo "[9] Testing uninstall..." $BEX --data-dir "$DATA_DIR" uninstall bex.imdb $BEX --data-dir "$DATA_DIR" list echo "" echo "[10] Testing reinstall..." $BEX --data-dir "$DATA_DIR" install /tmp/bex-imdb.bex $BEX --data-dir "$DATA_DIR" list echo "" # Clean up rm -rf "$DATA_DIR" echo "" echo "=== ALL TESTS PASSED ==="