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

clebertsuconic pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git


The following commit(s) were added to refs/heads/main by this push:
     new 0c8adee37a ARTEMIS-4290 Separating some integration tests into 
legacy-integration-tests
0c8adee37a is described below

commit 0c8adee37a59ffb9276e20ca34f62a19af5da6bc
Author: Clebert Suconic <clebertsuco...@apache.org>
AuthorDate: Tue May 23 12:48:26 2023 -0400

    ARTEMIS-4290 Separating some integration tests into legacy-integration-tests
    
    legacy-integration-tests is being created to hold LDAP Tests (or any other 
tests that won't play well with keeping threads clean)
    it will have fork-mode=always on the maven-surefire-plugin
---
 pom.xml                                            |   2 +
 .../pom.xml                                        |  40 +--
 .../isolated}/amqp/JMSSaslExternalLDAPTest.java    |   4 +-
 .../isolated}/amqp/SaslKrb5LDAPSecurityTest.java   |   2 +-
 .../isolated}/security/LDAPSecurityTest.java       |   2 +-
 ...egacyLDAPSecuritySettingPluginListenerTest.java |   2 +-
 ...gacyLDAPSecuritySettingPluginListenerTest2.java |   2 +-
 ...LegacyLDAPSecuritySettingPluginRefreshTest.java |   2 +-
 .../LegacyLDAPSecuritySettingPluginTest.java       |   2 +-
 .../LegacyLDAPSecuritySettingPluginTest2.java      |   2 +-
 .../src/test/resources/AMQauth.ldif                |   0
 .../src/test/resources/AMQauth2.ldif               |   0
 .../src/test/resources/AMQauth3.ldif               |   0
 .../test/resources/SaslKrb5LDAPSecurityTest.ldif   |   0
 .../src/test/resources/login.config                | 386 +++++++++++++++++++++
 .../src/test/resources/minikdc-krb5-template.conf  |  30 ++
 .../src/test/resources/minikdc-krb5.conf           |  26 ++
 tests/integration-tests/pom.xml                    |  31 +-
 tests/pom.xml                                      |   1 +
 19 files changed, 465 insertions(+), 69 deletions(-)

diff --git a/pom.xml b/pom.xml
index 93a30615b0..dbaf2b603e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -190,6 +190,7 @@
       <skipJmsTests>true</skipJmsTests>
       <skipExtraTests>true</skipExtraTests>
       <skipIntegrationTests>true</skipIntegrationTests>
+      <skipIsolatedIntegrationTests>true</skipIsolatedIntegrationTests>
       <skipLeakTests>true</skipLeakTests>
       <skipCompatibilityTests>true</skipCompatibilityTests>
       <skipSmokeTests>true</skipSmokeTests>
@@ -1270,6 +1271,7 @@
             <skipJmsTests>false</skipJmsTests>
             <skipJoramTests>false</skipJoramTests>
             <skipIntegrationTests>false</skipIntegrationTests>
+            <skipIsolatedIntegrationTests>false</skipIsolatedIntegrationTests>
             <skipCompatibilityTests>false</skipCompatibilityTests>
             <skipSmokeTests>false</skipSmokeTests>
             <skipTimingTests>true</skipTimingTests>
diff --git a/tests/integration-tests/pom.xml 
b/tests/integration-tests-isolated/pom.xml
similarity index 92%
copy from tests/integration-tests/pom.xml
copy to tests/integration-tests-isolated/pom.xml
index d1d9ac3896..d674439e18 100644
--- a/tests/integration-tests/pom.xml
+++ b/tests/integration-tests-isolated/pom.xml
@@ -23,9 +23,10 @@
       <version>2.29.0-SNAPSHOT</version>
    </parent>
 
-   <artifactId>integration-tests</artifactId>
+   <artifactId>integration-tests-isolated</artifactId>
    <packaging>jar</packaging>
-   <name>ActiveMQ Artemis Integration Tests</name>
+   <name>ActiveMQ Artemis Isolated Integration Tests</name>
+   <description>This project is pretty much a copy of integration-tests 
however the tests here will run with fork=always, isolating each test on its 
own VM. </description>
 
    <properties>
       <activemq.basedir>${project.basedir}/../..</activemq.basedir>
@@ -288,9 +289,9 @@
          <scope>test</scope>
       </dependency>
       <dependency>
-          <groupId>org.apache.commons</groupId>
-          <artifactId>commons-lang3</artifactId>
-          <scope>test</scope>
+         <groupId>org.apache.commons</groupId>
+         <artifactId>commons-lang3</artifactId>
+         <scope>test</scope>
       </dependency>
 
       <dependency>
@@ -441,39 +442,18 @@
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-surefire-plugin</artifactId>
             <configuration>
-               <skipTests>${skipIntegrationTests}</skipTests>
+               <forkMode>always</forkMode>
+               <skipTests>${skipIsolatedIntegrationTests}</skipTests>
                <argLine>-Djgroups.bind_addr=::1 ${activemq-surefire-argline} 
${its-surefire-extra-args} 
-Dorg.apache.activemq.SERIALIZABLE_PACKAGES="java.lang,javax.security,java.util,org.apache.activemq,org.fusesource.hawtbuf"</argLine>
             </configuration>
          </plugin>
       </plugins>
    </build>
    <profiles>
-      <profile>
-         <!-- Quick subset of tests, used on PR checks -->
-         <id>fast-tests</id>
-         <build>
-            <pluginManagement>
-               <plugins>
-                  <plugin>
-                     <groupId>org.apache.maven.plugins</groupId>
-                     <artifactId>maven-surefire-plugin</artifactId>
-                     <configuration>
-                        <includes combine.children="override">
-                           
<include>**/integration/security/*Test.java</include>
-                           <include>**/integration/ssl/*Test.java</include>
-                           
<include>**/integration/amqp/JMSSaslExternalTest.java</include>
-                           
<include>**/integration/amqp/connect/AMQPConnectSaslTest.java</include>
-                        </includes>
-                     </configuration>
-                  </plugin>
-               </plugins>
-            </pluginManagement>
-         </build>
-      </profile>
       <profile>
          <id>jdk16on</id>
-            <activation>
-         <jdk>[16,)</jdk>
+         <activation>
+            <jdk>[16,)</jdk>
          </activation>
          <properties>
             <its-surefire-extra-args>--add-exports 
java.security.jgss/sun.security.krb5=ALL-UNNAMED</its-surefire-extra-args>
diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSSaslExternalLDAPTest.java
 
b/tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/amqp/JMSSaslExternalLDAPTest.java
similarity index 97%
rename from 
tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSSaslExternalLDAPTest.java
rename to 
tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/amqp/JMSSaslExternalLDAPTest.java
index 7e109732aa..99acf6faf5 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSSaslExternalLDAPTest.java
+++ 
b/tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/amqp/JMSSaslExternalLDAPTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.activemq.artemis.tests.integration.amqp;
+package org.apache.activemq.artemis.tests.integration.isolated.amqp;
 
 import javax.jms.Connection;
 import javax.jms.MessageConsumer;
@@ -69,7 +69,7 @@ public class JMSSaslExternalLDAPTest extends 
AbstractLdapTestUnit {
    static {
       String path = System.getProperty("java.security.auth.login.config");
       if (path == null) {
-         URL resource = 
JMSSaslExternalTest.class.getClassLoader().getResource("login.config");
+         URL resource = 
JMSSaslExternalLDAPTest.class.getClassLoader().getResource("login.config");
          if (resource != null) {
             path = resource.getFile();
             System.setProperty("java.security.auth.login.config", path);
diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/SaslKrb5LDAPSecurityTest.java
 
b/tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/amqp/SaslKrb5LDAPSecurityTest.java
similarity index 99%
rename from 
tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/SaslKrb5LDAPSecurityTest.java
rename to 
tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/amqp/SaslKrb5LDAPSecurityTest.java
index 905f15d89a..d7fea9fbc7 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/SaslKrb5LDAPSecurityTest.java
+++ 
b/tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/amqp/SaslKrb5LDAPSecurityTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.activemq.artemis.tests.integration.amqp;
+package org.apache.activemq.artemis.tests.integration.isolated.amqp;
 
 import javax.jms.Connection;
 import javax.jms.MessageConsumer;
diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LDAPSecurityTest.java
 
b/tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LDAPSecurityTest.java
similarity index 99%
rename from 
tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LDAPSecurityTest.java
rename to 
tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LDAPSecurityTest.java
index 77f230258c..face4455de 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LDAPSecurityTest.java
+++ 
b/tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LDAPSecurityTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.activemq.artemis.tests.integration.security;
+package org.apache.activemq.artemis.tests.integration.isolated.security;
 
 import javax.naming.Context;
 import javax.naming.NameClassPair;
diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LegacyLDAPSecuritySettingPluginListenerTest.java
 
b/tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LegacyLDAPSecuritySettingPluginListenerTest.java
similarity index 99%
rename from 
tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LegacyLDAPSecuritySettingPluginListenerTest.java
rename to 
tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LegacyLDAPSecuritySettingPluginListenerTest.java
index 116608231c..7343d3e08e 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LegacyLDAPSecuritySettingPluginListenerTest.java
+++ 
b/tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LegacyLDAPSecuritySettingPluginListenerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.activemq.artemis.tests.integration.security;
+package org.apache.activemq.artemis.tests.integration.isolated.security;
 
 import javax.naming.Context;
 import javax.naming.NameClassPair;
diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LegacyLDAPSecuritySettingPluginListenerTest2.java
 
b/tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LegacyLDAPSecuritySettingPluginListenerTest2.java
similarity index 99%
rename from 
tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LegacyLDAPSecuritySettingPluginListenerTest2.java
rename to 
tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LegacyLDAPSecuritySettingPluginListenerTest2.java
index 19698b7cdc..19f47b9a73 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LegacyLDAPSecuritySettingPluginListenerTest2.java
+++ 
b/tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LegacyLDAPSecuritySettingPluginListenerTest2.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.activemq.artemis.tests.integration.security;
+package org.apache.activemq.artemis.tests.integration.isolated.security;
 
 import javax.naming.Context;
 import javax.naming.NamingException;
diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LegacyLDAPSecuritySettingPluginRefreshTest.java
 
b/tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LegacyLDAPSecuritySettingPluginRefreshTest.java
similarity index 94%
rename from 
tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LegacyLDAPSecuritySettingPluginRefreshTest.java
rename to 
tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LegacyLDAPSecuritySettingPluginRefreshTest.java
index bf99aa32c0..49da370d8a 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LegacyLDAPSecuritySettingPluginRefreshTest.java
+++ 
b/tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LegacyLDAPSecuritySettingPluginRefreshTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.activemq.artemis.tests.integration.security;
+package org.apache.activemq.artemis.tests.integration.isolated.security;
 
 import java.util.Map;
 
diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LegacyLDAPSecuritySettingPluginTest.java
 
b/tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LegacyLDAPSecuritySettingPluginTest.java
similarity index 99%
rename from 
tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LegacyLDAPSecuritySettingPluginTest.java
rename to 
tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LegacyLDAPSecuritySettingPluginTest.java
index 89ba895dd2..0b4eefda52 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LegacyLDAPSecuritySettingPluginTest.java
+++ 
b/tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LegacyLDAPSecuritySettingPluginTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.activemq.artemis.tests.integration.security;
+package org.apache.activemq.artemis.tests.integration.isolated.security;
 
 import javax.jms.Connection;
 import javax.jms.ConnectionFactory;
diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LegacyLDAPSecuritySettingPluginTest2.java
 
b/tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LegacyLDAPSecuritySettingPluginTest2.java
similarity index 99%
rename from 
tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LegacyLDAPSecuritySettingPluginTest2.java
rename to 
tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LegacyLDAPSecuritySettingPluginTest2.java
index 69b4a93b6d..071b6b3369 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/security/LegacyLDAPSecuritySettingPluginTest2.java
+++ 
b/tests/integration-tests-isolated/src/test/java/org/apache/activemq/artemis/tests/integration/isolated/security/LegacyLDAPSecuritySettingPluginTest2.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.activemq.artemis.tests.integration.security;
+package org.apache.activemq.artemis.tests.integration.isolated.security;
 
 import javax.naming.Context;
 import javax.naming.NameClassPair;
diff --git a/tests/integration-tests/src/test/resources/AMQauth.ldif 
b/tests/integration-tests-isolated/src/test/resources/AMQauth.ldif
similarity index 100%
rename from tests/integration-tests/src/test/resources/AMQauth.ldif
rename to tests/integration-tests-isolated/src/test/resources/AMQauth.ldif
diff --git a/tests/integration-tests/src/test/resources/AMQauth2.ldif 
b/tests/integration-tests-isolated/src/test/resources/AMQauth2.ldif
similarity index 100%
rename from tests/integration-tests/src/test/resources/AMQauth2.ldif
rename to tests/integration-tests-isolated/src/test/resources/AMQauth2.ldif
diff --git a/tests/integration-tests/src/test/resources/AMQauth3.ldif 
b/tests/integration-tests-isolated/src/test/resources/AMQauth3.ldif
similarity index 100%
rename from tests/integration-tests/src/test/resources/AMQauth3.ldif
rename to tests/integration-tests-isolated/src/test/resources/AMQauth3.ldif
diff --git 
a/tests/integration-tests/src/test/resources/SaslKrb5LDAPSecurityTest.ldif 
b/tests/integration-tests-isolated/src/test/resources/SaslKrb5LDAPSecurityTest.ldif
similarity index 100%
rename from 
tests/integration-tests/src/test/resources/SaslKrb5LDAPSecurityTest.ldif
rename to 
tests/integration-tests-isolated/src/test/resources/SaslKrb5LDAPSecurityTest.ldif
diff --git a/tests/integration-tests-isolated/src/test/resources/login.config 
b/tests/integration-tests-isolated/src/test/resources/login.config
new file mode 100644
index 0000000000..63f5978f8e
--- /dev/null
+++ b/tests/integration-tests-isolated/src/test/resources/login.config
@@ -0,0 +1,386 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+PropertiesLogin {
+    org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule 
required
+        debug=true
+        org.apache.activemq.jaas.properties.user="users.properties"
+        org.apache.activemq.jaas.properties.role="roles.properties";
+};
+
+PropertiesLoginWithPasswordCodec {
+    org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule 
required
+        debug=true
+        org.apache.activemq.jaas.properties.user="users.properties"
+        org.apache.activemq.jaas.properties.role="roles.properties"
+        
org.apache.activemq.jaas.properties.password.codec="org.apache.activemq.artemis.tests.integration.security.SecurityTest$DummySensitiveDataCodec";
+};
+
+LDAPLogin {
+    org.apache.activemq.artemis.spi.core.security.jaas.LDAPLoginModule required
+        debug=true
+        initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+        connectionURL="ldap://localhost:1024";
+        connectionUsername="uid=admin,ou=system"
+        connectionPassword=secret
+        connectionProtocol=s
+        authentication=simple
+        userBase="ou=system"
+        userSearchMatching="(uid={0})"
+        userSearchSubtree=false
+        roleBase="ou=system"
+        roleName=cn
+        roleSearchMatching="(member=uid={1},ou=system)"
+        roleSearchSubtree=false
+        ;
+};
+
+LDAPLogin2 {
+    org.apache.activemq.artemis.spi.core.security.jaas.LDAPLoginModule required
+        debug=true
+        initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+        connectionURL="ldap://localhost:1024";
+        connectionUsername="uid=admin,ou=system"
+        connectionPassword=secret
+        connectionProtocol=s
+        authentication=simple
+        userBase="ou=User,ou=ActiveMQ,o=example,ou=system"
+        userSearchMatching="(uid={0})"
+        userSearchSubtree=true
+        roleBase="ou=Group,ou=ActiveMQ,o=example,ou=system"
+        roleName=cn
+        roleSearchMatching="(member=uid={1})"
+        roleSearchSubtree=true
+        ;
+};
+
+UnAuthenticatedLDAPLogin {
+    org.apache.activemq.artemis.spi.core.security.jaas.LDAPLoginModule required
+        debug=true
+        initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+        connectionURL="ldap://localhost:1024";
+        connectionUsername="uid=admin,ou=system"
+        connectionPassword=""
+        connectionProtocol=s
+        authentication=simple
+        userBase="ou=system"
+        userSearchMatching="(uid={0})"
+        userSearchSubtree=false
+        roleBase="ou=system"
+        roleName=dummyRoleName
+        roleSearchMatching="(uid={1})"
+        roleSearchSubtree=false
+        ;
+};
+
+BrokenLDAPLoginNamingException {
+    org.apache.activemq.artemis.spi.core.security.jaas.LDAPLoginModule required
+        debug=true
+        initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+        connectionURL="ldap://localhost:1024";
+        connectionUsername="uid=admin,ou=system"
+        connectionPassword=""
+        connectionProtocol=s
+        authentication=simple
+        userBase="ou=system"
+        userSearchMatching="(uid={0})"
+        userSearchSubtree=false
+        roleBase="ou=system"
+        roleName=dummyRoleName
+        roleSearchMatching="(uid={1})"
+        roleSearchSubtree=false
+        noCacheExceptions="javax.naming.NamingException"
+        ;
+};
+
+BrokenLDAPLoginConnectException {
+    org.apache.activemq.artemis.spi.core.security.jaas.LDAPLoginModule required
+        debug=true
+        initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+        connectionURL="ldap://localhost:1024";
+        connectionUsername="uid=admin,ou=system"
+        connectionPassword="123"
+        connectionProtocol=s
+        authentication=simple
+        userBase="ou=system"
+        userSearchMatching="(uid={0})"
+        userSearchSubtree=false
+        roleBase="ou=system"
+        roleName=dummyRoleName
+        roleSearchMatching="(uid={1})"
+        roleSearchSubtree=false
+        noCacheExceptions="javax.naming.NamingException, 
java.net.ConnectException"
+        ;
+};
+
+ExpandedLDAPLogin {
+    org.apache.activemq.artemis.spi.core.security.jaas.LDAPLoginModule required
+        debug=true
+        initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+        connectionURL="ldap://localhost:1024";
+        connectionUsername="uid=admin,ou=system"
+        connectionPassword=secret
+        connectionProtocol=s
+        authentication=simple
+        userBase="ou=system"
+        userSearchMatching="(uid={0})"
+        userSearchSubtree=false
+        roleBase="ou=system"
+        roleName=cn
+        roleSearchMatching="(uid={1})"
+        roleSearchSubtree=false
+               expandRoles=true
+               expandRolesMatching="(member={0})"
+        ;
+};
+
+LDAPLogin3 {
+    org.apache.activemq.artemis.spi.core.security.jaas.LDAPLoginModule required
+        debug=true
+        initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+        connectionURL="ldap://localhost:1024";
+        connectionUsername="uid=admin,ou=system"
+        connectionPassword=secret
+        connectionProtocol=s
+        authentication=simple
+        userBase="ou=users,dc=example,dc=com"
+        userSearchMatching="(uid={0})"
+        userSearchSubtree=true
+        roleBase="ou=roles,dc=example,dc=com"
+        roleName=cn
+        roleSearchMatching="(uniqueMember={0})"
+        roleSearchSubtree=true
+        connectionPool=true
+        connectionTimeout="5000"
+        ;
+};
+
+GuestLogin {
+    org.apache.activemq.artemis.spi.core.security.jaas.GuestLoginModule 
required
+        debug=true
+        org.apache.activemq.jaas.guest.user="foo"
+        org.apache.activemq.jaas.guest.role="bar";
+
+};
+
+GuestLoginWithDefaults {
+    org.apache.activemq.artemis.spi.core.security.jaas.GuestLoginModule 
required
+        debug=true;
+};
+
+OpenLdapConfiguration {
+  org.apache.activemq.artemis.spi.core.security.jaas.LDAPLoginModule required
+        debug=true
+        initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+        connectionURL="ldap://localhost:389";
+        
connectionUsername="cn=mqbroker,ou=Services,ou=system,dc=fusesource,dc=com"
+        connectionPassword="sunflower"
+        connectionProtocol="s"
+        
topicSearchMatchingFormat="cn={0},ou=Topic,ou=Destination,ou=ActiveMQ,ou=system,dc=fusesource,dc=com"
+        topicSearchSubtreeBool=true
+        authentication=simple
+        userBase="ou=User,ou=ActiveMQ,ou=system,dc=fusesource,dc=com"
+        userSearchMatching="(uid={0})"
+        userSearchSubtree=false
+        roleSearchMatching="(uid={1})"
+        
queueSearchMatchingFormat="cn={0},ou=Queue,ou=Destination,ou=ActiveMQ,ou=system,dc=fusesource,dc=com"
+        queueSearchSubtreeBool=true
+        roleBase="ou=Group,ou=ActiveMQ,ou=system,dc=fusesource,dc=com"
+        roleName=cn
+        roleSearchMatching="(member:=uid={1})"
+        roleSearchSubtree=true
+        ;
+};
+
+CertLogin {
+    
org.apache.activemq.artemis.spi.core.security.jaas.TextFileCertificateLoginModule
 required
+        debug=true
+        org.apache.activemq.jaas.textfiledn.user="cert-users.properties"
+        org.apache.activemq.jaas.textfiledn.role="cert-roles.properties";
+};
+
+CertLoginWithRegexp {
+    
org.apache.activemq.artemis.spi.core.security.jaas.TextFileCertificateLoginModule
 required
+        debug=true
+        org.apache.activemq.jaas.textfiledn.user="cert-regexps.properties"
+        org.apache.activemq.jaas.textfiledn.role="cert-roles.properties";
+};
+
+DualAuthenticationCertLogin {
+    
org.apache.activemq.artemis.spi.core.security.jaas.TextFileCertificateLoginModule
 required
+        debug=true
+        
org.apache.activemq.jaas.textfiledn.user="dual-authentication-cert-users.properties"
+        
org.apache.activemq.jaas.textfiledn.role="dual-authentication-cert-roles.properties";
+};
+
+DualAuthenticationPropertiesLogin {
+    org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule 
required
+        debug=true
+        
org.apache.activemq.jaas.properties.user="dual-authentication-users.properties"
+        
org.apache.activemq.jaas.properties.role="dual-authentication-roles.properties";
+};
+
+Krb5Plus {
+
+    org.apache.activemq.artemis.spi.core.security.jaas.Krb5LoginModule optional
+        debug=true;
+
+    org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule 
optional
+        debug=true
+        
org.apache.activemq.jaas.properties.user="dual-authentication-users.properties"
+        
org.apache.activemq.jaas.properties.role="dual-authentication-roles.properties";
+};
+
+SaslExternalPlusLdap {
+
+    
org.apache.activemq.artemis.spi.core.security.jaas.ExternalCertificateLoginModule
 required
+        debug=true;
+
+    org.apache.activemq.artemis.spi.core.security.jaas.LDAPLoginModule optional
+        debug=true
+        initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+        connectionURL="ldap://localhost:1024";
+        connectionUsername="uid=admin,ou=system"
+        connectionPassword=secret
+        connectionProtocol=s
+        authentication=simple
+        authenticateUser=false
+        roleBase="ou=system"
+        roleName=cn
+        roleSearchMatching="(member=uid={1})"
+        ;
+};
+
+Krb5PlusLdap {
+
+    org.apache.activemq.artemis.spi.core.security.jaas.Krb5LoginModule required
+        debug=true;
+
+    org.apache.activemq.artemis.spi.core.security.jaas.LDAPLoginModule optional
+        debug=true
+        initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+        connectionURL="ldap://localhost:1024";
+        authentication=GSSAPI
+        saslLoginConfigScope=broker-sasl-gssapi
+        connectionProtocol=s
+        userBase="ou=users,dc=example,dc=com"
+        userSearchMatching="(krb5PrincipalName={0})"
+        userSearchSubtree=true
+        authenticateUser=false
+        roleBase="ou=system"
+        roleName=cn
+        roleSearchMatching="(member={0})"
+        roleSearchSubtree=false
+        ;
+};
+
+Krb5PlusLdapNoRoleName {
+
+    org.apache.activemq.artemis.spi.core.security.jaas.Krb5LoginModule required
+        debug=true;
+
+    org.apache.activemq.artemis.spi.core.security.jaas.LDAPLoginModule optional
+        debug=true
+        initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+        connectionURL="ldap://localhost:1024";
+        authentication=GSSAPI
+        saslLoginConfigScope=broker-sasl-gssapi
+        connectionProtocol=s
+        userBase="ou=users,dc=example,dc=com"
+        userSearchMatching="(krb5PrincipalName={0})"
+        userSearchSubtree=true
+        authenticateUser=false
+        roleBase="ou=system"
+        roleSearchMatching="(member={0})"
+        roleSearchSubtree=false
+        ;
+};
+
+Krb5PlusLdapMemberOf {
+
+    org.apache.activemq.artemis.spi.core.security.jaas.Krb5LoginModule required
+        debug=true;
+
+    org.apache.activemq.artemis.spi.core.security.jaas.LDAPLoginModule optional
+        debug=true
+        initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+        connectionURL="ldap://localhost:1024";
+        authentication=GSSAPI
+        saslLoginConfigScope=broker-sasl-gssapi
+        connectionProtocol=s
+        userBase="ou=users,dc=example,dc=com"
+        userSearchMatching="(krb5PrincipalName={0})"
+        userSearchSubtree=true
+        authenticateUser=false
+        userRoleName=businessCategory
+        roleName=cn
+        ;
+};
+
+Krb5PlusLdapMemberOfNoRoleName {
+
+    org.apache.activemq.artemis.spi.core.security.jaas.Krb5LoginModule required
+        debug=true;
+
+    org.apache.activemq.artemis.spi.core.security.jaas.LDAPLoginModule optional
+        debug=true
+        initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+        connectionURL="ldap://localhost:1024";
+        authentication=GSSAPI
+        saslLoginConfigScope=broker-sasl-gssapi
+        connectionProtocol=s
+        userBase="ou=users,dc=example,dc=com"
+        userSearchMatching="(krb5PrincipalName={0})"
+        userSearchSubtree=true
+        authenticateUser=false
+        userRoleName=businessCategory
+        ;
+};
+
+amqp-sasl-gssapi {
+    com.sun.security.auth.module.Krb5LoginModule required
+    isInitiator=false
+    storeKey=true
+    useKeyTab=true
+    principal="amqp/localhost"
+    debug=true;
+};
+
+broker-sasl-gssapi {
+    com.sun.security.auth.module.Krb5LoginModule required
+    isInitiator=true
+    storeKey=true
+    useKeyTab=true
+    principal="amqp/localhost"
+    debug=true;
+};
+
+amqp-jms-client {
+    com.sun.security.auth.module.Krb5LoginModule required
+    useKeyTab=true;
+};
+
+amqp-sasl-scram {
+   
org.apache.activemq.artemis.spi.core.security.jaas.SCRAMPropertiesLoginModule 
required
+       debug=false
+       
org.apache.activemq.jaas.properties.user="artemis-scram-users.properties"
+       
org.apache.activemq.jaas.properties.role="artemis-scram-roles.properties";
+};
+
+artemis-sasl-scram {
+    org.apache.activemq.artemis.spi.core.security.jaas.SCRAMLoginModule 
required
+    ;
+};
diff --git 
a/tests/integration-tests-isolated/src/test/resources/minikdc-krb5-template.conf
 
b/tests/integration-tests-isolated/src/test/resources/minikdc-krb5-template.conf
new file mode 100644
index 0000000000..1d08811ce8
--- /dev/null
+++ 
b/tests/integration-tests-isolated/src/test/resources/minikdc-krb5-template.conf
@@ -0,0 +1,30 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+[libdefaults]
+    kdc_realm = EXAMPLE.COM
+    default_realm = EXAMPLE.COM
+    udp_preference_limit = 1
+    kdc_tcp_port = MINI_KDC_PORT
+    default_keytab_name = FILE:target/test.krb5.keytab
+
+[realms]
+    EXAMPLE.COM = {
+        kdc = localhost:MINI_KDC_PORT
+    }
+
diff --git 
a/tests/integration-tests-isolated/src/test/resources/minikdc-krb5.conf 
b/tests/integration-tests-isolated/src/test/resources/minikdc-krb5.conf
new file mode 100644
index 0000000000..0f068ca44c
--- /dev/null
+++ b/tests/integration-tests-isolated/src/test/resources/minikdc-krb5.conf
@@ -0,0 +1,26 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+[libdefaults]
+    default_realm = {0}
+    udp_preference_limit = 1
+    default_keytab_name = FILE:target/test.krb5.keytab
+
+[realms]
+    {0} = '{'
+        kdc = {1}:{2}
+    '}'
\ No newline at end of file
diff --git a/tests/integration-tests/pom.xml b/tests/integration-tests/pom.xml
index d1d9ac3896..cfa4bd877d 100644
--- a/tests/integration-tests/pom.xml
+++ b/tests/integration-tests/pom.xml
@@ -269,24 +269,7 @@
          <artifactId>postgresql</artifactId>
          <scope>test</scope>
       </dependency>
-      <dependency>
-         <groupId>org.apache.directory.server</groupId>
-         <artifactId>apacheds-test-framework</artifactId>
-         <version>${directory-version}</version>
-         <scope>test</scope>
-         <exclusions>
-            <exclusion>
-               <groupId>org.apache.directory.api</groupId>
-               <artifactId>api-ldap-schema-data</artifactId>
-            </exclusion>
-         </exclusions>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.directory.server</groupId>
-         <artifactId>apacheds-server-annotations</artifactId>
-         <version>${directory-version}</version>
-         <scope>test</scope>
-      </dependency>
+
       <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-lang3</artifactId>
@@ -310,18 +293,6 @@
          <artifactId>hadoop-minikdc</artifactId>
          <scope>test</scope>
       </dependency>
-      <dependency>
-         <groupId>org.apache.directory.server</groupId>
-         <artifactId>apacheds-interceptor-kerberos</artifactId>
-         <version>${directory-version}</version>
-         <scope>test</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.apache.directory.jdbm</groupId>
-         <artifactId>apacheds-jdbm2</artifactId>
-         <version>${directory-jdbm2-version}</version>
-         <scope>test</scope>
-      </dependency>
       <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
diff --git a/tests/pom.xml b/tests/pom.xml
index d29feed0f8..0071117cb6 100644
--- a/tests/pom.xml
+++ b/tests/pom.xml
@@ -130,6 +130,7 @@
       <module>timing-tests</module>
       <module>jms-tests</module>
       <module>integration-tests</module>
+      <module>integration-tests-isolated</module>
       <module>karaf-client-integration-tests</module>
       <module>karaf-server-integration-tests</module>
       <module>compatibility-tests</module>


Reply via email to