diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..e6ea78e --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,14 @@ +services: + postgres: + image: postgres:16-alpine + environment: + POSTGRES_DB: cameleer_saas + POSTGRES_USER: cameleer + POSTGRES_PASSWORD: cameleer_dev + ports: + - "5432:5432" + volumes: + - pgdata:/var/lib/postgresql/data + +volumes: + pgdata: diff --git a/src/test/java/net/siegeln/cameleer/saas/CameleerSaasApplicationTest.java b/src/test/java/net/siegeln/cameleer/saas/CameleerSaasApplicationTest.java new file mode 100644 index 0000000..4b31ec8 --- /dev/null +++ b/src/test/java/net/siegeln/cameleer/saas/CameleerSaasApplicationTest.java @@ -0,0 +1,17 @@ +package net.siegeln.cameleer.saas; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.context.annotation.Import; +import org.springframework.test.context.ActiveProfiles; + +@SpringBootTest +@Import(TestcontainersConfig.class) +@ActiveProfiles("test") +class CameleerSaasApplicationTest { + + @Test + void contextLoads() { + // Verifies the application context starts successfully + } +} diff --git a/src/test/java/net/siegeln/cameleer/saas/TestcontainersConfig.java b/src/test/java/net/siegeln/cameleer/saas/TestcontainersConfig.java new file mode 100644 index 0000000..fe1f0b9 --- /dev/null +++ b/src/test/java/net/siegeln/cameleer/saas/TestcontainersConfig.java @@ -0,0 +1,16 @@ +package net.siegeln.cameleer.saas; + +import org.springframework.boot.test.context.TestConfiguration; +import org.springframework.boot.testcontainers.service.connection.ServiceConnection; +import org.springframework.context.annotation.Bean; +import org.testcontainers.containers.PostgreSQLContainer; + +@TestConfiguration(proxyBeanMethods = false) +public class TestcontainersConfig { + + @Bean + @ServiceConnection + PostgreSQLContainer postgresContainer() { + return new PostgreSQLContainer<>("postgres:16-alpine"); + } +}