Some checks are pending
Test start.ps1 (Windows) / test-windows (push) Waiting to run
- start.ps1: PowerShell 部署脚本,支持本地/局域网 IP 访问 - docs/Windows一键部署方案.md: 实现方案与测试说明 - scripts/test-start-ps1-env.py: .env 替换逻辑验证 - .github/workflows/test-start-ps1.yml: Windows CI 测试 Made-with: Cursor
28 lines
1.4 KiB
Python
28 lines
1.4 KiB
Python
#!/usr/bin/env python3
|
|
# 验证 start.ps1 的 .env 替换逻辑(与 PowerShell 等效)
|
|
import re
|
|
|
|
DEPLOY_IP = "192.168.1.100"
|
|
content = """NUXT_PUBLIC_BASE_APIURL=http://127.0.0.1:3001
|
|
#NUXT_PUBLIC_BASE_APIURL=/api
|
|
NUXT_PUBLIC_BASE_SOCKETURL=ws://127.0.0.1:3002
|
|
NUXT_PUBLIC_SG_APIURL=http://127.0.0.1:3003
|
|
"""
|
|
|
|
content = re.sub(r'^NUXT_PUBLIC_BASE_APIURL=.*', f'NUXT_PUBLIC_BASE_APIURL=http://{DEPLOY_IP}:3001', content, flags=re.MULTILINE)
|
|
content = re.sub(r'^NUXT_PUBLIC_BASE_SOCKETURL=.*', f'NUXT_PUBLIC_BASE_SOCKETURL=ws://{DEPLOY_IP}:3002', content, flags=re.MULTILINE)
|
|
content = re.sub(r'^NUXT_PUBLIC_SG_APIURL=.*', f'NUXT_PUBLIC_SG_APIURL=http://{DEPLOY_IP}:3003', content, flags=re.MULTILINE)
|
|
|
|
expected = f"""NUXT_PUBLIC_BASE_APIURL=http://{DEPLOY_IP}:3001
|
|
#NUXT_PUBLIC_BASE_APIURL=/api
|
|
NUXT_PUBLIC_BASE_SOCKETURL=ws://{DEPLOY_IP}:3002
|
|
NUXT_PUBLIC_SG_APIURL=http://{DEPLOY_IP}:3003
|
|
"""
|
|
# 注释行不应被替换,检查第一行和第三行
|
|
lines = content.split('\n')
|
|
assert lines[0] == f'NUXT_PUBLIC_BASE_APIURL=http://{DEPLOY_IP}:3001', f"Got {lines[0]}"
|
|
assert lines[2] == f'NUXT_PUBLIC_BASE_SOCKETURL=ws://{DEPLOY_IP}:3002', f"Got {lines[2]}"
|
|
assert lines[3] == f'NUXT_PUBLIC_SG_APIURL=http://{DEPLOY_IP}:3003', f"Got {lines[3]}"
|
|
assert lines[1] == '#NUXT_PUBLIC_BASE_APIURL=/api', f"Comment should not change: {lines[1]}"
|
|
print("OK: .env replacement logic validated")
|