From 008223f3118bebdfbdfcb714d51eaefbb9c4b65a Mon Sep 17 00:00:00 2001 From: Przemek Zatorski Date: Wed, 23 Sep 2026 17:31:03 +0200 Subject: [PATCH] Spring Boot 3.5.16, testy backendu na PostgreSQL (Testcontainers) - Spring Boot 3.3.5 -> 3.5.16 (linia 3.3 bez poprawek bezpieczenstwa). - Testy zamiast H2 uzywaja tymczasowego PostgreSQL 16 (Testcontainers), tej samej wersji co produkcja; ddl-auto update jak na produkcji. Testcontainers 1.21 (z Boot 3.5) jest wymagany - 1.19 z Boot 3.3 nie dziala z obecnym Docker Desktop, dlatego obie zmiany w jednym commicie. Co-Authored-By: Claude Opus 5.5 (1M context) --- backend/pom.xml | 7 ++++--- backend/src/test/resources/application.yml | 13 ++++++++----- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/backend/pom.xml b/backend/pom.xml index 5e07ec0..0286f64 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -7,7 +7,7 @@ org.springframework.boot spring-boot-starter-parent - 3.3.5 + 3.5.16 @@ -64,9 +64,10 @@ postgresql runtime + - com.h2database - h2 + org.testcontainers + postgresql test diff --git a/backend/src/test/resources/application.yml b/backend/src/test/resources/application.yml index cc0c75d..0998a6b 100644 --- a/backend/src/test/resources/application.yml +++ b/backend/src/test/resources/application.yml @@ -1,12 +1,15 @@ spring: datasource: - url: jdbc:h2:mem:polskalokalnie;MODE=PostgreSQL;DATABASE_TO_LOWER=TRUE - username: sa - password: - driver-class-name: org.h2.Driver + # Testcontainers: przy pierwszym polaczeniu startuje tymczasowy PostgreSQL 16 (ta sama wersja co + # produkcja w docker-compose), wspolny dla wszystkich testow i usuwany po ich zakonczeniu. + # Wymaga uruchomionego Dockera przy "mvn test". + url: jdbc:tc:postgresql:16-alpine:///polskalokalnie + driver-class-name: org.testcontainers.jdbc.ContainerDatabaseDriver jpa: hibernate: - ddl-auto: create-drop + # Jak na produkcji. create-drop przy kazdym nowym kontekscie Springa kasowal tabele, z ktorych + # korzystal juz dzialajacy kontekst; baza i tak jest swieza przy kazdym uruchomieniu testow. + ddl-auto: update app: jwt: