From 814cc1fdde651b6a250854386594a29ea34913d8 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Mon, 19 Dec 2016 18:10:04 +0100 Subject: [PATCH] Create low-level inttest accounts with test run ID --- .../inttest/AbstractSmackLowLevelIntegrationTest.java | 11 +++++++---- .../org/igniterealtime/smack/inttest/IntTestUtil.java | 5 +++-- .../smack/inttest/SmackIntegrationTestFramework.java | 11 ++++++----- .../org/jivesoftware/smack/LoginIntegrationTest.java | 6 +++--- .../org/jivesoftware/smack/StreamManagementTest.java | 7 +++---- .../smack/WaitForClosingStreamElementTest.java | 6 +++--- .../smack/roster/LowLevelRosterIntegrationTest.java | 6 +++--- .../muc/MultiUserChatLowLevelIntegrationTest.java | 7 +++---- 8 files changed, 31 insertions(+), 28 deletions(-) diff --git a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/AbstractSmackLowLevelIntegrationTest.java b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/AbstractSmackLowLevelIntegrationTest.java index f6ffa63c7..6b631e78e 100644 --- a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/AbstractSmackLowLevelIntegrationTest.java +++ b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/AbstractSmackLowLevelIntegrationTest.java @@ -29,6 +29,8 @@ import eu.geekplace.javapinning.java7.Java7Pinning; public abstract class AbstractSmackLowLevelIntegrationTest extends AbstractSmackIntTest { + private final SmackIntegrationTestEnvironment environment; + /** * The configuration */ @@ -38,9 +40,10 @@ public abstract class AbstractSmackLowLevelIntegrationTest extends AbstractSmack protected final DomainBareJid service; - public AbstractSmackLowLevelIntegrationTest(Configuration configuration, String testRunId) { - this.configuration = configuration; - this.testRunId = testRunId; + public AbstractSmackLowLevelIntegrationTest(SmackIntegrationTestEnvironment environment) { + this.environment = environment; + this.configuration = environment.configuration; + this.testRunId = environment.testRunId; this.service = configuration.service; } @@ -56,7 +59,7 @@ public abstract class AbstractSmackLowLevelIntegrationTest extends AbstractSmack } protected void performCheck(ConnectionCallback callback) throws Exception { - XMPPTCPConnection connection = SmackIntegrationTestFramework.getConnectedConnection(configuration); + XMPPTCPConnection connection = SmackIntegrationTestFramework.getConnectedConnection(environment, -1); try { callback.connectionCallback(connection); } finally { diff --git a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/IntTestUtil.java b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/IntTestUtil.java index 1ea3e180d..cc29113a6 100644 --- a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/IntTestUtil.java +++ b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/IntTestUtil.java @@ -44,8 +44,9 @@ public class IntTestUtil { private static final Logger LOGGER = Logger.getLogger(IntTestUtil.class.getName()); - public static UsernameAndPassword registerAccount(XMPPTCPConnection connection, Configuration config) throws InterruptedException, XMPPException, SmackException, IOException { - return registerAccount(connection, StringUtils.insecureRandomString(12), StringUtils.insecureRandomString(12), config); + public static UsernameAndPassword registerAccount(XMPPTCPConnection connection, SmackIntegrationTestEnvironment environment, int connectionId) throws InterruptedException, XMPPException, SmackException, IOException { + String username = "sinttest-" + environment.testRunId + "-" + connectionId; + return registerAccount(connection, username, StringUtils.insecureRandomString(12), environment.configuration); } public static UsernameAndPassword registerAccount(XMPPTCPConnection connection, String accountUsername, String accountPassword, diff --git a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/SmackIntegrationTestFramework.java b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/SmackIntegrationTestFramework.java index 1e71f282c..e9e1a9b13 100644 --- a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/SmackIntegrationTestFramework.java +++ b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/SmackIntegrationTestFramework.java @@ -290,7 +290,7 @@ public class SmackIntegrationTestFramework { Constructor cons; try { cons = ((Class) testClass).getConstructor( - Configuration.class, String.class); + SmackIntegrationTestEnvironment.class); } catch (NoSuchMethodException | SecurityException e) { LOGGER.log(Level.WARNING, @@ -300,7 +300,7 @@ public class SmackIntegrationTestFramework { } try { - test = cons.newInstance(config, testRunResult.testRunId); + test = cons.newInstance(environment); } catch (InvocationTargetException e) { Throwable cause = e.getCause(); @@ -442,7 +442,7 @@ public class SmackIntegrationTestFramework { } connections = new XMPPTCPConnection[numberOfConnections]; for (int i = 0; i < numberOfConnections; ++i) { - connections[i] = getConnectedConnection(config); + connections[i] = getConnectedConnection(environment, i); } } catch (Exception e) { @@ -563,9 +563,10 @@ public class SmackIntegrationTestFramework { return connection; } - static XMPPTCPConnection getConnectedConnection(Configuration config) + static XMPPTCPConnection getConnectedConnection(SmackIntegrationTestEnvironment environment, int connectionId) throws KeyManagementException, NoSuchAlgorithmException, InterruptedException, SmackException, IOException, XMPPException { + Configuration config = environment.configuration; XMPPTCPConnectionConfiguration.Builder builder = XMPPTCPConnectionConfiguration.builder(); if (config.serviceTlsPin != null) { SSLContext sc = Java7Pinning.forPin(config.serviceTlsPin); @@ -575,7 +576,7 @@ public class SmackIntegrationTestFramework { builder.setXmppDomain(config.service); XMPPTCPConnection connection = new XMPPTCPConnection(builder.build()); connection.connect(); - UsernameAndPassword uap = IntTestUtil.registerAccount(connection, config); + UsernameAndPassword uap = IntTestUtil.registerAccount(connection, environment, connectionId); connection.login(uap.username, uap.password); return connection; } diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smack/LoginIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smack/LoginIntegrationTest.java index f7fbc6b8e..642287254 100644 --- a/smack-integration-test/src/main/java/org/jivesoftware/smack/LoginIntegrationTest.java +++ b/smack-integration-test/src/main/java/org/jivesoftware/smack/LoginIntegrationTest.java @@ -24,8 +24,8 @@ import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import org.igniterealtime.smack.inttest.AbstractSmackLowLevelIntegrationTest; -import org.igniterealtime.smack.inttest.Configuration; import org.igniterealtime.smack.inttest.SmackIntegrationTest; +import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment; import org.jivesoftware.smack.sasl.SASLError; import org.jivesoftware.smack.sasl.SASLErrorException; import org.jivesoftware.smack.tcp.XMPPTCPConnection; @@ -34,8 +34,8 @@ import org.jivesoftware.smack.util.StringUtils; public class LoginIntegrationTest extends AbstractSmackLowLevelIntegrationTest { - public LoginIntegrationTest(Configuration configuration, String testRunId) { - super(configuration, testRunId); + public LoginIntegrationTest(SmackIntegrationTestEnvironment environment) { + super(environment); } /** diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smack/StreamManagementTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smack/StreamManagementTest.java index 8e30a5b6e..5f9394c57 100644 --- a/smack-integration-test/src/main/java/org/jivesoftware/smack/StreamManagementTest.java +++ b/smack-integration-test/src/main/java/org/jivesoftware/smack/StreamManagementTest.java @@ -22,8 +22,8 @@ import static org.junit.Assert.assertNotNull; import java.io.IOException; import org.igniterealtime.smack.inttest.AbstractSmackLowLevelIntegrationTest; -import org.igniterealtime.smack.inttest.Configuration; import org.igniterealtime.smack.inttest.SmackIntegrationTest; +import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment; import org.igniterealtime.smack.inttest.TestNotPossibleException; import org.jivesoftware.smack.SmackException.NotConnectedException; import org.jivesoftware.smack.filter.AndFilter; @@ -34,9 +34,8 @@ import org.jivesoftware.smack.tcp.XMPPTCPConnection; public class StreamManagementTest extends AbstractSmackLowLevelIntegrationTest { - public StreamManagementTest(Configuration configuration, String testRunId) - throws Exception { - super(configuration, testRunId); + public StreamManagementTest(SmackIntegrationTestEnvironment environment) throws Exception { + super(environment); performCheck(new ConnectionCallback() { @Override public void connectionCallback(XMPPTCPConnection connection) throws Exception { diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smack/WaitForClosingStreamElementTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smack/WaitForClosingStreamElementTest.java index 1e2b9584f..d4cb640e3 100644 --- a/smack-integration-test/src/main/java/org/jivesoftware/smack/WaitForClosingStreamElementTest.java +++ b/smack-integration-test/src/main/java/org/jivesoftware/smack/WaitForClosingStreamElementTest.java @@ -21,14 +21,14 @@ import static org.junit.Assert.assertTrue; import java.lang.reflect.Field; import org.igniterealtime.smack.inttest.AbstractSmackLowLevelIntegrationTest; -import org.igniterealtime.smack.inttest.Configuration; import org.igniterealtime.smack.inttest.SmackIntegrationTest; +import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment; import org.jivesoftware.smack.tcp.XMPPTCPConnection; public class WaitForClosingStreamElementTest extends AbstractSmackLowLevelIntegrationTest { - public WaitForClosingStreamElementTest(Configuration configuration, String testRunId) { - super(configuration, testRunId); + public WaitForClosingStreamElementTest(SmackIntegrationTestEnvironment environment) { + super(environment); } @SmackIntegrationTest diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smack/roster/LowLevelRosterIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smack/roster/LowLevelRosterIntegrationTest.java index d52a96c7a..653160969 100644 --- a/smack-integration-test/src/main/java/org/jivesoftware/smack/roster/LowLevelRosterIntegrationTest.java +++ b/smack-integration-test/src/main/java/org/jivesoftware/smack/roster/LowLevelRosterIntegrationTest.java @@ -20,8 +20,8 @@ package org.jivesoftware.smack.roster; import java.util.concurrent.TimeoutException; import org.igniterealtime.smack.inttest.AbstractSmackLowLevelIntegrationTest; -import org.igniterealtime.smack.inttest.Configuration; import org.igniterealtime.smack.inttest.SmackIntegrationTest; +import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment; import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint; import org.jivesoftware.smack.packet.Presence; import org.jivesoftware.smack.tcp.XMPPTCPConnection; @@ -29,8 +29,8 @@ import org.jxmpp.jid.FullJid; public class LowLevelRosterIntegrationTest extends AbstractSmackLowLevelIntegrationTest { - public LowLevelRosterIntegrationTest(Configuration configuration, String testRunId) { - super(configuration, testRunId); + public LowLevelRosterIntegrationTest(SmackIntegrationTestEnvironment environment) { + super(environment); } @SmackIntegrationTest diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatLowLevelIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatLowLevelIntegrationTest.java index 58a473bef..5bdb0d5fa 100644 --- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatLowLevelIntegrationTest.java +++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatLowLevelIntegrationTest.java @@ -16,14 +16,13 @@ */ package org.jivesoftware.smackx.muc; - import static org.junit.Assert.assertTrue; import java.io.IOException; import org.igniterealtime.smack.inttest.AbstractSmackLowLevelIntegrationTest; -import org.igniterealtime.smack.inttest.Configuration; import org.igniterealtime.smack.inttest.SmackIntegrationTest; +import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment; import org.igniterealtime.smack.inttest.TestNotPossibleException; import org.jivesoftware.smack.SmackException; import org.jivesoftware.smack.XMPPException; @@ -39,8 +38,8 @@ import org.jxmpp.jid.parts.Resourcepart; public class MultiUserChatLowLevelIntegrationTest extends AbstractSmackLowLevelIntegrationTest { - public MultiUserChatLowLevelIntegrationTest(Configuration configuration, String testRunId) throws Exception { - super(configuration, testRunId); + public MultiUserChatLowLevelIntegrationTest(SmackIntegrationTestEnvironment environment) throws Exception { + super(environment); performCheck(new ConnectionCallback() { @Override public void connectionCallback(XMPPTCPConnection connection) throws Exception {