fix(fptn): boot recovery, reload planner, persistent selector state and telegram token flow
This commit is contained in:
@@ -119,6 +119,40 @@ SIG_2="$(ucode_run "$STATE_UC" fptn-runtime-signature-fixture "$WORK_DIR/state_f
|
||||
# 5. Test diagnostics runtime dispatch for get-fptn-status
|
||||
STATUS_OUT="$(TACHYON_LIB="$TACHYON_LIB" ucode_run "$DIAGNOSTICS_UC" get-fptn-status)"
|
||||
echo "$STATUS_OUT" | grep -q '"ready":' || fail "get-fptn-status should return status json"
|
||||
echo "$STATUS_OUT" | grep -q '"process_running":' || fail "get-fptn-status should include process_running"
|
||||
echo "$STATUS_OUT" | grep -q '"tun_up":' || fail "get-fptn-status should include tun_up"
|
||||
echo "$STATUS_OUT" | grep -q '"route_installed":' || fail "get-fptn-status should include route_installed"
|
||||
echo "$STATUS_OUT" | grep -q '"rule_installed":' || fail "get-fptn-status should include rule_installed"
|
||||
echo "$STATUS_OUT" | grep -q '"status_message":' || fail "get-fptn-status should include status_message"
|
||||
|
||||
# 6. Test fptn ensure-routing command syntax
|
||||
ENSURE_RES="$(TACHYON_LIB_DIR="$TACHYON_LIB" ucode_run "$FPTN_RUNTIME_UC" ensure-routing && echo "1" || echo "0")"
|
||||
assert_eq "1" "$ENSURE_RES" "ensure-routing should execute successfully"
|
||||
|
||||
# 7. Test validator supports fptn rule action
|
||||
cat >"$WORK_DIR/fptn_valid.json" <<'JSON'
|
||||
{
|
||||
"settings": {
|
||||
".name": "settings",
|
||||
".type": "settings",
|
||||
"main_action": "direct",
|
||||
"dns_server": ["77.88.8.8"],
|
||||
"bootstrap_dns_server": ["77.88.8.8"]
|
||||
},
|
||||
"sec_fptn": {
|
||||
".name": "sec_fptn",
|
||||
".type": "section",
|
||||
"enabled": "1",
|
||||
"action": "fptn",
|
||||
"access_token": "secret_token_123"
|
||||
}
|
||||
}
|
||||
JSON
|
||||
TACHYON_LIB="$TACHYON_LIB" ucode -L "$TACHYON_LIB" "$ROOT_DIR/tachyon/files/usr/lib/config/validator.uc" validate-runtime-fixture "$WORK_DIR/fptn_valid.json" "{}" || fail "validator rejected valid fptn config"
|
||||
|
||||
# 8. Test telegram token masking subcommand
|
||||
TG_MASK_OUT="$(ucode -L "$TACHYON_LIB" "$ROOT_DIR/tachyon/files/usr/lib/service/telegram.uc" mask-token "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9Q7Fx")"
|
||||
assert_eq "••••••••Q7Fx" "$TG_MASK_OUT" "telegram token masking"
|
||||
|
||||
echo "fptn component tests passed"
|
||||
|
||||
|
||||
@@ -222,4 +222,19 @@ assert_state_plan_exit 2 "$previous_state" "$current_state" 0 0 0 0 0
|
||||
rm -f "$previous_state"
|
||||
assert_state_plan_exit 2 "$previous_state" "$current_state" 0 0 0 0 0
|
||||
|
||||
cat >"$previous_state" <<EOF
|
||||
format=1
|
||||
service_trigger_signature=svc
|
||||
fptn_runtime_signature=tokenA
|
||||
EOF
|
||||
cat >"$current_state" <<EOF
|
||||
format=1
|
||||
service_trigger_signature=svc
|
||||
fptn_runtime_signature=tokenB
|
||||
EOF
|
||||
plan="$(run_state_case state_fptn_changed "$previous_state" "$current_state" 0 0 0 0 0)"
|
||||
assert_plan_value "$plan" changed_fptn_runtime 1
|
||||
assert_plan_value "$plan" needs_fptn_restart 1
|
||||
assert_plan_value "$plan" has_work 1
|
||||
|
||||
printf 'service reload plan checks passed\n'
|
||||
|
||||
Reference in New Issue
Block a user