1
0
Fork 0
mirror of https://github.com/vanitasvitae/Smack.git synced 2024-11-22 12:02:05 +01:00

Merge remote-tracking branch 'origin/master'

This commit is contained in:
Florian Schmaus 2024-06-23 09:24:14 +02:00
commit cf8a8466e4
30 changed files with 46 additions and 28 deletions

View file

@ -72,6 +72,8 @@ public final class Configuration {
public final DomainBareJid service;
public final String host;
public final String serviceTlsPin;
public final SslContextFactory sslContextFactory;
@ -138,6 +140,7 @@ public final class Configuration {
private Configuration(Configuration.Builder builder) throws KeyManagementException, NoSuchAlgorithmException {
service = Objects.requireNonNull(builder.service,
"'service' must be set. Either via 'properties' files or via system property 'sinttest.service'.");
host = builder.host;
serviceTlsPin = builder.serviceTlsPin;
if (serviceTlsPin != null) {
SSLContext sslContext = Java7Pinning.forPin(serviceTlsPin);
@ -197,6 +200,9 @@ public final class Configuration {
}
b.setSecurityMode(securityMode);
b.setXmppDomain(service);
if (host != null) {
b.setHost(host);
}
if (debuggerFactory != null) {
b.setDebuggerFactory(debuggerFactory);
@ -222,6 +228,8 @@ public final class Configuration {
private DomainBareJid service;
private String host;
private String serviceTlsPin;
private SecurityMode securityMode;
@ -287,6 +295,11 @@ public final class Configuration {
return this;
}
private Builder setHost(String host) {
this.host = host;
return this;
}
public Builder addEnabledTest(Class<? extends AbstractSmackIntTest> enabledTest) {
if (enabledTests == null) {
enabledTests = new HashSet<>();
@ -521,6 +534,7 @@ public final class Configuration {
Builder builder = builder();
builder.setService(properties.getProperty("service"));
builder.setHost(properties.getProperty("host"));
builder.setServiceTlsPin(properties.getProperty("serviceTlsPin"));
builder.setSecurityMode(properties.getProperty("securityMode"));
builder.setReplyTimeout(properties.getProperty("replyTimeout", "47000"));

View file

@ -80,6 +80,10 @@
* <td>XMPP service to run the tests on</td>
* </tr>
* <tr>
* <td>host</td>
* <td>IP address or DNS name of the XMPP service to run the tests on</td>
* </tr>
* <tr>
* <td>serviceTlsPin</td>
* <td>TLS Pin (used by <a href="https://github.com/Flowdalic/java-pinning">java-pinning</a>)</td>
* </tr>

View file

@ -54,7 +54,7 @@ import org.igniterealtime.smack.inttest.annotations.BeforeClass;
import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
@SpecificationReference(document = "XEP-0115")
@SpecificationReference(document = "XEP-0115", version = "1.6.0")
public class EntityCapsTest extends AbstractSmackIntegrationTest {
private final EntityCapsManager ecmTwo;

View file

@ -30,7 +30,7 @@ import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
@SpecificationReference(document = "XEP-0085")
@SpecificationReference(document = "XEP-0085", version = "2.1")
public class ChatStateIntegrationTest extends AbstractSmackIntegrationTest {
// Listener for composing chat state

View file

@ -38,7 +38,7 @@ import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
@SpecificationReference(document = "XEP-0050")
@SpecificationReference(document = "XEP-0050", version = "1.3.0")
public class AdHocCommandIntegrationTest extends AbstractSmackIntegrationTest {
public AdHocCommandIntegrationTest(SmackIntegrationTestEnvironment environment) {

View file

@ -34,7 +34,7 @@ import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
@SpecificationReference(document = "XEP-0096")
@SpecificationReference(document = "XEP-0096", version = "1.3.1")
public class FileTransferIntegrationTest extends AbstractSmackIntegrationTest {
private static final int MAX_FT_DURATION = 360;

View file

@ -38,7 +38,7 @@ import org.igniterealtime.smack.inttest.util.IntegrationTestRosterUtil;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
import org.jxmpp.util.XmppDateTime;
@SpecificationReference(document = "XEP-0080")
@SpecificationReference(document = "XEP-0080", version = "1.9")
public class GeolocationIntegrationTest extends AbstractSmackIntegrationTest {
private final GeoLocationManager glm1;

View file

@ -38,7 +38,7 @@ import org.igniterealtime.smack.inttest.TestNotPossibleException;
import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
@SpecificationReference(document = "XEP-0363")
@SpecificationReference(document = "XEP-0363", version = "0.4.0")
public class HttpFileUploadIntegrationTest extends AbstractSmackIntegrationTest {
private static final int FILE_SIZE = 1024 * 128;

View file

@ -38,7 +38,7 @@ import org.igniterealtime.smack.inttest.util.IntegrationTestRosterUtil;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
import org.jxmpp.jid.Jid;
@SpecificationReference(document = "XEP-0347")
@SpecificationReference(document = "XEP-0347", version = "0.5.1")
public class IoTControlIntegrationTest extends AbstractSmackIntegrationTest {
private final IoTControlManager IoTControlManagerOne;

View file

@ -40,7 +40,7 @@ import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
import org.igniterealtime.smack.inttest.util.IntegrationTestRosterUtil;
@SpecificationReference(document = "XEP-0347")
@SpecificationReference(document = "XEP-0347", version = "0.5.1")
public class IoTDataIntegrationTest extends AbstractSmackIntegrationTest {
private final IoTDataManager iotDataManagerOne;

View file

@ -37,7 +37,7 @@ import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
import org.jxmpp.jid.Jid;
@SpecificationReference(document = "XEP-0347")
@SpecificationReference(document = "XEP-0347", version = "0.5.1")
public class IoTDiscoveryIntegrationTest extends AbstractSmackIntegrationTest {
private final IoTDiscoveryManager discoveryManagerOne;

View file

@ -30,7 +30,7 @@ import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
@SpecificationReference(document = "XEP-0092")
@SpecificationReference(document = "XEP-0092", version = "1.1")
public class VersionIntegrationTest extends AbstractSmackIntegrationTest {
public VersionIntegrationTest(SmackIntegrationTestEnvironment environment) {

View file

@ -46,7 +46,7 @@ import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
import org.jxmpp.jid.EntityBareJid;
@SpecificationReference(document = "XEP-0313")
@SpecificationReference(document = "XEP-0313", version = "0.6.3")
public class MamIntegrationTest extends AbstractSmackIntegrationTest {
private final MamManager mamManagerConTwo;

View file

@ -32,7 +32,7 @@ import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
import org.igniterealtime.smack.inttest.util.IntegrationTestRosterUtil;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
@SpecificationReference(document = "XEP-0107")
@SpecificationReference(document = "XEP-0107", version = "1.2.1")
public class MoodIntegrationTest extends AbstractSmackIntegrationTest {
private final MoodManager mm1;

View file

@ -43,7 +43,7 @@ import org.jxmpp.jid.EntityBareJid;
import org.jxmpp.jid.EntityFullJid;
import org.jxmpp.jid.parts.Resourcepart;
@SpecificationReference(document = "XEP-0045")
@SpecificationReference(document = "XEP-0045", version = "1.34.6")
public class MultiUserChatEntityIntegrationTest extends AbstractMultiUserChatIntegrationTest {
public MultiUserChatEntityIntegrationTest(SmackIntegrationTestEnvironment environment)

View file

@ -45,7 +45,7 @@ import org.jxmpp.jid.EntityBareJid;
import org.jxmpp.jid.parts.Resourcepart;
import org.jxmpp.stringprep.XmppStringprepException;
@SpecificationReference(document = "XEP-0045")
@SpecificationReference(document = "XEP-0045", version = "1.34.6")
public class MultiUserChatIntegrationTest extends AbstractMultiUserChatIntegrationTest {
public MultiUserChatIntegrationTest(SmackIntegrationTestEnvironment environment)

View file

@ -39,7 +39,7 @@ import org.jxmpp.jid.impl.JidCreate;
import org.jxmpp.jid.parts.Localpart;
import org.jxmpp.jid.parts.Resourcepart;
@SpecificationReference(document = "XEP-0048")
@SpecificationReference(document = "XEP-0048", version = "1.2")
public class MultiUserChatLowLevelIntegrationTest extends AbstractSmackLowLevelIntegrationTest {
public MultiUserChatLowLevelIntegrationTest(SmackIntegrationTestEnvironment environment) throws Exception {

View file

@ -55,7 +55,7 @@ import org.jxmpp.jid.EntityFullJid;
import org.jxmpp.jid.impl.JidCreate;
import org.jxmpp.jid.parts.Resourcepart;
@SpecificationReference(document = "XEP-0045")
@SpecificationReference(document = "XEP-0045", version = "1.34.6")
public class MultiUserChatOccupantIntegrationTest extends AbstractMultiUserChatIntegrationTest {
public MultiUserChatOccupantIntegrationTest(SmackIntegrationTestEnvironment environment)

View file

@ -47,7 +47,7 @@ import org.jxmpp.jid.impl.JidCreate;
import org.jxmpp.jid.parts.Resourcepart;
@SpecificationReference(document = "XEP-0045")
@SpecificationReference(document = "XEP-0045", version = "1.34.6")
public class MultiUserChatRolesAffiliationsPrivilegesIntegrationTest extends AbstractMultiUserChatIntegrationTest{
public MultiUserChatRolesAffiliationsPrivilegesIntegrationTest(SmackIntegrationTestEnvironment environment)

View file

@ -36,7 +36,7 @@ import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
* During this test Alice sends an encrypted message to Bob. Bob decrypts it and sends a response to Alice.
* It is checked whether the messages can be decrypted, and if used up pre-keys result in renewed bundles.
*/
@SpecificationReference(document = "XEP-0384")
@SpecificationReference(document = "XEP-0384", version = "0.3.0")
public class MessageEncryptionIntegrationTest extends AbstractTwoUsersOmemoIntegrationTest {
public MessageEncryptionIntegrationTest(SmackIntegrationTestEnvironment environment)

View file

@ -41,7 +41,7 @@ import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
* This test sends a message from Alice to Bob, while Bob has automatic decryption disabled.
* Then Bob fetches his Mam archive and decrypts the result.
*/
@SpecificationReference(document = "XEP-0384")
@SpecificationReference(document = "XEP-0384", version = "0.3.0")
public class OmemoMamDecryptionTest extends AbstractTwoUsersOmemoIntegrationTest {
public OmemoMamDecryptionTest(SmackIntegrationTestEnvironment environment)
throws XMPPException.XMPPErrorException, SmackException.NotConnectedException, InterruptedException,

View file

@ -34,7 +34,7 @@ import org.igniterealtime.smack.inttest.TestNotPossibleException;
import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
@SpecificationReference(document = "XEP-0384")
@SpecificationReference(document = "XEP-0384", version = "0.3.0")
public class ReadOnlyDeviceIntegrationTest extends AbstractTwoUsersOmemoIntegrationTest {
public ReadOnlyDeviceIntegrationTest(SmackIntegrationTestEnvironment environment) throws XMPPException.XMPPErrorException, SmackException.NotConnectedException, InterruptedException, SmackException.NoResponseException, TestNotPossibleException {

View file

@ -26,7 +26,7 @@ import org.igniterealtime.smack.inttest.TestNotPossibleException;
import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
@SpecificationReference(document = "XEP-0384")
@SpecificationReference(document = "XEP-0384", version = "0.3.0")
public class SessionRenegotiationIntegrationTest extends AbstractTwoUsersOmemoIntegrationTest {
public SessionRenegotiationIntegrationTest(SmackIntegrationTestEnvironment environment)

View file

@ -52,7 +52,7 @@ import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
import org.pgpainless.key.OpenPgpV4Fingerprint;
import org.pgpainless.key.protection.UnprotectedKeysProtector;
@SpecificationReference(document = "XEP-0374")
@SpecificationReference(document = "XEP-0374", version = "0.2.0")
public class OXSecretKeyBackupIntegrationTest extends AbstractOpenPgpIntegrationTest {
private static final String sessionId = StringUtils.randomString(10);

View file

@ -45,7 +45,7 @@ import org.pgpainless.decryption_verification.OpenPgpMetadata;
import org.pgpainless.key.OpenPgpV4Fingerprint;
import org.pgpainless.key.protection.UnprotectedKeysProtector;
@SpecificationReference(document = "XEP-0374")
@SpecificationReference(document = "XEP-0374", version = "0.2.0")
public class OXInstantMessagingIntegrationTest extends AbstractOpenPgpIntegrationTest {
private static final String sessionId = StringUtils.randomString(10);

View file

@ -38,7 +38,7 @@ import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
import org.jxmpp.jid.Jid;
@SpecificationReference(document = "XEP-0199")
@SpecificationReference(document = "XEP-0199", version = "2.0.1")
public class PingIntegrationTest extends AbstractSmackIntegrationTest {
public PingIntegrationTest(SmackIntegrationTestEnvironment environment) {

View file

@ -37,7 +37,7 @@ import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
import org.jxmpp.jid.DomainBareJid;
@SpecificationReference(document = "XEP-0060")
@SpecificationReference(document = "XEP-0060", version = "1.26.0")
public class PubSubIntegrationTest extends AbstractSmackIntegrationTest {
private final PubSubManager pubSubManagerOne;

View file

@ -36,7 +36,7 @@ import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.annotations.SpecificationReference;
import org.igniterealtime.smack.inttest.util.IntegrationTestRosterUtil;
@SpecificationReference(document = "XEP-0232")
@SpecificationReference(document = "XEP-0232", version = "0.3")
public class SoftwareInfoIntegrationTest extends AbstractSmackIntegrationTest {
public final SoftwareInfoManager sim1;

View file

@ -36,7 +36,7 @@ import org.igniterealtime.smack.inttest.util.IntegrationTestRosterUtil;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
import org.junit.jupiter.api.Assertions;
@SpecificationReference(document = "XEP-0118")
@SpecificationReference(document = "XEP-0118", version = "1.3.0")
public class UserTuneIntegrationTest extends AbstractSmackIntegrationTest {
private final UserTuneManager utm1;

View file

@ -511,7 +511,7 @@
* </tr>
* <tr>
* <td>References</td>
* <td><a href="https://xmpp.org/extensions/xep-0363.html">XEP-0372</a></td>
* <td><a href="https://xmpp.org/extensions/xep-0372.html">XEP-0372</a></td>
* <td></td>
* <td>Add references like mentions or external data to stanzas.</td>
* </tr>