39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
from pathlib import Path
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parent.parent
|
|
DOCKERFILE = ROOT / "Dockerfile.preview"
|
|
NGINX_CONF = ROOT / "preview" / "nginx.conf"
|
|
DOC = ROOT / "docs" / "preview-deploy.md"
|
|
COMPOSE = ROOT / "docker-compose.yml"
|
|
|
|
|
|
def test_preview_deploy_files_exist():
|
|
assert DOCKERFILE.exists(), "expected Dockerfile.preview for Nexus preview deployment"
|
|
assert NGINX_CONF.exists(), "expected preview/nginx.conf for Nexus preview deployment"
|
|
assert DOC.exists(), "expected docs/preview-deploy.md runbook"
|
|
|
|
|
|
def test_preview_nginx_config_proxies_websocket_and_serves_modules():
|
|
text = NGINX_CONF.read_text(encoding="utf-8")
|
|
assert "listen 3000;" in text
|
|
assert "location /api/world/ws" in text
|
|
assert "proxy_pass http://nexus-main:8765;" in text
|
|
assert "application/javascript js;" in text
|
|
assert "try_files $uri $uri/ /index.html;" in text
|
|
|
|
|
|
def test_compose_exposes_preview_service():
|
|
text = COMPOSE.read_text(encoding="utf-8")
|
|
assert "nexus-preview:" in text
|
|
assert '"3000:3000"' in text
|
|
assert "depends_on:" in text
|
|
assert "nexus-main" in text
|
|
|
|
|
|
def test_preview_runbook_documents_preview_url():
|
|
text = DOC.read_text(encoding="utf-8")
|
|
assert "http://localhost:3000" in text
|
|
assert "docker compose up -d nexus-main nexus-preview" in text
|
|
assert "/api/world/ws" in text
|