#!/bin/bash # mock-agent — låtsas-agent för helmd:s integrationstester. # Härmar agy-TUI:ns två frågetyper: # 1) onumrerad lista med ">"-markör som navigeras med pilarna + Enter # 2) numrerad lista som väljs med sifferknapp set -u echo "MOCK AGENT v1" echo # --- Fas 1: trust-fråga (onumrerad, pil-navigerad) -------------------- SEL=0 draw_trust() { echo echo "Do you trust this test arena?" if [ "$SEL" = 0 ]; then echo "> Yes, run the test" echo " No, exit" else echo " Yes, run the test" echo "> No, exit" fi echo " ↑/↓ Navigate · enter Confirm" } draw_trust while true; do IFS= read -rsn1 c if [ "$c" = $'\e' ]; then read -rsn2 -t 1 rest || rest="" case "$rest" in "[B") SEL=1; draw_trust ;; "[A") SEL=0; draw_trust ;; esac elif [ -z "$c" ]; then # Enter break fi done echo "TRUST_ANSWER=$SEL" echo # --- Fas 2: promptloop ------------------------------------------------- while true; do printf "> " IFS= read -r line || break case "$line" in ask-numbered) echo echo "Do you want to proceed?" echo "> 1. Yes" echo " 2. Yes, and always allow" echo " 3. No" echo " ↑/↓ Navigate · enter Confirm" IFS= read -rsn1 d echo "PICKED=$d" ;; exit) echo "BYE" exit 0 ;; *) echo "ECHO: $line" ;; esac done