forked from baron/baron-sso
production 푸시 초안
This commit is contained in:
75
test/devfront_port_policy_test.sh
Normal file
75
test/devfront_port_policy_test.sh
Normal file
@@ -0,0 +1,75 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
|
||||
fail() {
|
||||
echo "ERROR: $*" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
assert_contains() {
|
||||
local file="$1"
|
||||
local pattern="$2"
|
||||
grep -Fq -- "$pattern" "$file" || fail "$file must contain: $pattern"
|
||||
}
|
||||
|
||||
assert_not_contains() {
|
||||
local file="$1"
|
||||
local pattern="$2"
|
||||
if grep -Fq -- "$pattern" "$file"; then
|
||||
fail "$file must not contain stale devfront port pattern: $pattern"
|
||||
fi
|
||||
}
|
||||
|
||||
assert_root_service_contains() {
|
||||
local service="$1"
|
||||
local pattern="$2"
|
||||
awk -v service=" $service:" '
|
||||
$0 == service { in_service = 1; next }
|
||||
in_service && /^ [[:alnum:]_-]+:/ { in_service = 0 }
|
||||
in_service { print }
|
||||
' "$ROOT_DIR/docker-compose.yaml" | grep -Fq -- "$pattern" || fail "docker-compose.yaml $service service must contain: $pattern"
|
||||
}
|
||||
|
||||
DEVFRONT_DOCKERFILE="$ROOT_DIR/devfront/Dockerfile"
|
||||
DEVFRONT_VITE_CONFIG="$ROOT_DIR/devfront/vite.config.ts"
|
||||
DEVFRONT_RUNTIME="$ROOT_DIR/devfront/scripts/runtime-mode.sh"
|
||||
DEVFRONT_DEPLOY_VITE_CONFIG="$ROOT_DIR/deploy/templates/devfront/vite.config.ts"
|
||||
|
||||
assert_contains "$DEVFRONT_DOCKERFILE" "EXPOSE 5174"
|
||||
assert_contains "$DEVFRONT_DOCKERFILE" 'CMD ["npm", "run", "dev", "--", "--host", "0.0.0.0", "--port", "5174"]'
|
||||
assert_contains "$DEVFRONT_DOCKERFILE" "ENV PORT=5174"
|
||||
assert_not_contains "$DEVFRONT_DOCKERFILE" "EXPOSE 5173"
|
||||
assert_not_contains "$DEVFRONT_DOCKERFILE" '"--port", "5173"'
|
||||
assert_not_contains "$DEVFRONT_DOCKERFILE" "ENV PORT=5173"
|
||||
|
||||
assert_contains "$DEVFRONT_VITE_CONFIG" "port: 5174"
|
||||
assert_contains "$DEVFRONT_RUNTIME" "npm run preview -- --host 0.0.0.0 --port 5174"
|
||||
assert_contains "$DEVFRONT_RUNTIME" "npm run dev -- --host 0.0.0.0 --port 5174"
|
||||
assert_contains "$DEVFRONT_DEPLOY_VITE_CONFIG" "port: 5174"
|
||||
|
||||
assert_root_service_contains "devfront" 'command: ["npm", "run", "dev", "--", "--host", "0.0.0.0", "--port", "5174"]'
|
||||
assert_root_service_contains "devfront" '- "${DEVFRONT_PORT:-5174}:5174"'
|
||||
assert_root_service_contains "orgfront" '- "${ORGFRONT_PORT:-5175}:5175"'
|
||||
|
||||
for file in \
|
||||
"$ROOT_DIR/docker/docker-compose.template.yaml" \
|
||||
"$ROOT_DIR/docker/docker-compose.staging.template.yaml" \
|
||||
"$ROOT_DIR/docker/staging_pull_compose.template.yaml" \
|
||||
"$ROOT_DIR/deploy/templates/docker-compose.yaml"
|
||||
do
|
||||
assert_contains "$file" "devfront:"
|
||||
assert_not_contains "$file" '${DEVFRONT_PORT:-5174}:5173'
|
||||
assert_not_contains "$file" '${DEVFRONT_PORT}:5173'
|
||||
done
|
||||
|
||||
assert_contains "$ROOT_DIR/docker/docker-compose.template.yaml" '${DEVFRONT_PORT:-5174}:5174'
|
||||
assert_contains "$ROOT_DIR/docker/docker-compose.staging.template.yaml" '${DEVFRONT_PORT:-5174}:5174'
|
||||
assert_contains "$ROOT_DIR/docker/staging_pull_compose.template.yaml" '${DEVFRONT_PORT:-5174}:5174'
|
||||
assert_contains "$ROOT_DIR/deploy/templates/docker-compose.yaml" '${DEVFRONT_PORT}:5174'
|
||||
|
||||
assert_contains "$ROOT_DIR/docker/staging_pull_compose.template.yaml" "fetch('http://127.0.0.1:5174/')"
|
||||
assert_contains "$ROOT_DIR/deploy/templates/docker-compose.yaml" "traefik.http.services.\${COMPOSE_PROJECT_NAME}-devfront.loadbalancer.server.port=5174"
|
||||
|
||||
echo "OK: DevFront Docker internal port is aligned to 5174"
|
||||
Reference in New Issue
Block a user