Skip to content

Commit 0a105af

Browse files
committed
Add setuptools docker test
1 parent 3f617cf commit 0a105af

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/fastapi/docker_files.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -761,4 +761,20 @@ mod tests {
761761

762762
assert_yaml_snapshot!(content);
763763
}
764+
765+
#[test]
766+
fn test_save_dockerfile_setuptools() {
767+
let mut project_info = project_info_dummy();
768+
project_info.project_manager = ProjectManager::Setuptools;
769+
let base = project_info.base_dir();
770+
create_dir_all(&base).unwrap();
771+
let expected_file = base.join("Dockerfile");
772+
save_dockerfile(&project_info).unwrap();
773+
774+
assert!(expected_file.is_file());
775+
776+
let content = std::fs::read_to_string(expected_file).unwrap();
777+
778+
assert_yaml_snapshot!(content);
779+
}
764780
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
source: src/fastapi/docker_files.rs
3+
expression: content
4+
---
5+
"# syntax=docker/dockerfile:1\n\nFROM ubuntu:24.04 AS builder\n\nWORKDIR /app\n\nENV \\\n PYTHONUNBUFFERED=true \\\n PATH=\"/root/.local/bin:$PATH\"\n\nRUN : \\\n && apt-get update \\\n && apt-get install -y --no-install-recommends \\\n software-properties-common \\\n && add-apt-repository ppa:deadsnakes/ppa \\\n && apt-get update \\\n && apt-get install -y --no-install-recommends \\\n python3.11 \\\n python3.11-venv \\\n && apt-get clean \\\n && rm -rf /var/lib/apt/lists/*\n\nCOPY . ./\n\nRUN : \\\n python3.11 -m venv .venv \\\n && .venv/bin/python -m pip install -r requirements.txt\n\n\n# Build production stage\nFROM ubuntu:24.04 AS prod\n\nENV \\\n PYTHONUNBUFFERED=true \\\n PATH=\"/app/.venv/bin:$PATH\" \\\n PORT=\"8000\"\n\nRUN : \\\n && apt-get update \\\n && apt-get install -y --no-install-recommends \\\n software-properties-common \\\n && add-apt-repository ppa:deadsnakes/ppa \\\n && apt-get update \\\n && apt-get install -y --no-install-recommends \\\n python3.13 \\\n && apt-get clean \\\n && rm -rf /var/lib/apt/lists/*\n\nRUN useradd appuser\n\nWORKDIR /app\n\nRUN chown appuser:appuser /app\n\nCOPY --from=builder /app/.venv /app/.venv\nCOPY --from=builder /app/my_project /app/my_project\nCOPY --from=builder /opt/uv/python /opt/uv/python\nCOPY ./scripts/entrypoint.sh /app\n\nRUN chmod +x /app/entrypoint.sh\n\nEXPOSE 8000\n\nUSER appuser\n\nENTRYPOINT [\"./entrypoint.sh\"]\n"

0 commit comments

Comments
 (0)