Dockerfile, API-Versionierung (/api/v1) und Tests für die REST-Schicht

- Dockerfile (Temurin 21, Zeitzone Berlin, MS Core Fonts für PDF-Renderer)
- API-Pfade auf /api/v1/invoices versioniert (Controller, Javadoc, README)
- Web-Schicht-Tests für InvoiceSigningController (MockMvc, gemockte Services)
- End-to-End-Integrationstest: sign -> ZIP -> erneute Validierung
- .env in .gitignore aufgenommen

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-17 11:54:18 +02:00
co-authored by Claude Fable 5
parent cf691649a1
commit 68acd867e5
6 changed files with 339 additions and 5 deletions
+20
View File
@@ -0,0 +1,20 @@
FROM eclipse-temurin:21-jre
ARG JAR_FILE=target/*.jar
# Zeitzone auf Berlin setzen und 24h-Format konfigurieren
ENV TZ=Europe/Berlin
ENV LC_TIME=de_DE.UTF-8
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# Schriften für den PDF-Renderer: Microsoft Core Fonts (Arial, Times New Roman,
# Courier New, Verdana) sowie DejaVu als Fallback. Die EULA der MS-Fonts wird
# vorab bestätigt; der Installer lädt die Fonts beim Image-Build herunter.
RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections \
&& apt-get update \
&& apt-get install -y --no-install-recommends fontconfig fonts-dejavu-core ttf-mscorefonts-installer \
&& rm -rf /var/lib/apt/lists/*
COPY ${JAR_FILE} app.jar
EXPOSE 8084
ENTRYPOINT ["java", "-jar", "/app.jar", "--spring.profiles.active=production"]