shreerangss's picture
Add async document workflow and production worker startup
610fb0e
Raw History Blame Contribute Delete
1.31 kB
from pathlib import Path
import yaml
def test_compose_separates_api_and_worker_with_shared_local_object_volume() -> None:
compose_path = Path(__file__).resolve().parents[1] / "compose.yaml"
compose = yaml.safe_load(compose_path.read_text(encoding="utf-8"))
services = compose["services"]
assert set(services) == {"rabbitmq", "api", "worker"}
assert services["api"]["image"] == services["worker"]["image"]
assert services["api"]["build"] == services["worker"]["build"]
assert services["api"]["command"] == ["python", "start.py"]
assert services["worker"]["command"] == [
"celery",
"-A",
"backend.app.celery_app",
"worker",
"--loglevel=INFO",
"--concurrency=1",
]
assert services["api"]["volumes"] == services["worker"]["volumes"]
assert services["api"]["volumes"] == [
"document-objects:/var/lib/idqe/object-storage"
]
assert services["api"]["environment"]["OBJECT_STORAGE_LOCAL_ROOT"] == (
"/var/lib/idqe/object-storage"
)
assert services["worker"]["environment"]["OBJECT_STORAGE_LOCAL_ROOT"] == (
"/var/lib/idqe/object-storage"
)
assert services["api"]["environment"]["CELERY_BROKER_URL"] == (
services["worker"]["environment"]["CELERY_BROKER_URL"]
)