This is an automated email from the ASF dual-hosted git repository.

jhelou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit d15f9c4e416e8050db05b3d76a8665941510d9ff
Author: Jean Helou <j...@xn--gml-cma.com>
AuthorDate: Fri Mar 14 18:43:47 2025 +0100

    [devscout] renames duplicated PostgresExtension
    
    The PostgresExtension in scaling-pulsar-smtp build a JPA configuration and 
is incompatible with the shared PostgresExtension from the postgres backend.
    
    This commit renames the extension to clarify its intent, it also ensures 
the version of postgres is aligned with the one in the postgres backend
---
 .../james/mpt/smtp/JpaPulsarForwardSmtpTest.java   |  4 +--
 .../mpt/smtp/JpaPulsarSmtpStarttlsCommandTest.java |  4 +--
 server/apps/scaling-pulsar-smtp/docker-compose.yml |  4 ++-
 server/apps/scaling-pulsar-smtp/pom.xml            |  7 ++++-
 ...resExtension.java => PostgresJPAExtension.java} | 31 +++++++++-------------
 .../java/org/apache/james/SMTPJamesServerTest.java |  2 +-
 6 files changed, 26 insertions(+), 26 deletions(-)

diff --git 
a/mpt/impl/smtp/jpa-pulsar/src/test/java/org/apache/james/mpt/smtp/JpaPulsarForwardSmtpTest.java
 
b/mpt/impl/smtp/jpa-pulsar/src/test/java/org/apache/james/mpt/smtp/JpaPulsarForwardSmtpTest.java
index c1ec286c5d..056e412080 100644
--- 
a/mpt/impl/smtp/jpa-pulsar/src/test/java/org/apache/james/mpt/smtp/JpaPulsarForwardSmtpTest.java
+++ 
b/mpt/impl/smtp/jpa-pulsar/src/test/java/org/apache/james/mpt/smtp/JpaPulsarForwardSmtpTest.java
@@ -23,7 +23,7 @@ import static 
org.apache.james.modules.protocols.SmtpGuiceProbe.SmtpServerConnec
 
 import org.apache.james.JamesServerExtension;
 import org.apache.james.Main;
-import org.apache.james.PostgresExtension;
+import org.apache.james.PostgresJPAExtension;
 import org.apache.james.PulsarExtension;
 import org.apache.james.TestingSmtpRelayJamesServerBuilder;
 import org.apache.james.modules.AwsS3BlobStoreExtension;
@@ -35,7 +35,7 @@ public class JpaPulsarForwardSmtpTest implements 
ForwardSmtpTest {
     @Order(1)
     @RegisterExtension
     static JamesServerExtension testExtension = 
TestingSmtpRelayJamesServerBuilder.forConfiguration(c -> c)
-            .extension(new PostgresExtension())
+            .extension(new PostgresJPAExtension())
             .extension(new PulsarExtension())
             .extension(new AwsS3BlobStoreExtension())
             .extension(new InMemoryDnsExtension())
diff --git 
a/mpt/impl/smtp/jpa-pulsar/src/test/java/org/apache/james/mpt/smtp/JpaPulsarSmtpStarttlsCommandTest.java
 
b/mpt/impl/smtp/jpa-pulsar/src/test/java/org/apache/james/mpt/smtp/JpaPulsarSmtpStarttlsCommandTest.java
index 921313c770..27e6e33ffe 100644
--- 
a/mpt/impl/smtp/jpa-pulsar/src/test/java/org/apache/james/mpt/smtp/JpaPulsarSmtpStarttlsCommandTest.java
+++ 
b/mpt/impl/smtp/jpa-pulsar/src/test/java/org/apache/james/mpt/smtp/JpaPulsarSmtpStarttlsCommandTest.java
@@ -23,7 +23,7 @@ import static 
org.apache.james.modules.protocols.SmtpGuiceProbe.SmtpServerConnec
 
 import org.apache.james.JamesServerExtension;
 import org.apache.james.Main;
-import org.apache.james.PostgresExtension;
+import org.apache.james.PostgresJPAExtension;
 import org.apache.james.PulsarExtension;
 import org.apache.james.TestingSmtpRelayJamesServerBuilder;
 import org.apache.james.modules.AwsS3BlobStoreExtension;
@@ -35,7 +35,7 @@ public class JpaPulsarSmtpStarttlsCommandTest extends 
SmtpStarttlsCommandTest {
     @Order(1)
     @RegisterExtension
     static JamesServerExtension testExtension = 
TestingSmtpRelayJamesServerBuilder.forConfiguration(c -> c)
-            .extension(new PostgresExtension())
+            .extension(new PostgresJPAExtension())
             .extension(new PulsarExtension())
             .extension(new AwsS3BlobStoreExtension())
             .extension(new InMemoryDnsExtension())
diff --git a/server/apps/scaling-pulsar-smtp/docker-compose.yml 
b/server/apps/scaling-pulsar-smtp/docker-compose.yml
index 72667c4ade..79e41a514e 100644
--- a/server/apps/scaling-pulsar-smtp/docker-compose.yml
+++ b/server/apps/scaling-pulsar-smtp/docker-compose.yml
@@ -57,7 +57,9 @@ services:
       - REMOTE_MANAGEMENT_DISABLE=1
 
   postgres:
-    image: postgres:14
+    image: postgres:16.3
+    ports:
+      - "5432:5432"
     environment:
       - POSTGRES_PASSWORD=password
 
diff --git a/server/apps/scaling-pulsar-smtp/pom.xml 
b/server/apps/scaling-pulsar-smtp/pom.xml
index 0368dd56a1..31a7ab5383 100644
--- a/server/apps/scaling-pulsar-smtp/pom.xml
+++ b/server/apps/scaling-pulsar-smtp/pom.xml
@@ -52,6 +52,12 @@
     </dependencyManagement>
 
     <dependencies>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-backends-postgres</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
             <artifactId>apache-james-backends-pulsar</artifactId>
@@ -189,7 +195,6 @@
         <dependency>
             <groupId>org.testcontainers</groupId>
             <artifactId>postgresql</artifactId>
-            <version>1.17.2</version>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git 
a/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/PostgresExtension.java
 
b/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/PostgresJPAExtension.java
similarity index 71%
rename from 
server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/PostgresExtension.java
rename to 
server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/PostgresJPAExtension.java
index afd80a5f7a..6bb3e82e9e 100644
--- 
a/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/PostgresExtension.java
+++ 
b/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/PostgresJPAExtension.java
@@ -22,34 +22,27 @@ package org.apache.james;
 import java.util.UUID;
 
 import org.apache.james.backends.jpa.JPAConfiguration;
-import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.james.backends.postgres.DockerPostgresSingleton;
 import org.junit.jupiter.api.extension.ExtensionContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.testcontainers.containers.PostgreSQLContainer;
-import org.testcontainers.containers.output.OutputFrame;
 
 import com.google.inject.Module;
 import com.google.inject.util.Modules;
 
-public class PostgresExtension implements GuiceModuleTestExtension {
+public class PostgresJPAExtension implements GuiceModuleTestExtension {
 
-    private static final Logger logger = 
LoggerFactory.getLogger(PostgresExtension.class);
+    private static final Logger logger = 
LoggerFactory.getLogger(PostgresJPAExtension.class);
 
-    private static void displayDockerLog(OutputFrame outputFrame) {
-        logger.info(outputFrame.getUtf8String().trim());
-    }
-
-    private final PostgreSQLContainer container;
+    private final PostgreSQLContainer container = 
DockerPostgresSingleton.SINGLETON;
     private JPAConfiguration jpaConfiguration;
 
-    public PostgresExtension() {
-        container = new PostgreSQLContainer<>("postgres:11")
-            .withLogConsumer(PostgresExtension::displayDockerLog);
+    public PostgresJPAExtension() {
     }
 
     @Override
-    public void beforeAll(ExtensionContext extensionContext) throws 
PulsarClientException {
+    public void beforeAll(ExtensionContext extensionContext) {
         container.start();
     }
 
@@ -64,16 +57,16 @@ public class PostgresExtension implements 
GuiceModuleTestExtension {
         container.execInContainer("psql", "-U", container.getUsername(), "-c", 
"create database \"" + dbName + "\"");
         container.withDatabaseName(dbName);
         jpaConfiguration = JPAConfiguration.builder()
-            .driverName(container.getDriverClassName())
-            .driverURL(container.getJdbcUrl())
-            .username(container.getUsername())
-            .password(container.getPassword())
-            .build();
+                .driverName(container.getDriverClassName())
+                .driverURL(container.getJdbcUrl())
+                .username(container.getUsername())
+                .password(container.getPassword())
+                .build();
     }
 
     @Override
     public Module getModule() {
         return Modules.combine(binder -> binder.bind(JPAConfiguration.class)
-            .toInstance(jpaConfiguration));
+                .toInstance(jpaConfiguration));
     }
 }
diff --git 
a/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/SMTPJamesServerTest.java
 
b/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/SMTPJamesServerTest.java
index 75696ebdda..115da78c08 100644
--- 
a/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/SMTPJamesServerTest.java
+++ 
b/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/SMTPJamesServerTest.java
@@ -37,7 +37,7 @@ class SMTPJamesServerTest {
 
     @RegisterExtension
     static JamesServerExtension testExtension = 
TestingSmtpRelayJamesServerBuilder.forConfiguration(c -> c)
-        .extension(new PostgresExtension())
+        .extension(new PostgresJPAExtension())
         .extension(new PulsarExtension())
         .extension(new AwsS3BlobStoreExtension())
         .server(Main::createServer)


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org
For additional commands, e-mail: notifications-h...@james.apache.org

Reply via email to