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

orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 57a3b376a3e camel-test-infra-ftp: rework to simplify reusing the FTP 
server instance
57a3b376a3e is described below

commit 57a3b376a3ec7c423e344900e5428a6162135f80
Author: Otavio Rodolfo Piske <angusyo...@gmail.com>
AuthorDate: Tue Sep 6 13:42:22 2022 +0200

    camel-test-infra-ftp: rework to simplify reusing the FTP server instance
---
 .../embedded/EmbeddedConfigurationBuilder.java     | 16 +++++++---
 .../ftp/services/embedded/FtpEmbeddedService.java  | 34 ++++++++++++----------
 .../ftp/services/embedded/FtpsEmbeddedService.java | 28 +++++++++---------
 3 files changed, 45 insertions(+), 33 deletions(-)

diff --git 
a/test-infra/camel-test-infra-ftp/src/test/java/org/apache/camel/test/infra/ftp/services/embedded/EmbeddedConfigurationBuilder.java
 
b/test-infra/camel-test-infra-ftp/src/test/java/org/apache/camel/test/infra/ftp/services/embedded/EmbeddedConfigurationBuilder.java
index 6de21d38227..74809785d65 100644
--- 
a/test-infra/camel-test-infra-ftp/src/test/java/org/apache/camel/test/infra/ftp/services/embedded/EmbeddedConfigurationBuilder.java
+++ 
b/test-infra/camel-test-infra-ftp/src/test/java/org/apache/camel/test/infra/ftp/services/embedded/EmbeddedConfigurationBuilder.java
@@ -108,7 +108,7 @@ public final class EmbeddedConfigurationBuilder {
         return embeddedConfiguration;
     }
 
-    public static EmbeddedConfiguration defaultConfiguration() {
+    public static EmbeddedConfigurationBuilder defaultConfigurationTemplate() {
         final EmbeddedConfiguration.User.UserInfo writableUser = new 
EmbeddedConfiguration.User.UserInfo(null, true);
         final EmbeddedConfiguration.User.UserInfo nonWritableUser = new 
EmbeddedConfiguration.User.UserInfo(null, false);
 
@@ -124,10 +124,14 @@ public final class EmbeddedConfigurationBuilder {
                 .withAdmin("admin", null, null)
                 .withServerAddress("localhost");
 
-        return builder.embeddedConfiguration;
+        return builder;
     }
 
-    public static EmbeddedConfiguration defaultFtpsConfiguration() {
+    public static EmbeddedConfiguration defaultConfiguration() {
+        return defaultConfigurationTemplate().build();
+    }
+
+    public static EmbeddedConfigurationBuilder 
defaultFtpsConfigurationTemplate() {
         final EmbeddedConfiguration.User.UserInfo writableUser = new 
EmbeddedConfiguration.User.UserInfo(null, true);
         final EmbeddedConfiguration.User.UserInfo nonWritableUser = new 
EmbeddedConfiguration.User.UserInfo(null, false);
 
@@ -147,7 +151,11 @@ public final class EmbeddedConfigurationBuilder {
                 .withKeyStoreType("JKS")
                 .withKeyStoreAlgorithm("SunX509");
 
-        return builder.embeddedConfiguration;
+        return builder;
+    }
+
+    public static EmbeddedConfiguration defaultFtpsConfiguration() {
+        return defaultFtpsConfigurationTemplate().build();
     }
 
     public static EmbeddedConfiguration defaultSftpConfiguration() {
diff --git 
a/test-infra/camel-test-infra-ftp/src/test/java/org/apache/camel/test/infra/ftp/services/embedded/FtpEmbeddedService.java
 
b/test-infra/camel-test-infra-ftp/src/test/java/org/apache/camel/test/infra/ftp/services/embedded/FtpEmbeddedService.java
index 37be2214916..d127e9cb85c 100644
--- 
a/test-infra/camel-test-infra-ftp/src/test/java/org/apache/camel/test/infra/ftp/services/embedded/FtpEmbeddedService.java
+++ 
b/test-infra/camel-test-infra-ftp/src/test/java/org/apache/camel/test/infra/ftp/services/embedded/FtpEmbeddedService.java
@@ -55,22 +55,25 @@ public class FtpEmbeddedService extends AbstractTestService 
implements FtpServic
     protected int port;
 
     protected Path rootDir;
-    private final EmbeddedConfiguration embeddedConfiguration;
+    private final EmbeddedConfigurationBuilder embeddedConfigurationTemplate;
 
     @Deprecated
     public FtpEmbeddedService() {
-        embeddedConfiguration = 
EmbeddedConfigurationBuilder.defaultConfiguration();
+        this(EmbeddedConfigurationBuilder.defaultConfigurationTemplate());
     }
 
-    protected FtpEmbeddedService(EmbeddedConfiguration embeddedConfiguration) {
-        this.embeddedConfiguration = embeddedConfiguration;
+    protected FtpEmbeddedService(EmbeddedConfigurationBuilder 
embeddedConfigurationTemplate) {
+        this.embeddedConfigurationTemplate = embeddedConfigurationTemplate;
     }
 
     public void setUp() throws Exception {
+        
embeddedConfigurationTemplate.withTestDirectory(context.getDisplayName());
+        EmbeddedConfiguration embeddedConfiguration = 
embeddedConfigurationTemplate.build();
+
         rootDir = 
testDirectory().resolve(embeddedConfiguration.getTestDirectory());
         FileUtils.deleteDirectory(rootDir.toFile());
 
-        FtpServerFactory factory = createFtpServerFactory();
+        FtpServerFactory factory = 
createFtpServerFactory(embeddedConfiguration);
         ftpServer = factory.createServer();
         ftpServer.start();
 
@@ -98,7 +101,7 @@ public class FtpEmbeddedService extends AbstractTestService 
implements FtpServic
         }
     }
 
-    protected FtpServerFactory createFtpServerFactory() {
+    protected FtpServerFactory createFtpServerFactory(EmbeddedConfiguration 
embeddedConfiguration) {
         NativeFileSystemFactory fsf = new NativeFileSystemFactory();
         fsf.setCreateHome(true);
 
@@ -115,14 +118,17 @@ public class FtpEmbeddedService extends 
AbstractTestService implements FtpServic
             createUser(userMgr, user.getUsername(), user.getPassword(), 
homeDir, userInfo.isWritePermission());
         }
 
-        ListenerFactory factory = new ListenerFactory();
-        factory.setPort(port);
-
         FtpServerFactory serverFactory = new FtpServerFactory();
         serverFactory.setUserManager(userMgr);
         serverFactory.setFileSystem(fsf);
         serverFactory.setConnectionConfig(new 
ConnectionConfigFactory().createConnectionConfig());
-        serverFactory.addListener(DEFAULT_LISTENER, factory.createListener());
+
+        ListenerFactory factory = new ListenerFactory();
+        factory.setPort(port);
+        factory.setServerAddress(embeddedConfiguration.getServerAddress());
+        final Listener listener = factory.createListener();
+
+        serverFactory.addListener(DEFAULT_LISTENER, listener);
 
         return serverFactory;
     }
@@ -159,7 +165,9 @@ public class FtpEmbeddedService extends AbstractTestService 
implements FtpServic
 
     @Override
     protected void registerProperties(BiConsumer<String, String> store) {
-        store.accept(FtpProperties.SERVER_HOST, 
embeddedConfiguration.getServerAddress());
+        final String host = ((DefaultFtpServer) 
ftpServer).getListeners().values().stream()
+                .map(Listener::getServerAddress).findAny().get();
+        store.accept(FtpProperties.SERVER_HOST, host);
         store.accept(FtpProperties.SERVER_PORT, String.valueOf(getPort()));
         store.accept(FtpProperties.ROOT_DIR, rootDir.toString());
     }
@@ -193,8 +201,4 @@ public class FtpEmbeddedService extends AbstractTestService 
implements FtpServic
 
         return count;
     }
-
-    public EmbeddedConfiguration getEmbeddedConfiguration() {
-        return embeddedConfiguration;
-    }
 }
diff --git 
a/test-infra/camel-test-infra-ftp/src/test/java/org/apache/camel/test/infra/ftp/services/embedded/FtpsEmbeddedService.java
 
b/test-infra/camel-test-infra-ftp/src/test/java/org/apache/camel/test/infra/ftp/services/embedded/FtpsEmbeddedService.java
index de2f99cc120..4f24afd41e9 100644
--- 
a/test-infra/camel-test-infra-ftp/src/test/java/org/apache/camel/test/infra/ftp/services/embedded/FtpsEmbeddedService.java
+++ 
b/test-infra/camel-test-infra-ftp/src/test/java/org/apache/camel/test/infra/ftp/services/embedded/FtpsEmbeddedService.java
@@ -33,7 +33,7 @@ public class FtpsEmbeddedService extends FtpEmbeddedService {
     private boolean clientAuth;
 
     public FtpsEmbeddedService(boolean useImplicit, String authValue, boolean 
clientAuth) {
-        super(EmbeddedConfigurationBuilder.defaultFtpsConfiguration());
+        super(EmbeddedConfigurationBuilder.defaultFtpsConfigurationTemplate());
 
         this.useImplicit = useImplicit;
         this.authValue = authValue;
@@ -41,39 +41,39 @@ public class FtpsEmbeddedService extends FtpEmbeddedService 
{
     }
 
     @Override
-    protected FtpServerFactory createFtpServerFactory() {
-        FtpServerFactory serverFactory = super.createFtpServerFactory();
+    protected FtpServerFactory createFtpServerFactory(EmbeddedConfiguration 
embeddedConfiguration) {
+        FtpServerFactory serverFactory = 
super.createFtpServerFactory(embeddedConfiguration);
 
         ListenerFactory listenerFactory = new 
ListenerFactory(serverFactory.getListener(DEFAULT_LISTENER));
         listenerFactory.setPort(port);
         listenerFactory.setImplicitSsl(useImplicit);
-        
listenerFactory.setSslConfiguration(createSslConfiguration().createSslConfiguration());
+        
listenerFactory.setSslConfiguration(createSslConfiguration(embeddedConfiguration).createSslConfiguration());
 
         serverFactory.addListener(DEFAULT_LISTENER, 
listenerFactory.createListener());
 
         return serverFactory;
     }
 
-    protected SslConfigurationFactory createSslConfiguration() {
+    protected SslConfigurationFactory 
createSslConfiguration(EmbeddedConfiguration embeddedConfiguration) {
         // comment in, if you have trouble with SSL
         // System.setProperty("javax.net.debug", "all");
 
         SslConfigurationFactory sslConfigFactory = new 
SslConfigurationFactory();
         sslConfigFactory.setSslProtocol(authValue);
 
-        sslConfigFactory.setKeystoreFile(new 
File(getEmbeddedConfiguration().getKeyStore()));
-        
sslConfigFactory.setKeystoreType(getEmbeddedConfiguration().getKeyStoreType());
-        
sslConfigFactory.setKeystoreAlgorithm(getEmbeddedConfiguration().getKeyStoreAlgorithm());
-        
sslConfigFactory.setKeystorePassword(getEmbeddedConfiguration().getKeyStorePassword());
-        
sslConfigFactory.setKeyPassword(getEmbeddedConfiguration().getKeyStorePassword());
+        sslConfigFactory.setKeystoreFile(new 
File(embeddedConfiguration.getKeyStore()));
+        
sslConfigFactory.setKeystoreType(embeddedConfiguration.getKeyStoreType());
+        
sslConfigFactory.setKeystoreAlgorithm(embeddedConfiguration.getKeyStoreAlgorithm());
+        
sslConfigFactory.setKeystorePassword(embeddedConfiguration.getKeyStorePassword());
+        
sslConfigFactory.setKeyPassword(embeddedConfiguration.getKeyStorePassword());
 
         sslConfigFactory.setClientAuthentication(authValue);
 
         if (clientAuth) {
-            sslConfigFactory.setTruststoreFile(new 
File(getEmbeddedConfiguration().getKeyStore()));
-            
sslConfigFactory.setTruststoreType(getEmbeddedConfiguration().getKeyStoreType());
-            
sslConfigFactory.setTruststoreAlgorithm(getEmbeddedConfiguration().getKeyStoreAlgorithm());
-            
sslConfigFactory.setTruststorePassword(getEmbeddedConfiguration().getKeyStorePassword());
+            sslConfigFactory.setTruststoreFile(new 
File(embeddedConfiguration.getKeyStore()));
+            
sslConfigFactory.setTruststoreType(embeddedConfiguration.getKeyStoreType());
+            
sslConfigFactory.setTruststoreAlgorithm(embeddedConfiguration.getKeyStoreAlgorithm());
+            
sslConfigFactory.setTruststorePassword(embeddedConfiguration.getKeyStorePassword());
         }
 
         return sslConfigFactory;

Reply via email to