You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by fm...@apache.org on 2024/01/25 12:46:39 UTC

(camel-spring-boot) 26/40: Externalize passwords into properties files, set features to DocumentBuilderFactory (#986)

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

fmariani pushed a commit to branch camel-spring-boot-4.0.0-branch
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git

commit 1ac17b0257bcfd04b00e12d2b507dcf9ea869c79
Author: Tom Cunningham <tc...@redhat.com>
AuthorDate: Wed Oct 25 05:18:36 2023 -0400

    Externalize passwords into properties files, set features to DocumentBuilderFactory (#986)
---
 .../remote/springboot/ftp/FtpEmbeddedService.java  | 24 ++++++++++++++-----
 .../src/test/resources/users.properties            |  5 ++++
 .../springboot/test/AddCommentProducerTest.java    |  8 +++----
 .../springboot/test/AddIssueLinkProducerTest.java  |  6 ++---
 .../jira/springboot/test/AddIssueProducerTest.java |  6 ++---
 .../springboot/test/AddWorkLogProducerTest.java    |  3 +--
 .../springboot/test/AttachFileProducerTest.java    |  5 ++--
 .../springboot/test/DeleteIssueProducerTest.java   |  3 +--
 .../springboot/test/FetchCommentsProducerTest.java |  6 ++---
 .../springboot/test/FetchIssueProducerTest.java    |  3 +--
 .../jira/springboot/test/JiraTestConstants.java    | 27 +++++++++++++++-------
 .../springboot/test/NewCommentsConsumerTest.java   |  6 ++---
 .../springboot/test/NewIssuesConsumerTest.java     |  6 ++---
 .../test/TransitionIssueProducerTest.java          |  3 +--
 .../springboot/test/UpdateIssueProducerTest.java   |  6 ++---
 .../springboot/test/WatchUpdatesConsumerTest.java  |  6 ++---
 .../jira/springboot/test/WatcherProducerTest.java  |  6 ++---
 .../src/test/resources/jiraauth.properties         |  3 +++
 .../springboot/maven/SpringBootStarterMojo.java    |  7 +++++-
 19 files changed, 84 insertions(+), 55 deletions(-)

diff --git a/components-starter/camel-ftp-starter/src/test/java/org/apache/camel/component/file/remote/springboot/ftp/FtpEmbeddedService.java b/components-starter/camel-ftp-starter/src/test/java/org/apache/camel/component/file/remote/springboot/ftp/FtpEmbeddedService.java
index 3c76c9331fe..d4650956556 100644
--- a/components-starter/camel-ftp-starter/src/test/java/org/apache/camel/component/file/remote/springboot/ftp/FtpEmbeddedService.java
+++ b/components-starter/camel-ftp-starter/src/test/java/org/apache/camel/component/file/remote/springboot/ftp/FtpEmbeddedService.java
@@ -38,10 +38,12 @@ import org.junit.jupiter.api.extension.ExtensionContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.io.IOException;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.Collections;
 import java.util.Map;
+import java.util.Properties;
 import java.util.Set;
 import java.util.function.BiConsumer;
 
@@ -94,6 +96,12 @@ public class FtpEmbeddedService extends AbstractTestService implements FtpServic
         }
     }
 
+    private static Properties loadAuthProperties() throws IOException {
+        Properties properties = new Properties();
+        properties.load(FtpEmbeddedService.class.getClassLoader().getResourceAsStream("users.properties"));
+        return properties;
+    }
+
     protected FtpServerFactory createFtpServerFactory() {
         NativeFileSystemFactory fsf = new NativeFileSystemFactory();
         fsf.setCreateHome(true);
@@ -103,13 +111,17 @@ public class FtpEmbeddedService extends AbstractTestService implements FtpServic
         pumf.setPasswordEncryptor(new ClearTextPasswordEncryptor());
         pumf.setFile(null);
         UserManager userMgr = pumf.createUserManager();
-        createUser(userMgr, "admin", "admin", rootDir, true);
-        createUser(userMgr, "scott", "tiger", rootDir, true);
-        createUser(userMgr, "dummy", "foo", rootDir, false);
-        createUser(userMgr, "us@r", "t%st", rootDir, true);
+        Properties users;
+        try {
+            users = loadAuthProperties();
+        } catch (IOException ioe) {
+            throw new IllegalStateException(ioe);
+        }
+        for (String username : users.stringPropertyNames()) {
+            createUser(userMgr, username, users.getProperty(username), rootDir, true);
+        }
         createUser(userMgr, "anonymous", null, rootDir, false);
-        createUser(userMgr, "joe", "p+%w0&r)d", rootDir, true);
-        createUser(userMgr, "jane", "%j#7%c6i", rootDir, true);
+        createUser(userMgr, "dummy", "foo", rootDir, false);
 
         ListenerFactory factory = new ListenerFactory();
         factory.setPort(port);
diff --git a/components-starter/camel-ftp-starter/src/test/resources/users.properties b/components-starter/camel-ftp-starter/src/test/resources/users.properties
new file mode 100644
index 00000000000..022bcefedbc
--- /dev/null
+++ b/components-starter/camel-ftp-starter/src/test/resources/users.properties
@@ -0,0 +1,5 @@
+admin=admin
+scott=tiger
+us@r=t%st
+joe=p+%w0&r)d
+jane=%j#7%c6i
\ No newline at end of file
diff --git a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AddCommentProducerTest.java b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AddCommentProducerTest.java
index 80b8dd8ddad..5de7a9cd2de 100644
--- a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AddCommentProducerTest.java
+++ b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AddCommentProducerTest.java
@@ -19,7 +19,6 @@ package org.apache.camel.component.jira.springboot.test;
 
 import static org.apache.camel.component.jira.JiraConstants.ISSUE_KEY;
 import static org.apache.camel.component.jira.JiraConstants.JIRA_REST_CLIENT_FACTORY;
-import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.JIRA_CREDENTIALS;
 import static org.apache.camel.component.jira.springboot.test.Utils.createIssueWithComments;
 import static org.apache.camel.component.jira.springboot.test.Utils.newComment;
 import static org.mockito.ArgumentMatchers.any;
@@ -27,6 +26,7 @@ import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Date;
@@ -151,16 +151,14 @@ public class AddCommentProducerTest {
     @Configuration
     public class TestConfiguration {
         
-        
-
         @Bean
         public RouteBuilder routeBuilder() {
             return new RouteBuilder() {
                 @Override
-                public void configure() {
+                public void configure() throws IOException {
                     comment = "A new test comment " + new Date();
                     from("direct:start")
-                            .to("jira://addComment?jiraUrl=" + JIRA_CREDENTIALS)
+                            .to("jira://addComment?jiraUrl=" + JiraTestConstants.getJiraCredentials())
                             .to(mockResult);
                 }
             };
diff --git a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AddIssueLinkProducerTest.java b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AddIssueLinkProducerTest.java
index 4a6d4576454..1ff95a27cd4 100644
--- a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AddIssueLinkProducerTest.java
+++ b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AddIssueLinkProducerTest.java
@@ -21,7 +21,6 @@ import static org.apache.camel.component.jira.JiraConstants.CHILD_ISSUE_KEY;
 import static org.apache.camel.component.jira.JiraConstants.JIRA_REST_CLIENT_FACTORY;
 import static org.apache.camel.component.jira.JiraConstants.LINK_TYPE;
 import static org.apache.camel.component.jira.JiraConstants.PARENT_ISSUE_KEY;
-import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.JIRA_CREDENTIALS;
 import static org.apache.camel.component.jira.springboot.test.Utils.createIssue;
 import static org.apache.camel.component.jira.springboot.test.Utils.createIssueWithLinks;
 import static org.apache.camel.component.jira.springboot.test.Utils.newIssueLink;
@@ -32,6 +31,7 @@ import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Date;
@@ -254,9 +254,9 @@ public class AddIssueLinkProducerTest {
         public RouteBuilder routeBuilder() {
             return new RouteBuilder() {
                 @Override
-                public void configure() {
+                public void configure() throws IOException {
                     from("direct:start")
-                            .to("jira://addIssueLink?jiraUrl=" + JIRA_CREDENTIALS)
+                            .to("jira://addIssueLink?jiraUrl=" + JiraTestConstants.getJiraCredentials())
                             .to(mockResult);
                 }
             };
diff --git a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AddIssueProducerTest.java b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AddIssueProducerTest.java
index b7449d3f214..7ab35b07b1a 100644
--- a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AddIssueProducerTest.java
+++ b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AddIssueProducerTest.java
@@ -25,7 +25,6 @@ import static org.apache.camel.component.jira.JiraConstants.ISSUE_SUMMARY;
 import static org.apache.camel.component.jira.JiraConstants.ISSUE_TYPE_ID;
 import static org.apache.camel.component.jira.JiraConstants.ISSUE_TYPE_NAME;
 import static org.apache.camel.component.jira.JiraConstants.JIRA_REST_CLIENT_FACTORY;
-import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.JIRA_CREDENTIALS;
 import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.KEY;
 import static org.apache.camel.component.jira.springboot.test.Utils.createIssue;
 import static org.apache.camel.component.jira.springboot.test.Utils.userAssignee;
@@ -33,6 +32,7 @@ import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.mock;
 
+import java.io.IOException;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
@@ -222,9 +222,9 @@ public class AddIssueProducerTest {
         public RouteBuilder routeBuilder() {
             return new RouteBuilder() {
                 @Override
-                public void configure() {
+                public void configure() throws IOException {
                     from("direct:start")
-                            .to("jira://addIssue?jiraUrl=" + JIRA_CREDENTIALS)
+                            .to("jira://addIssue?jiraUrl=" + JiraTestConstants.getJiraCredentials())
                             .to(mockResult);
                 }
             };
diff --git a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AddWorkLogProducerTest.java b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AddWorkLogProducerTest.java
index 1191736bc83..54d8cae99d0 100644
--- a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AddWorkLogProducerTest.java
+++ b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AddWorkLogProducerTest.java
@@ -23,7 +23,6 @@ import static org.apache.camel.component.jira.JiraConstants.MINUTES_SPENT;
 import static org.apache.camel.component.jira.springboot.test.Utils.createIssueWithComments;
 import static org.apache.camel.component.jira.springboot.test.Utils.createIssueWithWorkLogs;
 import static org.apache.camel.component.jira.springboot.test.Utils.newWorkLog;
-import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.JIRA_CREDENTIALS;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.lenient;
@@ -236,7 +235,7 @@ public class AddWorkLogProducerTest {
                 @Override
                 public void configure() throws Exception {
                     from("direct:start")
-                    .to("jira://addWorkLog?jiraUrl=" + JIRA_CREDENTIALS)
+                    .to("jira://addWorkLog?jiraUrl=" + JiraTestConstants.getJiraCredentials())
                     .to(mockResult);
                 }
             };
diff --git a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AttachFileProducerTest.java b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AttachFileProducerTest.java
index 7b15884fe87..2d0e6682b7b 100644
--- a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AttachFileProducerTest.java
+++ b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/AttachFileProducerTest.java
@@ -19,7 +19,6 @@ package org.apache.camel.component.jira.springboot.test;
 
 import static org.apache.camel.component.jira.JiraConstants.ISSUE_KEY;
 import static org.apache.camel.component.jira.JiraConstants.JIRA_REST_CLIENT_FACTORY;
-import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.JIRA_CREDENTIALS;
 import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.KEY;
 import static org.apache.camel.component.jira.springboot.test.Utils.createIssue;
 import static org.apache.camel.component.jira.springboot.test.Utils.createIssueWithAttachment;
@@ -178,10 +177,10 @@ public class AttachFileProducerTest {
         public RouteBuilder routeBuilder() {
             return new RouteBuilder() {
                 @Override
-                public void configure() {
+                public void configure() throws IOException {
                     from("direct:start")
                             .setHeader(ISSUE_KEY, () -> KEY + "-1")
-                            .to("jira://attach?jiraUrl=" + JIRA_CREDENTIALS)
+                            .to("jira://attach?jiraUrl=" + JiraTestConstants.getJiraCredentials())
                             .to(mockResult);
                 }
             };
diff --git a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/DeleteIssueProducerTest.java b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/DeleteIssueProducerTest.java
index d4c5a6df376..83a99f9227d 100644
--- a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/DeleteIssueProducerTest.java
+++ b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/DeleteIssueProducerTest.java
@@ -19,7 +19,6 @@ package org.apache.camel.component.jira.springboot.test;
 
 import static org.apache.camel.component.jira.JiraConstants.ISSUE_KEY;
 import static org.apache.camel.component.jira.JiraConstants.JIRA_REST_CLIENT_FACTORY;
-import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.JIRA_CREDENTIALS;
 import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.KEY;
 import static org.apache.camel.component.jira.springboot.test.Utils.createIssue;
 import static org.mockito.ArgumentMatchers.any;
@@ -148,7 +147,7 @@ public class DeleteIssueProducerTest {
                 public void configure() throws IOException {
                     from("direct:start")
                             .setHeader(ISSUE_KEY, () -> KEY + "-1")
-                            .to("jira://deleteIssue?jiraUrl=" + JIRA_CREDENTIALS)
+                            .to("jira://deleteIssue?jiraUrl=" + JiraTestConstants.getJiraCredentials())
                             .to(mockResult);
                 }
             };
diff --git a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/FetchCommentsProducerTest.java b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/FetchCommentsProducerTest.java
index 8fa90852527..d5514616ccb 100644
--- a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/FetchCommentsProducerTest.java
+++ b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/FetchCommentsProducerTest.java
@@ -19,7 +19,6 @@ package org.apache.camel.component.jira.springboot.test;
 
 import static org.apache.camel.component.jira.JiraConstants.ISSUE_KEY;
 import static org.apache.camel.component.jira.JiraConstants.JIRA_REST_CLIENT_FACTORY;
-import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.JIRA_CREDENTIALS;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.mock;
@@ -27,6 +26,7 @@ import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import java.io.IOException;
 
 import com.atlassian.jira.rest.client.api.IssueRestClient;
 import com.atlassian.jira.rest.client.api.JiraRestClient;
@@ -160,9 +160,9 @@ public class FetchCommentsProducerTest {
         public RouteBuilder routeBuilder() {
             return new RouteBuilder() {
                 @Override
-                public void configure() {
+                public void configure() throws IOException {
                     from("direct:start")
-                            .to("jira://fetchComments?jiraUrl=" + JIRA_CREDENTIALS)
+                            .to("jira://fetchComments?jiraUrl=" + JiraTestConstants.getJiraCredentials())
                             .to(mockResult);
                 }
             };
diff --git a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/FetchIssueProducerTest.java b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/FetchIssueProducerTest.java
index 7e717712bc3..8e241c1da77 100644
--- a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/FetchIssueProducerTest.java
+++ b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/FetchIssueProducerTest.java
@@ -19,7 +19,6 @@ package org.apache.camel.component.jira.springboot.test;
 
 import static org.apache.camel.component.jira.JiraConstants.ISSUE_KEY;
 import static org.apache.camel.component.jira.JiraConstants.JIRA_REST_CLIENT_FACTORY;
-import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.JIRA_CREDENTIALS;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.mock;
@@ -159,7 +158,7 @@ public class FetchIssueProducerTest {
                 @Override
                 public void configure() throws Exception {
                     from("direct:start")
-                    .to("jira://fetchIssue?jiraUrl=" + JIRA_CREDENTIALS)
+                    .to("jira://fetchIssue?jiraUrl=" + JiraTestConstants.getJiraCredentials())
                     .to(mockResult);
                 }
             };
diff --git a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/JiraTestConstants.java b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/JiraTestConstants.java
index a21e135d381..c554d9f529e 100644
--- a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/JiraTestConstants.java
+++ b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/JiraTestConstants.java
@@ -16,13 +16,24 @@
  */
 package org.apache.camel.component.jira.springboot.test;
 
-public interface JiraTestConstants {
+import java.io.IOException;
+import java.util.Properties;
 
-    String KEY = "TST";
-    String TEST_JIRA_URL = "https://somerepo.atlassian.net";
-    String PROJECT = "TST";
-    String USERNAME = "someguy";
-    String PASSWORD = "my_password";
-    String JIRA_CREDENTIALS = TEST_JIRA_URL + "&username=" + USERNAME + "&password=" + PASSWORD;
-    String WATCHED_COMPONENTS = "Priority,Status,Resolution";
+public class JiraTestConstants {
+
+    static String KEY = "TST";
+    static String TEST_JIRA_URL = "https://somerepo.atlassian.net";
+    static String PROJECT = "TST";
+    static String WATCHED_COMPONENTS = "Priority,Status,Resolution";
+
+    private static Properties loadAuthProperties() throws IOException {
+        Properties properties = new Properties();
+        properties.load(JiraTestConstants.class.getClassLoader().getResourceAsStream("jiraauth.properties"));
+        return properties;
+    }
+
+    public static String getJiraCredentials() throws IOException {
+        Properties props = loadAuthProperties();
+        return TEST_JIRA_URL + "&username=" + props.getProperty("username") + "&password=" + props.getProperty("password");
+    }
 }
diff --git a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/NewCommentsConsumerTest.java b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/NewCommentsConsumerTest.java
index a814c2fdb41..f85c160f384 100644
--- a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/NewCommentsConsumerTest.java
+++ b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/NewCommentsConsumerTest.java
@@ -20,7 +20,6 @@ package org.apache.camel.component.jira.springboot.test;
 
 import static org.apache.camel.component.jira.JiraConstants.JIRA_REST_CLIENT_FACTORY;
 import static org.apache.camel.component.jira.springboot.test.Utils.createIssueWithComments;
-import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.JIRA_CREDENTIALS;
 import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.PROJECT;
 import static org.apache.camel.component.jira.springboot.test.Utils.createIssue;
 import static org.mockito.ArgumentMatchers.any;
@@ -29,6 +28,7 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.when;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -220,8 +220,8 @@ public class NewCommentsConsumerTest {
         public RouteBuilder routeBuilder() {
             return new RouteBuilder() {
                 @Override
-                public void configure() {
-                    from("jira://newComments?jiraUrl=" + JIRA_CREDENTIALS + "&jql=project=" + PROJECT + "&delay=1000")
+                public void configure() throws IOException {
+                    from("jira://newComments?jiraUrl=" + JiraTestConstants.getJiraCredentials() + "&jql=project=" + PROJECT + "&delay=1000")
                             .to(mockResult);
                 }
             };
diff --git a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/NewIssuesConsumerTest.java b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/NewIssuesConsumerTest.java
index 5dd6cbd309c..5c74804a149 100644
--- a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/NewIssuesConsumerTest.java
+++ b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/NewIssuesConsumerTest.java
@@ -18,7 +18,6 @@ package org.apache.camel.component.jira.springboot.test;
 
 
 import static org.apache.camel.component.jira.JiraConstants.JIRA_REST_CLIENT_FACTORY;
-import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.JIRA_CREDENTIALS;
 import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.PROJECT;
 import static org.apache.camel.component.jira.springboot.test.Utils.createIssue;
 import static org.mockito.ArgumentMatchers.any;
@@ -26,6 +25,7 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.when;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -189,8 +189,8 @@ public class NewIssuesConsumerTest {
         public RouteBuilder routeBuilder() {
             return new RouteBuilder() {
                 @Override
-                public void configure() {
-                    from("jira://newIssues?jiraUrl=" + JIRA_CREDENTIALS + "&jql=project=" + PROJECT + "&delay=5000")
+                public void configure() throws IOException  {
+                    from("jira://newIssues?jiraUrl=" + JiraTestConstants.getJiraCredentials() + "&jql=project=" + PROJECT + "&delay=5000")
                             .to(mockResult);
                 }
             };
diff --git a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/TransitionIssueProducerTest.java b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/TransitionIssueProducerTest.java
index 71e092ea91b..4b51ec79531 100644
--- a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/TransitionIssueProducerTest.java
+++ b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/TransitionIssueProducerTest.java
@@ -23,7 +23,6 @@ import static org.apache.camel.component.jira.JiraConstants.JIRA_REST_CLIENT_FAC
 import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.TEST_JIRA_URL;
 import static org.apache.camel.component.jira.springboot.test.Utils.createIssue;
 import static org.apache.camel.component.jira.springboot.test.Utils.transitionIssueDone;
-import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.JIRA_CREDENTIALS;
 import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.KEY;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.lenient;
@@ -158,7 +157,7 @@ public class TransitionIssueProducerTest {
                     from("direct:start")
                             .setHeader(ISSUE_KEY, () -> KEY + "-1")
                             .setHeader(ISSUE_TRANSITION_ID, () -> 31)
-                            .to("jira://transitionIssue?jiraUrl=" + JIRA_CREDENTIALS)
+                            .to("jira://transitionIssue?jiraUrl=" + JiraTestConstants.getJiraCredentials())
                             .to(mockResult);
                 }
             };
diff --git a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/UpdateIssueProducerTest.java b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/UpdateIssueProducerTest.java
index ae736ff7212..0069d21151c 100644
--- a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/UpdateIssueProducerTest.java
+++ b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/UpdateIssueProducerTest.java
@@ -23,7 +23,6 @@ import static org.apache.camel.component.jira.JiraConstants.ISSUE_PRIORITY_NAME;
 import static org.apache.camel.component.jira.JiraConstants.ISSUE_SUMMARY;
 import static org.apache.camel.component.jira.JiraConstants.ISSUE_TYPE_NAME;
 import static org.apache.camel.component.jira.JiraConstants.JIRA_REST_CLIENT_FACTORY;
-import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.JIRA_CREDENTIALS;
 import static org.apache.camel.component.jira.springboot.test.Utils.createIssue;
 import static org.apache.camel.component.jira.springboot.test.Utils.userAssignee;
 
@@ -32,6 +31,7 @@ import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+import java.io.IOException;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
@@ -199,9 +199,9 @@ public class UpdateIssueProducerTest {
         public RouteBuilder routeBuilder() {
             return new RouteBuilder() {
                 @Override
-                public void configure() {
+                public void configure() throws IOException  {
                     from("direct:start")
-                            .to("jira://updateIssue?jiraUrl=" + JIRA_CREDENTIALS)
+                            .to("jira://updateIssue?jiraUrl=" + JiraTestConstants.getJiraCredentials())
                             .to(mockResult);
                 }
             };
diff --git a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/WatchUpdatesConsumerTest.java b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/WatchUpdatesConsumerTest.java
index cdb6a7045c0..b55b1ab0573 100644
--- a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/WatchUpdatesConsumerTest.java
+++ b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/WatchUpdatesConsumerTest.java
@@ -18,7 +18,6 @@ package org.apache.camel.component.jira.springboot.test;
 
 
 import static org.apache.camel.component.jira.JiraConstants.JIRA_REST_CLIENT_FACTORY;
-import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.JIRA_CREDENTIALS;
 import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.PROJECT;
 import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.WATCHED_COMPONENTS;
 import static org.apache.camel.component.jira.springboot.test.Utils.createIssue;
@@ -29,6 +28,7 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.when;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -203,8 +203,8 @@ public class WatchUpdatesConsumerTest {
         public RouteBuilder routeBuilder() {
             return new RouteBuilder() {
                 @Override
-                public void configure() {
-                    from("jira://watchUpdates?jiraUrl=" + JIRA_CREDENTIALS
+                public void configure() throws IOException {
+                    from("jira://watchUpdates?jiraUrl=" + JiraTestConstants.getJiraCredentials()
                          + "&jql=project=" + PROJECT + "&delay=5000&watchedFields=" + WATCHED_COMPONENTS)
                                  .to(mockResult);
                 }
diff --git a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/WatcherProducerTest.java b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/WatcherProducerTest.java
index 5fe8fc45c78..a599a90cb82 100644
--- a/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/WatcherProducerTest.java
+++ b/components-starter/camel-jira-starter/src/test/java/org/apache/camel/component/jira/springboot/test/WatcherProducerTest.java
@@ -21,7 +21,6 @@ import static org.apache.camel.component.jira.JiraConstants.ISSUE_KEY;
 import static org.apache.camel.component.jira.JiraConstants.ISSUE_WATCHERS_ADD;
 import static org.apache.camel.component.jira.JiraConstants.ISSUE_WATCHERS_REMOVE;
 import static org.apache.camel.component.jira.JiraConstants.JIRA_REST_CLIENT_FACTORY;
-import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.JIRA_CREDENTIALS;
 import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.KEY;
 import static org.apache.camel.component.jira.springboot.test.JiraTestConstants.TEST_JIRA_URL;
 import static org.apache.camel.component.jira.springboot.test.Utils.createIssue;
@@ -30,6 +29,7 @@ import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.mock;
 
+import java.io.IOException;
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -247,9 +247,9 @@ public class WatcherProducerTest {
         public RouteBuilder routeBuilder() {
             return new RouteBuilder() {
                 @Override
-                public void configure() {
+                public void configure() throws IOException {
                     from("direct:start")
-                            .to("jira://watchers?jiraUrl=" + JIRA_CREDENTIALS)
+                            .to("jira://watchers?jiraUrl=" + JiraTestConstants.getJiraCredentials())
                             .to(mockResult);
                 }
             };
diff --git a/components-starter/camel-jira-starter/src/test/resources/jiraauth.properties b/components-starter/camel-jira-starter/src/test/resources/jiraauth.properties
new file mode 100644
index 00000000000..5222ad7edd6
--- /dev/null
+++ b/components-starter/camel-jira-starter/src/test/resources/jiraauth.properties
@@ -0,0 +1,3 @@
+username=someguy
+password=my_password
+
diff --git a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootStarterMojo.java b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootStarterMojo.java
index 257b6418645..5ab61e3a534 100644
--- a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootStarterMojo.java
+++ b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootStarterMojo.java
@@ -327,7 +327,12 @@ public class SpringBootStarterMojo extends AbstractSpringBootGenerator {
                     boolean editablePom = content.contains(GENERATED_SECTION_START_COMMENT);
                     if (editablePom) {
                         content = removeGeneratedSections(content, 10);
-                        DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+                        DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
+                        documentBuilderFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl",true);
+                        documentBuilderFactory.setFeature("http://xml.org/sax/features/external-general-entities",false);
+                        documentBuilderFactory.setFeature("http://xml.org/sax/features/external-parameter-entities",false);
+
+                        DocumentBuilder builder = documentBuilderFactory.newDocumentBuilder();
 
                         Document pom;
                         try (InputStream contentIn = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8))) {