67 lines
2.0 KiB
Bash
Executable File
67 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
BACKEND_DIR="${ROOT_DIR}/../water-backend/sw-business-bank"
|
|
SERVER_DIR="${BACKEND_DIR}/sw-business-bank-server"
|
|
CP_FILE="/tmp/sw-business-bank-server.cp"
|
|
|
|
MODE="${1:-}"
|
|
if [[ -z "${MODE}" ]]; then
|
|
echo "Usage: $0 <sftp|ftp> [sample-file]"
|
|
exit 1
|
|
fi
|
|
|
|
SAMPLE_FILE="${2:-${ROOT_DIR}/infra/docker/bank-transfer-test/tmp/sample.txt}"
|
|
|
|
if [[ ! -f "${SAMPLE_FILE}" ]]; then
|
|
echo "Sample file not found: ${SAMPLE_FILE}"
|
|
exit 1
|
|
fi
|
|
|
|
case "${MODE}" in
|
|
sftp)
|
|
MAIN_CLASS="cn.com.emsoft.sw.bankbusiness.tools.BankTransferSftpSmokeCli"
|
|
PORT="2222"
|
|
SEND_DIR="/upload/{companyId}"
|
|
REMOTE_FILE="smoke-cli-sample.txt"
|
|
DOWNLOAD_TARGET="${ROOT_DIR}/infra/docker/bank-transfer-test/tmp/sftp-smoke-download-smoke-cli-sample.txt"
|
|
BATCH_NO="SMOKE010"
|
|
;;
|
|
ftp)
|
|
MAIN_CLASS="cn.com.emsoft.sw.bankbusiness.tools.BankTransferFtpSmokeCli"
|
|
PORT="2121"
|
|
SEND_DIR="{companyId}"
|
|
REMOTE_FILE="smoke-cli-ftp-sample.txt"
|
|
DOWNLOAD_TARGET="${ROOT_DIR}/infra/docker/bank-transfer-test/tmp/ftp-smoke-download-smoke-cli-sample.txt"
|
|
BATCH_NO="SMOKE010FTP"
|
|
;;
|
|
*)
|
|
echo "Unsupported mode: ${MODE}"
|
|
echo "Usage: $0 <sftp|ftp> [sample-file]"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
echo "[1/3] Compile sw-business-bank-server"
|
|
mvn -f "${BACKEND_DIR}/pom.xml" -pl sw-business-bank-server -am -DskipTests compile
|
|
|
|
echo "[2/3] Build runtime classpath"
|
|
mvn -f "${SERVER_DIR}/pom.xml" -DincludeScope=runtime dependency:build-classpath -Dmdep.outputFile="${CP_FILE}"
|
|
|
|
echo "[3/3] Run ${MODE^^} smoke"
|
|
java -cp "$(cat "${CP_FILE}"):${SERVER_DIR}/target/classes" "${MAIN_CLASS}" \
|
|
--local-file "${SAMPLE_FILE}" \
|
|
--host 127.0.0.1 \
|
|
--port "${PORT}" \
|
|
--username demo \
|
|
--password demo123 \
|
|
--send-dir "${SEND_DIR}" \
|
|
--company-id C001 \
|
|
--channel-code 00001 \
|
|
--batch-no "${BATCH_NO}" \
|
|
--business-date 2026-03-24 \
|
|
--remote-file-name "${REMOTE_FILE}" \
|
|
--download-target "${DOWNLOAD_TARGET}"
|