feat: prepare v1.2.19 release
This commit is contained in:
Executable
+54
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
set -Eeuo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
TEMP_DIR="$(mktemp -d)"
|
||||
trap 'rm -rf "${TEMP_DIR}"' EXIT
|
||||
|
||||
fail_test() {
|
||||
printf 'FAIL: %s\n' "$*" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
mkdir -p "${TEMP_DIR}/bin" "${TEMP_DIR}/keys"
|
||||
touch "${TEMP_DIR}/lanqin.db" "${TEMP_DIR}/reload.log"
|
||||
|
||||
cat > "${TEMP_DIR}/bin/sqlite3" <<'EOF'
|
||||
#!/bin/sh
|
||||
printf 'example.com|lanqin|%s\n' "$(cat "${FAKE_PRIVATE_KEY_FILE}")"
|
||||
EOF
|
||||
cat > "${TEMP_DIR}/bin/id" <<'EOF'
|
||||
#!/bin/sh
|
||||
exit 1
|
||||
EOF
|
||||
cat > "${TEMP_DIR}/bin/rspamadm" <<'EOF'
|
||||
#!/bin/sh
|
||||
printf '%s\n' "$*" >> "${FAKE_RELOAD_LOG}"
|
||||
EOF
|
||||
cat > "${TEMP_DIR}/bin/pkill" <<'EOF'
|
||||
#!/bin/sh
|
||||
printf 'unexpected pkill fallback\n' >&2
|
||||
exit 1
|
||||
EOF
|
||||
chmod 0755 "${TEMP_DIR}/bin/sqlite3" "${TEMP_DIR}/bin/id" "${TEMP_DIR}/bin/rspamadm" "${TEMP_DIR}/bin/pkill"
|
||||
|
||||
export PATH="${TEMP_DIR}/bin:${PATH}"
|
||||
export LANQIN_DB_PATH="${TEMP_DIR}/lanqin.db"
|
||||
export LANQIN_RSPAMD_DKIM_DIR="${TEMP_DIR}/keys"
|
||||
export FAKE_PRIVATE_KEY_FILE="${TEMP_DIR}/private-key.b64"
|
||||
export FAKE_RELOAD_LOG="${TEMP_DIR}/reload.log"
|
||||
|
||||
printf 'first-private-key' | base64 > "${FAKE_PRIVATE_KEY_FILE}"
|
||||
sh "${ROOT_DIR}/deploy/rspamd/sync-dkim.sh" --once
|
||||
[[ "$(cat "${TEMP_DIR}/keys/example.com.lanqin.key")" == "first-private-key" ]] || fail_test "initial DKIM key was not exported"
|
||||
[[ "$(wc -l < "${FAKE_RELOAD_LOG}" | tr -d ' ')" == "1" ]] || fail_test "initial DKIM key did not reload Rspamd"
|
||||
|
||||
sh "${ROOT_DIR}/deploy/rspamd/sync-dkim.sh" --once
|
||||
[[ "$(wc -l < "${FAKE_RELOAD_LOG}" | tr -d ' ')" == "1" ]] || fail_test "unchanged DKIM key reloaded Rspamd"
|
||||
|
||||
printf 'second-private-key' | base64 > "${FAKE_PRIVATE_KEY_FILE}"
|
||||
sh "${ROOT_DIR}/deploy/rspamd/sync-dkim.sh" --once
|
||||
[[ "$(cat "${TEMP_DIR}/keys/example.com.lanqin.key")" == "second-private-key" ]] || fail_test "changed DKIM key was not exported"
|
||||
[[ "$(wc -l < "${FAKE_RELOAD_LOG}" | tr -d ' ')" == "2" ]] || fail_test "changed DKIM key did not reload Rspamd"
|
||||
|
||||
printf 'DKIM sync tests passed.\n'
|
||||
Reference in New Issue
Block a user