53 lines
1.4 KiB
Python
53 lines
1.4 KiB
Python
from pathlib import Path
|
|
import subprocess
|
|
|
|
|
|
REPO_ROOT = Path(__file__).resolve().parents[2]
|
|
SCRIPT_PATH = REPO_ROOT / "deploy" / "deploy-to-nas.sh"
|
|
|
|
|
|
def test_sh_dry_run_uses_default_nas_target():
|
|
result = subprocess.run(
|
|
["bash", str(SCRIPT_PATH), "--dry-run"],
|
|
cwd=REPO_ROOT,
|
|
capture_output=True,
|
|
text=True,
|
|
)
|
|
|
|
assert result.returncode == 0
|
|
assert "Host: 116.62.17.81" in result.stdout
|
|
assert "Port: 9444" in result.stdout
|
|
assert "Username: wkc" in result.stdout
|
|
assert "RemoteRoot: /volume1/webapp/ccdi" in result.stdout
|
|
|
|
|
|
def test_sh_dry_run_accepts_override_arguments():
|
|
result = subprocess.run(
|
|
[
|
|
"bash",
|
|
str(SCRIPT_PATH),
|
|
"10.0.0.8",
|
|
"2222",
|
|
"deploy-user",
|
|
"secret",
|
|
"/volume2/custom/app",
|
|
"--dry-run",
|
|
],
|
|
cwd=REPO_ROOT,
|
|
capture_output=True,
|
|
text=True,
|
|
)
|
|
|
|
assert result.returncode == 0
|
|
assert "Host: 10.0.0.8" in result.stdout
|
|
assert "Port: 2222" in result.stdout
|
|
assert "Username: deploy-user" in result.stdout
|
|
assert "RemoteRoot: /volume2/custom/app" in result.stdout
|
|
|
|
|
|
def test_sh_script_should_render_nas_env_into_stage_package():
|
|
script_text = SCRIPT_PATH.read_text(encoding="utf-8")
|
|
|
|
assert 'render_nas_env.py' in script_text
|
|
assert '"${STAGE_ROOT}/.env"' in script_text
|