test(M00): 完善MQTT冒烟配置自检

This commit is contained in:
Codex
2026-06-16 12:34:43 +08:00
parent 5278a2d837
commit 4637e53507
7 changed files with 33 additions and 4 deletions
+1 -1
View File
@@ -14,4 +14,4 @@ QIPAI_MQTT_PASSWORD=
# Optional. Leave blank to derive from the generated client id.
QIPAI_MQTT_ALLOWED_PUBLISH_TOPIC=
QIPAI_MQTT_ALLOWED_SUBSCRIBE_TOPIC=
QIPAI_MQTT_DENIED_SUBSCRIBE_TOPIC=$SYS/#
QIPAI_MQTT_DENIED_SUBSCRIBE_TOPIC='$SYS/#'
+21
View File
@@ -20,17 +20,38 @@ denied_subscribe_topic="${QIPAI_MQTT_DENIED_SUBSCRIBE_TOPIC:-\$SYS/#}"
echo "INFO: MQTT smoke target ${protocol}://${host}:${port}, version ${mqtt_version}, qos ${qos}"
check_config_only=false
if [ "${1:-}" = "--check-config" ]; then
check_config_only=true
fi
if ! command -v mqttx >/dev/null 2>&1; then
echo "FAIL: mqttx CLI not found"
exit 1
fi
if [ ! -f "${SCRIPT_DIR}/mqtt-smoke.env" ]; then
echo "WARN: local env not found: scripts/dev/wsl/mqtt-smoke.env"
echo "INFO: copy scripts/dev/wsl/mqtt-smoke.env.example and fill local credentials outside Git"
fi
if [ -z "${QIPAI_MQTT_USERNAME:-}" ] || [ -z "${QIPAI_MQTT_PASSWORD:-}" ]; then
echo "SKIP: QIPAI_MQTT_USERNAME/QIPAI_MQTT_PASSWORD not configured in Git-ignored local env"
echo "INFO: service-level check remains available via scripts/dev/wsl/check-local-mqtt.sh"
exit 0
fi
if [ "$QIPAI_MQTT_PASSWORD" = "QIPAI_EXPECTED_BAD_PASSWORD" ]; then
echo "FAIL: local password equals the negative-test password placeholder"
exit 1
fi
if [ "$check_config_only" = true ]; then
echo "PASS: local MQTT smoke configuration is present"
echo "INFO: username configured; password is intentionally not printed"
exit 0
fi
common_args=(
--hostname "$host"
--port "$port"