pluginengine01 / test-e2e.sh
krystv's picture
Upload 107 files
3374e90 verified
#!/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 ==="