mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-08-11 00:30:12 -04:00
test(docker): include gcode_viewer/ in the test image so the packaging assertion actually runs
Dockerfile.test only COPYed backend/ and pyproject.toml, so the integration test at tests/integration/test_gcode_viewer.py:63 silently pytest.skip'd in every Docker run with "gcode_viewer/ index.html not present at /app/gcode_viewer/index.html". That was deliberate fallback behaviour for unit-test environments where the assets are intentionally absent, but in CI it meant the #1218 packaging regression (3D Preview returning {"detail":"Not Found"} because the embedded PrettyGCode viewer wasn't bundled into the prod image) had no test guarding against a recurrence — the test that was supposed to catch it was the one being skipped. Add COPY gcode_viewer/ ./gcode_viewer/ to the backend-test stage, matching the path the production Dockerfile uses (static_dir.parent / "gcode_viewer" = /app/gcode_viewer/) so the assertion runs against the same layout the app sees at runtime. Path-anchored comment in the Dockerfile so a future maintainer doesn't strip the COPY as unused.
This commit is contained in:
parent
f513c2c1db
commit
07ea69c3f0
1 changed files with 6 additions and 0 deletions
|
|
@ -17,6 +17,12 @@ RUN pip install --no-cache-dir -r requirements.txt -r requirements-dev.txt
|
|||
COPY backend/ ./backend/
|
||||
COPY pyproject.toml ./
|
||||
|
||||
# Embedded GCode viewer assets — required so the @app.get("/gcode-viewer/...")
|
||||
# packaging-regression test in tests/integration/test_gcode_viewer.py actually
|
||||
# runs instead of pytest-skipping with "index.html not present". Path matches
|
||||
# the production Dockerfile (static_dir.parent / "gcode_viewer" = /app/gcode_viewer/).
|
||||
COPY gcode_viewer/ ./gcode_viewer/
|
||||
|
||||
# Create necessary directories
|
||||
RUN mkdir -p /app/data /app/logs /app/archive
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue