check_json_field "$RESP""status""success""load_lora with real adapter"
# Wait for LoRA to propagate to the frontend (discovery takes ~1-2s)
LORA_VISIBLE=false
for _wait in$(seq 1 10);do
MODELS=$(api "$FRONTEND/v1/models"||echo'{}')
if echo"$MODELS" | python3 -c"import sys,json; ids=[m['id'] for m in json.load(sys.stdin).get('data',[])]; assert 'test-vlm-lora' in ids" 2>/dev/null;then
LORA_VISIBLE=true
break
fi
sleep 1
done
if[["$LORA_VISIBLE"=="true"]];then
pass "LoRA appears in /v1/models"
else
fail "LoRA does NOT appear in /v1/models after 10s"
fi
else
skip "No --lora-path provided, skipping real LoRA load"
fi
# ── 7. Inference with LoRA adapter ──────────────────────────────────────
echo""
echo"[7/9] Testing inference with LoRA adapter..."
if[[-n"$LORA_PATH"&&-d"$LORA_PATH"]];then
RESP=$(api -X POST "$FRONTEND/v1/chat/completions"\
if echo"$MODELS" | python3 -c"import sys,json; ids=[m['id'] for m in json.load(sys.stdin).get('data',[])]; assert 'test-vlm-lora' not in ids" 2>/dev/null;then
pass "LoRA removed from /v1/models"
else
fail "LoRA still present in /v1/models after unload"
fi
else
skip "No --lora-path provided, skipping LoRA unload"