diff --git a/build.gradle b/build.gradle
index 6eeea45c5..b0a81ba9f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -23,8 +23,8 @@ apply plugin: 'org.kordamp.gradle.markdown'
apply from: 'version.gradle'
allprojects {
- apply plugin: 'java'
apply plugin: 'java-library'
+ apply plugin: 'java-test-fixtures'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'jacoco'
@@ -123,15 +123,12 @@ allprojects {
androidJavadocOffline = { getAndroidJavadocOffline() }
junit4Projects = [
':smack-core',
- ':smack-extensions',
':smack-im',
- ':smack-integration-test',
':smack-omemo',
':smack-omemo-signal',
':smack-openpgp',
].collect { project(it) }
junitVersion = '5.6.0'
- powerMockVersion = '2.0.2'
commonsIoVersion = '2.6'
if (project.hasProperty("useSonatype")) {
useSonatype = project.getProperty("useSonatype").toBoolean()
@@ -267,10 +264,16 @@ allprojects {
}
dependencies {
- testImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion"
+ testFixturesApi "org.junit.jupiter:junit-jupiter-api:$junitVersion"
testImplementation "org.junit.jupiter:junit-jupiter-params:$junitVersion"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junitVersion"
+ // The smack-extensions subproject uses mockito in its fest
+ // fixtures, and we want to have mockito also available in
+ // test, so we use API here.
+ testFixturesApi "org.mockito:mockito-core:3.3.3"
+ testImplementation 'com.jamesmurty.utils:java-xmlbuilder:1.2'
+
errorprone 'com.google.errorprone:error_prone_core:2.3.3'
errorproneJavac('com.google.errorprone:javac:9+181-r4173-1')
}
@@ -283,9 +286,6 @@ allprojects {
configure (junit4Projects) {
dependencies {
testImplementation "org.junit.vintage:junit-vintage-engine:$junitVersion"
- testImplementation "org.powermock:powermock-module-junit4:$powerMockVersion"
- testImplementation "org.powermock:powermock-module-junit4-rule:$powerMockVersion"
- testImplementation "org.powermock:powermock-api-mockito2:$powerMockVersion"
}
}
diff --git a/config/checkstyle/suppressions.xml b/config/checkstyle/suppressions.xml
index f638dbbf1..2a22f2881 100644
--- a/config/checkstyle/suppressions.xml
+++ b/config/checkstyle/suppressions.xml
@@ -9,5 +9,5 @@ it disabled until gradle uses a checkstyle version where this is fixed
-
+
diff --git a/smack-core/build.gradle b/smack-core/build.gradle
index d9da388b1..acbbba065 100644
--- a/smack-core/build.gradle
+++ b/smack-core/build.gradle
@@ -10,10 +10,19 @@ dependencies {
compile "org.jxmpp:jxmpp-core:$jxmppVersion"
compile "org.jxmpp:jxmpp-jid:$jxmppVersion"
compile "org.minidns:minidns-core:$miniDnsVersion"
- testCompile project(':smack-xmlparser-stax')
- testCompile project(':smack-xmlparser-xpp3')
- testCompile "org.jxmpp:jxmpp-jid:$jxmppVersion:tests"
- testCompile "org.xmlunit:xmlunit-core:$xmlUnitVersion"
+
+ testFixturesImplementation project(':smack-xmlparser-stax')
+ testFixturesImplementation project(':smack-xmlparser-xpp3')
+
+ // Bouncy Castle is setup by SmackTestSuite. We deliberately use
+ // 'implementation' here since there is no need to shadow it
+ // outside of the fixtures compilation classpath. That is, no test
+ // should ever setup Bouncy Castle as security provider explicitly.
+ testFixturesImplementation 'org.bouncycastle:bcprov-jdk15on:1.64'
+ testFixturesImplementation 'org.apache.commons:commons-lang3:3.10'
+
+ testFixturesApi "org.jxmpp:jxmpp-jid:$jxmppVersion:tests"
+ testFixturesApi "org.xmlunit:xmlunit-core:$xmlUnitVersion"
// Explictily add assertj-core which is a dependency of
// xmlunit-assertj, but gradle fails to resolves it with:
// Execution failed for task ':smack-core:compileTestJava'.
@@ -21,12 +30,9 @@ dependencies {
// > Could not find org.assertj:assertj-core:.
// Required by:
// project :smack-core > org.xmlunit:xmlunit-assertj:2.6.2
- testCompile "org.assertj:assertj-core:3.11.1"
- testCompile "org.xmlunit:xmlunit-assertj:$xmlUnitVersion"
- testCompile 'com.jamesmurty.utils:java-xmlbuilder:1.2'
- testCompile 'org.bouncycastle:bcprov-jdk15on:1.64'
- testCompile 'com.google.guava:guava:28.2-jre'
- testCompile 'org.jgrapht:jgrapht-io:1.3.1'
+ testFixturesApi "org.assertj:assertj-core:3.11.1"
+ testFixturesApi "org.xmlunit:xmlunit-assertj:$xmlUnitVersion"
+ testFixturesApi 'org.hamcrest:hamcrest-library:2.2'
}
class CreateFileTask extends DefaultTask {
diff --git a/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java b/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java
index 3c20fce8b..66ebb1916 100644
--- a/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java
+++ b/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java
@@ -2154,6 +2154,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
CACHED_EXECUTOR_SERVICE.execute(runnable);
}
+ @SuppressWarnings("static-method")
protected final SmackReactor getReactor() {
return SMACK_REACTOR;
}
diff --git a/smack-core/src/main/java/org/jivesoftware/smack/packet/Stanza.java b/smack-core/src/main/java/org/jivesoftware/smack/packet/Stanza.java
index 833ff041a..bedcad481 100644
--- a/smack-core/src/main/java/org/jivesoftware/smack/packet/Stanza.java
+++ b/smack-core/src/main/java/org/jivesoftware/smack/packet/Stanza.java
@@ -338,7 +338,7 @@ public abstract class Stanza implements StanzaView, TopLevelStreamElement {
/**
* Returns the first extension of this stanza that has the given namespace.
*
- * When possible, use {@link #getExtension(String, String)} instead.
+ * When possible, use {@link #getExtensionElement(String, String)} instead.
*
*
* @param namespace the namespace of the extension that is desired.
@@ -350,15 +350,18 @@ public abstract class Stanza implements StanzaView, TopLevelStreamElement {
/**
* Returns the first extension that matches the specified element name and
- * namespace, or null
if it doesn't exist. If the provided elementName is null,
- * only the namespace is matched. Extensions are
+ * namespace, or null
if it doesn't exist. Extensions are
* are arbitrary XML elements in standard XMPP stanzas.
+ *
+ * Note that it is recommended to use {@link #getExtension(Class)} instead of this method.
+ * The {@link #getExtension(Class)} is more robust, as it is type safe.
+ *
*
- * @param elementName the XML element name of the extension. (May be null)
+ * @param elementName the XML element name of the extension.
* @param namespace the XML element namespace of the extension.
* @return the extension, or null
if it doesn't exist.
*/
- public final ExtensionElement getExtension(String elementName, String namespace) {
+ public final ExtensionElement getExtensionElement(String elementName, String namespace) {
if (namespace == null) {
return null;
}
@@ -370,6 +373,22 @@ public abstract class Stanza implements StanzaView, TopLevelStreamElement {
return packetExtension;
}
+ /**
+ * This method is deprecated. Use preferably {@link #getExtension(Class)} or {@link #getExtensionElement(String, String)}.
+ *
+ * @param the type to cast to.
+ * @param elementName the XML element name of the extension. (May be null)
+ * @param namespace the XML element namespace of the extension.
+ * @return the extension, or null
if it doesn't exist.
+ * @deprecated use {@link #getExtension(Class)} or {@link #getExtensionElement(String, String)} isntead.
+ */
+ // TODO: Remove in Smack 4.5.
+ @SuppressWarnings("unchecked")
+ @Deprecated
+ public final E getExtension(String elementName, String namespace) {
+ return (E) getExtensionElement(elementName, namespace);
+ }
+
@Override
public final ExtensionElement getExtension(QName qname) {
synchronized (extensionElements) {
diff --git a/smack-core/src/main/java/org/jivesoftware/smack/packet/StanzaView.java b/smack-core/src/main/java/org/jivesoftware/smack/packet/StanzaView.java
index 981898965..9ee3b6933 100644
--- a/smack-core/src/main/java/org/jivesoftware/smack/packet/StanzaView.java
+++ b/smack-core/src/main/java/org/jivesoftware/smack/packet/StanzaView.java
@@ -87,10 +87,14 @@ public interface StanzaView extends XmlLangElement {
return false;
}
- @SuppressWarnings("unchecked")
default E getExtension(Class extensionElementClass) {
QName qname = XmppElementUtil.getQNameFor(extensionElementClass);
- return (E) getExtension(qname);
+ ExtensionElement extensionElement = getExtension(qname);
+ if (!extensionElementClass.isInstance(extensionElement)) {
+ return null;
+ }
+
+ return extensionElementClass.cast(extensionElement);
}
/**
diff --git a/smack-core/src/test/java/org/jivesoftware/smack/DummyConnection.java b/smack-core/src/testFixtures/java/org/jivesoftware/smack/DummyConnection.java
similarity index 99%
rename from smack-core/src/test/java/org/jivesoftware/smack/DummyConnection.java
rename to smack-core/src/testFixtures/java/org/jivesoftware/smack/DummyConnection.java
index 3dc30cc76..135fd79d0 100644
--- a/smack-core/src/test/java/org/jivesoftware/smack/DummyConnection.java
+++ b/smack-core/src/testFixtures/java/org/jivesoftware/smack/DummyConnection.java
@@ -14,7 +14,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.jivesoftware.smack;
import java.io.IOException;
diff --git a/smack-core/src/test/java/org/jivesoftware/smack/ThreadedDummyConnection.java b/smack-core/src/testFixtures/java/org/jivesoftware/smack/ThreadedDummyConnection.java
similarity index 100%
rename from smack-core/src/test/java/org/jivesoftware/smack/ThreadedDummyConnection.java
rename to smack-core/src/testFixtures/java/org/jivesoftware/smack/ThreadedDummyConnection.java
diff --git a/smack-core/src/test/java/org/jivesoftware/smack/sasl/AbstractSaslTest.java b/smack-core/src/testFixtures/java/org/jivesoftware/smack/sasl/AbstractSaslTest.java
similarity index 100%
rename from smack-core/src/test/java/org/jivesoftware/smack/sasl/AbstractSaslTest.java
rename to smack-core/src/testFixtures/java/org/jivesoftware/smack/sasl/AbstractSaslTest.java
diff --git a/smack-core/src/test/java/org/jivesoftware/smack/sasl/DigestMd5SaslTest.java b/smack-core/src/testFixtures/java/org/jivesoftware/smack/sasl/DigestMd5SaslTest.java
similarity index 100%
rename from smack-core/src/test/java/org/jivesoftware/smack/sasl/DigestMd5SaslTest.java
rename to smack-core/src/testFixtures/java/org/jivesoftware/smack/sasl/DigestMd5SaslTest.java
diff --git a/smack-core/src/test/java/org/jivesoftware/smack/test/util/CharSequenceEquals.java b/smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/CharSequenceEquals.java
similarity index 94%
rename from smack-core/src/test/java/org/jivesoftware/smack/test/util/CharSequenceEquals.java
rename to smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/CharSequenceEquals.java
index 479ba39e7..cefc3e919 100644
--- a/smack-core/src/test/java/org/jivesoftware/smack/test/util/CharSequenceEquals.java
+++ b/smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/CharSequenceEquals.java
@@ -1,6 +1,6 @@
/**
*
- * Copyright © 2014 Florian Schmaus
+ * Copyright © 2014-2020 Florian Schmaus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,7 +17,6 @@
package org.jivesoftware.smack.test.util;
import org.hamcrest.Description;
-import org.hamcrest.Factory;
import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeMatcher;
@@ -40,7 +39,6 @@ public class CharSequenceEquals extends TypeSafeMatcher {
return charSequenceString.equals(itemString);
}
- @Factory
public static Matcher equalsCharSequence(CharSequence charSequence) {
return new CharSequenceEquals(charSequence);
}
diff --git a/smack-core/src/test/java/org/jivesoftware/smack/util/MemoryLeakTestUtil.java b/smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/MemoryLeakTestUtil.java
similarity index 96%
rename from smack-core/src/test/java/org/jivesoftware/smack/util/MemoryLeakTestUtil.java
rename to smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/MemoryLeakTestUtil.java
index 1b453979f..6746e8f13 100644
--- a/smack-core/src/test/java/org/jivesoftware/smack/util/MemoryLeakTestUtil.java
+++ b/smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/MemoryLeakTestUtil.java
@@ -1,6 +1,6 @@
/**
*
- * Copyright 2019 Florian Schmaus
+ * Copyright 2019-2020 Florian Schmaus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,9 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.jivesoftware.smack.util;
+package org.jivesoftware.smack.test.util;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.fail;
import java.lang.ref.PhantomReference;
@@ -129,7 +129,7 @@ public class MemoryLeakTestUtil {
}
Reference> reference = referenceQueue.poll();
- assertNull("Reference queue is not empty when it should be", reference);
+ assertNull(reference, "Reference queue is not empty when it should be");
}
private static void assertReferencesQueueIsEmpty(ReferenceQueue> referenceQueue) {
diff --git a/smack-core/src/test/java/org/jivesoftware/smack/util/NetworkUtil.java b/smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/NetworkUtil.java
similarity index 97%
rename from smack-core/src/test/java/org/jivesoftware/smack/util/NetworkUtil.java
rename to smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/NetworkUtil.java
index ac58e8790..5b38d9ad0 100644
--- a/smack-core/src/test/java/org/jivesoftware/smack/util/NetworkUtil.java
+++ b/smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/NetworkUtil.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.jivesoftware.smack.util;
+package org.jivesoftware.smack.test.util;
import java.io.IOException;
import java.net.BindException;
diff --git a/smack-core/src/test/java/org/jivesoftware/smack/test/util/SmackTestSuite.java b/smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/SmackTestSuite.java
similarity index 100%
rename from smack-core/src/test/java/org/jivesoftware/smack/test/util/SmackTestSuite.java
rename to smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/SmackTestSuite.java
diff --git a/smack-core/src/test/java/org/jivesoftware/smack/test/util/SmackTestUtil.java b/smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/SmackTestUtil.java
similarity index 100%
rename from smack-core/src/test/java/org/jivesoftware/smack/test/util/SmackTestUtil.java
rename to smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/SmackTestUtil.java
diff --git a/smack-core/src/test/java/org/jivesoftware/smack/test/util/TestUtils.java b/smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/TestUtils.java
similarity index 100%
rename from smack-core/src/test/java/org/jivesoftware/smack/test/util/TestUtils.java
rename to smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/TestUtils.java
diff --git a/smack-core/src/test/java/org/jivesoftware/smack/test/util/WaitForPacketListener.java b/smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/WaitForPacketListener.java
similarity index 100%
rename from smack-core/src/test/java/org/jivesoftware/smack/test/util/WaitForPacketListener.java
rename to smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/WaitForPacketListener.java
diff --git a/smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/Whitebox.java b/smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/Whitebox.java
new file mode 100644
index 000000000..6d0cf5814
--- /dev/null
+++ b/smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/Whitebox.java
@@ -0,0 +1,44 @@
+/**
+ *
+ * Copyright 2020 Florian Schmaus
+ *
+ * Licensed 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.
+ */
+package org.jivesoftware.smack.test.util;
+
+import java.lang.reflect.Field;
+
+import org.apache.commons.lang3.reflect.FieldUtils;
+
+public class Whitebox {
+
+ public static T getInternalState(Object object, String fieldName, Class fieldType) {
+ Class> objectClass = object.getClass();
+
+ Field field = FieldUtils.getField(objectClass, fieldName, true);
+
+ Object res;
+ try {
+ res = field.get(object);
+ } catch (IllegalArgumentException | IllegalAccessException e) {
+ throw new AssertionError(e);
+ }
+
+ if (!fieldType.isInstance(res)) {
+ throw new AssertionError(res + " is not a (sub)type of " + fieldType);
+ }
+
+ return fieldType.cast(res);
+ }
+
+}
diff --git a/smack-core/src/test/java/org/jivesoftware/smack/test/util/XmlUnitUtils.java b/smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/XmlUnitUtils.java
similarity index 100%
rename from smack-core/src/test/java/org/jivesoftware/smack/test/util/XmlUnitUtils.java
rename to smack-core/src/testFixtures/java/org/jivesoftware/smack/test/util/XmlUnitUtils.java
diff --git a/smack-debug-slf4j/build.gradle b/smack-debug-slf4j/build.gradle
index bf1477b6e..fe3456341 100644
--- a/smack-debug-slf4j/build.gradle
+++ b/smack-debug-slf4j/build.gradle
@@ -6,5 +6,4 @@ Connect your favourite slf4j backend of choice to get output inside of it"""
dependencies {
compile project(':smack-core')
compile 'org.slf4j:slf4j-api:[1.7,1.8)'
- testCompile project(path: ":smack-core", configuration: "testRuntime")
}
diff --git a/smack-debug/build.gradle b/smack-debug/build.gradle
index 3cc23ac14..62324392c 100644
--- a/smack-debug/build.gradle
+++ b/smack-debug/build.gradle
@@ -4,5 +4,4 @@ Inspect the exchanged XMPP stanzas."""
dependencies {
compile project(':smack-core')
- testCompile project(path: ":smack-core", configuration: "testRuntime")
}
diff --git a/smack-experimental/build.gradle b/smack-experimental/build.gradle
index f64702d10..e3b2d3771 100644
--- a/smack-experimental/build.gradle
+++ b/smack-experimental/build.gradle
@@ -7,8 +7,8 @@ between patch versions."""
dependencies {
compile project(':smack-core')
compile project(':smack-extensions')
- testCompile project(path: ":smack-core", configuration: "testRuntime")
- testCompile project(path: ":smack-extensions", configuration: "testRuntime")
compile "org.hsluv:hsluv:0.2"
+
+ testFixturesApi(testFixtures(project(":smack-extensions")))
}
diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/packet/CarbonExtension.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/packet/CarbonExtension.java
index 6fb49ce39..960922d07 100644
--- a/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/packet/CarbonExtension.java
+++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/packet/CarbonExtension.java
@@ -114,9 +114,9 @@ public class CarbonExtension implements ExtensionElement {
* @return a Carbon if available, null otherwise.
*/
public static CarbonExtension from(Message msg) {
- CarbonExtension cc = (CarbonExtension) msg.getExtension(Direction.received.name(), NAMESPACE);
+ CarbonExtension cc = (CarbonExtension) msg.getExtensionElement(Direction.received.name(), NAMESPACE);
if (cc == null)
- cc = (CarbonExtension) msg.getExtension(Direction.sent.name(), NAMESPACE);
+ cc = (CarbonExtension) msg.getExtensionElement(Direction.sent.name(), NAMESPACE);
return cc;
}
diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/dox/DnsOverXmppManager.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/dox/DnsOverXmppManager.java
index 1ffba5597..92bd0b555 100644
--- a/smack-experimental/src/main/java/org/jivesoftware/smackx/dox/DnsOverXmppManager.java
+++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/dox/DnsOverXmppManager.java
@@ -60,7 +60,7 @@ public final class DnsOverXmppManager extends Manager {
private static DnsOverXmppResolver defaultResolver;
- public void setDefaultDnsOverXmppResolver(DnsOverXmppResolver resolver) {
+ public static void setDefaultDnsOverXmppResolver(DnsOverXmppResolver resolver) {
defaultResolver = resolver;
}
diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/hints/element/NoCopyHint.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/hints/element/NoCopyHint.java
index 393fe55fe..a29ae0473 100644
--- a/smack-experimental/src/main/java/org/jivesoftware/smackx/hints/element/NoCopyHint.java
+++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/hints/element/NoCopyHint.java
@@ -48,7 +48,7 @@ public final class NoCopyHint extends MessageProcessingHint {
}
public static NoCopyHint from(Message message) {
- return (NoCopyHint) message.getExtension(ELEMENT, NAMESPACE);
+ return (NoCopyHint) message.getExtensionElement(ELEMENT, NAMESPACE);
}
public static boolean hasHint(Message message) {
diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/hints/element/NoPermanentStoreHint.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/hints/element/NoPermanentStoreHint.java
index 63aea7699..4b0bc7100 100644
--- a/smack-experimental/src/main/java/org/jivesoftware/smackx/hints/element/NoPermanentStoreHint.java
+++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/hints/element/NoPermanentStoreHint.java
@@ -48,7 +48,7 @@ public final class NoPermanentStoreHint extends MessageProcessingHint {
}
public static NoPermanentStoreHint from(Message message) {
- return (NoPermanentStoreHint) message.getExtension(ELEMENT, NAMESPACE);
+ return (NoPermanentStoreHint) message.getExtensionElement(ELEMENT, NAMESPACE);
}
public static boolean hasHint(Message message) {
diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/hints/element/NoStoreHint.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/hints/element/NoStoreHint.java
index 72bc4ff44..b6b9e2a25 100644
--- a/smack-experimental/src/main/java/org/jivesoftware/smackx/hints/element/NoStoreHint.java
+++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/hints/element/NoStoreHint.java
@@ -48,7 +48,7 @@ public final class NoStoreHint extends MessageProcessingHint {
}
public static NoStoreHint from(Message message) {
- return (NoStoreHint) message.getExtension(ELEMENT, NAMESPACE);
+ return (NoStoreHint) message.getExtensionElement(ELEMENT, NAMESPACE);
}
public static boolean hasHint(Message message) {
diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/httpfileupload/HttpFileUploadManager.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/httpfileupload/HttpFileUploadManager.java
index 2977f8601..eadbaff94 100644
--- a/smack-experimental/src/main/java/org/jivesoftware/smackx/httpfileupload/HttpFileUploadManager.java
+++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/httpfileupload/HttpFileUploadManager.java
@@ -46,6 +46,7 @@ import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPConnectionRegistry;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.XMPPException.XMPPErrorException;
+
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager;
import org.jivesoftware.smackx.disco.packet.DiscoverInfo;
import org.jivesoftware.smackx.httpfileupload.UploadService.Version;
diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/provider/JingleFileTransferProvider.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/provider/JingleFileTransferProvider.java
index 1eba4075a..ea590d825 100644
--- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/provider/JingleFileTransferProvider.java
+++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/provider/JingleFileTransferProvider.java
@@ -28,6 +28,7 @@ import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.hashes.element.HashElement;
import org.jivesoftware.smackx.hashes.provider.HashElementProvider;
+import org.jivesoftware.smackx.jingle.element.JingleContentDescription;
import org.jivesoftware.smackx.jingle.element.JingleContentDescriptionChildElement;
import org.jivesoftware.smackx.jingle.provider.JingleContentDescriptionProvider;
import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransfer;
@@ -101,7 +102,7 @@ public class JingleFileTransferProvider
builder = JingleFileTransferChild.getBuilder();
break;
- case JingleFileTransfer.ELEMENT:
+ case JingleContentDescription.ELEMENT:
return new JingleFileTransfer(payloads);
}
break;
diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/mam/MamManager.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/mam/MamManager.java
index f3477bdd4..9bbbe301e 100644
--- a/smack-experimental/src/main/java/org/jivesoftware/smackx/mam/MamManager.java
+++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/mam/MamManager.java
@@ -43,6 +43,7 @@ import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.packet.Stanza;
import org.jivesoftware.smack.util.Objects;
import org.jivesoftware.smack.util.StringUtils;
+
import org.jivesoftware.smackx.commands.AdHocCommandManager;
import org.jivesoftware.smackx.commands.RemoteCommand;
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager;
diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/mam/element/MamElements.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/mam/element/MamElements.java
index 540ffe774..034245a5a 100644
--- a/smack-experimental/src/main/java/org/jivesoftware/smackx/mam/element/MamElements.java
+++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/mam/element/MamElements.java
@@ -140,7 +140,7 @@ public class MamElements {
}
public static MamResultExtension from(Message message) {
- return (MamResultExtension) message.getExtension(ELEMENT, NAMESPACE);
+ return (MamResultExtension) message.getExtensionElement(ELEMENT, NAMESPACE);
}
}
diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/message_markup/provider/MarkupElementProvider.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/message_markup/provider/MarkupElementProvider.java
index c7aae6ce1..58210c59a 100644
--- a/smack-experimental/src/main/java/org/jivesoftware/smackx/message_markup/provider/MarkupElementProvider.java
+++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/message_markup/provider/MarkupElementProvider.java
@@ -32,6 +32,7 @@ import org.jivesoftware.smackx.message_markup.element.BlockQuoteElement;
import org.jivesoftware.smackx.message_markup.element.CodeBlockElement;
import org.jivesoftware.smackx.message_markup.element.ListElement;
import org.jivesoftware.smackx.message_markup.element.MarkupElement;
+import org.jivesoftware.smackx.message_markup.element.MarkupElement.MarkupChildElement;
import org.jivesoftware.smackx.message_markup.element.SpanElement;
public class MarkupElementProvider extends ExtensionElementProvider {
@@ -55,26 +56,26 @@ public class MarkupElementProvider extends ExtensionElementProvider();
- spanStart = ParserUtils.getIntegerAttributeOrThrow(parser, SpanElement.ATTR_START,
+ spanStart = ParserUtils.getIntegerAttributeOrThrow(parser, MarkupChildElement.ATTR_START,
"Message Markup SpanElement MUST contain a 'start' attribute.");
- spanEnd = ParserUtils.getIntegerAttributeOrThrow(parser, SpanElement.ATTR_END,
+ spanEnd = ParserUtils.getIntegerAttributeOrThrow(parser, MarkupChildElement.ATTR_END,
"Message Markup SpanElement MUST contain a 'end' attribute.");
break;
@@ -92,14 +93,14 @@ public class MarkupElementProvider extends ExtensionElementProvider();
- listStart = ParserUtils.getIntegerAttributeOrThrow(parser, ListElement.ATTR_START,
+ listStart = ParserUtils.getIntegerAttributeOrThrow(parser, MarkupChildElement.ATTR_START,
"Message Markup ListElement MUST contain a 'start' attribute.");
- listEnd = ParserUtils.getIntegerAttributeOrThrow(parser, ListElement.ATTR_END,
+ listEnd = ParserUtils.getIntegerAttributeOrThrow(parser, MarkupChildElement.ATTR_END,
"Message Markup ListElement MUST contain a 'end' attribute.");
break;
case ListElement.ELEM_LI:
- start = ParserUtils.getIntegerAttributeOrThrow(parser, ListElement.ATTR_START,
+ start = ParserUtils.getIntegerAttributeOrThrow(parser, MarkupChildElement.ATTR_START,
"Message Markup ListElement 'li' MUST contain a 'start' attribute.");
lis.add(new ListElement.ListEntryElement(start));
break;
diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/muclight/MultiUserChatLight.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/muclight/MultiUserChatLight.java
index 6ada795b3..ba001f38c 100644
--- a/smack-experimental/src/main/java/org/jivesoftware/smackx/muclight/MultiUserChatLight.java
+++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/muclight/MultiUserChatLight.java
@@ -147,7 +147,6 @@ public class MultiUserChatLight {
* for the newly created chat.
* @return new Chat for sending private messages to a given room occupant.
*/
- @SuppressWarnings("deprecation")
@Deprecated
// Do not re-use Chat API, which was designed for XMPP-IM 1:1 chats and not MUClight private chats.
public org.jivesoftware.smack.chat.Chat createPrivateChat(EntityJid occupant, ChatMessageListener listener) {
diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/muclight/element/MUCLightElements.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/muclight/element/MUCLightElements.java
index ba14e5f62..33861b29e 100644
--- a/smack-experimental/src/main/java/org/jivesoftware/smackx/muclight/element/MUCLightElements.java
+++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/muclight/element/MUCLightElements.java
@@ -233,7 +233,7 @@ public abstract class MUCLightElements {
}
public static ConfigurationsChangeExtension from(Message message) {
- return (ConfigurationsChangeExtension) message.getExtension(ConfigurationsChangeExtension.ELEMENT, ConfigurationsChangeExtension.NAMESPACE);
+ return (ConfigurationsChangeExtension) message.getExtensionElement(ConfigurationsChangeExtension.ELEMENT, ConfigurationsChangeExtension.NAMESPACE);
}
}
diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/sid/element/OriginIdElement.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/sid/element/OriginIdElement.java
index 10282b70b..585be47a6 100644
--- a/smack-experimental/src/main/java/org/jivesoftware/smackx/sid/element/OriginIdElement.java
+++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/sid/element/OriginIdElement.java
@@ -82,7 +82,7 @@ public class OriginIdElement extends StableAndUniqueIdElement {
* @return origin-id element
*/
public static OriginIdElement getOriginId(Message message) {
- return (OriginIdElement) message.getExtension(OriginIdElement.ELEMENT, StableUniqueStanzaIdManager.NAMESPACE);
+ return (OriginIdElement) message.getExtensionElement(OriginIdElement.ELEMENT, StableUniqueStanzaIdManager.NAMESPACE);
}
@Override
diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/sid/provider/OriginIdProvider.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/sid/provider/OriginIdProvider.java
index 166c7d630..6b8a851c5 100644
--- a/smack-experimental/src/main/java/org/jivesoftware/smackx/sid/provider/OriginIdProvider.java
+++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/sid/provider/OriginIdProvider.java
@@ -21,6 +21,7 @@ import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.sid.element.OriginIdElement;
+import org.jivesoftware.smackx.sid.element.StableAndUniqueIdElement;
public class OriginIdProvider extends ExtensionElementProvider {
@@ -32,6 +33,6 @@ public class OriginIdProvider extends ExtensionElementProvider
@Override
public OriginIdElement parse(XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment) {
- return new OriginIdElement(parser.getAttributeValue(null, OriginIdElement.ATTR_ID));
+ return new OriginIdElement(parser.getAttributeValue(null, StableAndUniqueIdElement.ATTR_ID));
}
}
diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/sid/provider/StanzaIdProvider.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/sid/provider/StanzaIdProvider.java
index a45d34289..21d451a76 100644
--- a/smack-experimental/src/main/java/org/jivesoftware/smackx/sid/provider/StanzaIdProvider.java
+++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/sid/provider/StanzaIdProvider.java
@@ -20,6 +20,7 @@ import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
+import org.jivesoftware.smackx.sid.element.StableAndUniqueIdElement;
import org.jivesoftware.smackx.sid.element.StanzaIdElement;
public class StanzaIdProvider extends ExtensionElementProvider {
@@ -28,7 +29,7 @@ public class StanzaIdProvider extends ExtensionElementProvider
@Override
public StanzaIdElement parse(XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment) {
- String id = parser.getAttributeValue(null, StanzaIdElement.ATTR_ID);
+ String id = parser.getAttributeValue(null, StableAndUniqueIdElement.ATTR_ID);
String by = parser.getAttributeValue(null, StanzaIdElement.ATTR_BY);
return new StanzaIdElement(id, by);
}
diff --git a/smack-experimental/src/test/java/org/jivesoftware/smackx/hashes/HashTest.java b/smack-experimental/src/test/java/org/jivesoftware/smackx/hashes/HashTest.java
index 91a9852e7..355f1a45a 100644
--- a/smack-experimental/src/test/java/org/jivesoftware/smackx/hashes/HashTest.java
+++ b/smack-experimental/src/test/java/org/jivesoftware/smackx/hashes/HashTest.java
@@ -18,12 +18,9 @@ package org.jivesoftware.smackx.hashes;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import java.security.Security;
-
import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.util.StringUtils;
-import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.junit.jupiter.api.Test;
/**
@@ -33,10 +30,6 @@ import org.junit.jupiter.api.Test;
*/
public class HashTest extends SmackTestSuite {
- static {
- Security.addProvider(new BouncyCastleProvider());
- }
-
private static final String testString = "Hello World!";
private static final String md5sum = "ed076287532e86365e841e92bfc50d8c";
private static final String sha1sum = "2ef7bde608ce5404e97d5f042f95f89f1c232871";
diff --git a/smack-experimental/src/test/java/org/jivesoftware/smackx/mam/MamTest.java b/smack-experimental/src/test/java/org/jivesoftware/smackx/mam/MamTest.java
index 9c79c34e3..6dd2f8e73 100644
--- a/smack-experimental/src/test/java/org/jivesoftware/smackx/mam/MamTest.java
+++ b/smack-experimental/src/test/java/org/jivesoftware/smackx/mam/MamTest.java
@@ -21,13 +21,13 @@ import java.lang.reflect.Method;
import org.jivesoftware.smack.DummyConnection;
import org.jivesoftware.smack.XMPPConnection;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.xdata.packet.DataForm;
import org.junit.jupiter.api.BeforeAll;
-public class MamTest extends InitExtensions {
+public class MamTest extends SmackTestSuite {
protected static XMPPConnection connection;
protected static String queryId;
diff --git a/smack-experimental/src/test/java/org/jivesoftware/smackx/spoiler/SpoilerTest.java b/smack-experimental/src/test/java/org/jivesoftware/smackx/spoiler/SpoilerTest.java
index 33104f575..165c4be40 100644
--- a/smack-experimental/src/test/java/org/jivesoftware/smackx/spoiler/SpoilerTest.java
+++ b/smack-experimental/src/test/java/org/jivesoftware/smackx/spoiler/SpoilerTest.java
@@ -44,7 +44,7 @@ public class SpoilerTest extends SmackTestSuite {
Message message = StanzaBuilder.buildMessage().build();
SpoilerElement.addSpoiler(message);
- SpoilerElement empty = (SpoilerElement) message.getExtension(SpoilerElement.ELEMENT, SpoilerManager.NAMESPACE_0);
+ SpoilerElement empty = (SpoilerElement) message.getExtensionElement(SpoilerElement.ELEMENT, SpoilerManager.NAMESPACE_0);
assertNull(empty.getHint());
assertNull(empty.getLanguage());
@@ -63,7 +63,7 @@ public class SpoilerTest extends SmackTestSuite {
Message message = StanzaBuilder.buildMessage().build();
SpoilerElement.addSpoiler(message, "Love story end");
- SpoilerElement withHint = (SpoilerElement) message.getExtension(SpoilerElement.ELEMENT, SpoilerManager.NAMESPACE_0);
+ SpoilerElement withHint = (SpoilerElement) message.getExtensionElement(SpoilerElement.ELEMENT, SpoilerManager.NAMESPACE_0);
assertEquals("Love story end", withHint.getHint());
assertNull(withHint.getLanguage());
@@ -83,7 +83,7 @@ public class SpoilerTest extends SmackTestSuite {
Message message = StanzaBuilder.buildMessage().build();
SpoilerElement.addSpoiler(message, "de", "Der Kuchen ist eine Lüge!");
- SpoilerElement i18nHint = (SpoilerElement) message.getExtension(SpoilerElement.ELEMENT, SpoilerManager.NAMESPACE_0);
+ SpoilerElement i18nHint = (SpoilerElement) message.getExtensionElement(SpoilerElement.ELEMENT, SpoilerManager.NAMESPACE_0);
assertEquals("Der Kuchen ist eine Lüge!", i18nHint.getHint());
assertEquals("de", i18nHint.getLanguage());
diff --git a/smack-extensions/build.gradle b/smack-extensions/build.gradle
index 0083169ae..6f56016ce 100644
--- a/smack-extensions/build.gradle
+++ b/smack-extensions/build.gradle
@@ -10,5 +10,6 @@ dependencies {
// Some implementations need APIs provided by smack-im,
// e.g. message delivery receipts the roster
compile project(':smack-im')
- testCompile project(path: ":smack-core", configuration: "testRuntime")
+ testFixturesApi(testFixtures(project(":smack-core")))
+ //testCompile project(path: ":smack-core", configuration: "testRuntime")
}
diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/bob/element/BoBExtension.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/bob/element/BoBExtension.java
index a0ee8af9e..442474fa1 100644
--- a/smack-extensions/src/main/java/org/jivesoftware/smackx/bob/element/BoBExtension.java
+++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/bob/element/BoBExtension.java
@@ -91,7 +91,7 @@ public class BoBExtension extends XHTMLExtension {
}
public static BoBExtension from(Message message) {
- return (BoBExtension) message.getExtension(ELEMENT, NAMESPACE);
+ return (BoBExtension) message.getExtensionElement(ELEMENT, NAMESPACE);
}
}
diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/GeoLocationListener.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/GeoLocationListener.java
new file mode 100644
index 000000000..8b1259ec7
--- /dev/null
+++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/GeoLocationListener.java
@@ -0,0 +1,26 @@
+/**
+ *
+ * Copyright 2020 Aditya Borikar.
+ *
+ * Licensed 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.
+ */
+package org.jivesoftware.smackx.geoloc;
+
+import org.jivesoftware.smack.packet.Message;
+import org.jivesoftware.smackx.geoloc.packet.GeoLocation;
+
+import org.jxmpp.jid.BareJid;
+
+public interface GeoLocationListener {
+ void onGeoLocationUpdated(BareJid jid, GeoLocation geoLocation, Message message);
+}
diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/GeoLocationManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/GeoLocationManager.java
index a12d975d1..3dbee6589 100644
--- a/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/GeoLocationManager.java
+++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/GeoLocationManager.java
@@ -16,9 +16,13 @@
*/
package org.jivesoftware.smackx.geoloc;
+import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.WeakHashMap;
+import java.util.concurrent.CopyOnWriteArraySet;
+import org.jivesoftware.smack.AsyncButOrdered;
import org.jivesoftware.smack.ConnectionCreationListener;
import org.jivesoftware.smack.Manager;
import org.jivesoftware.smack.SmackException.NoResponseException;
@@ -26,22 +30,53 @@ import org.jivesoftware.smack.SmackException.NotConnectedException;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPConnectionRegistry;
import org.jivesoftware.smack.XMPPException.XMPPErrorException;
+import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.packet.Message;
-
+import org.jivesoftware.smackx.disco.ServiceDiscoveryManager;
import org.jivesoftware.smackx.geoloc.packet.GeoLocation;
import org.jivesoftware.smackx.geoloc.provider.GeoLocationProvider;
-import org.jivesoftware.smackx.pubsub.LeafNode;
+import org.jivesoftware.smackx.pep.PepListener;
+import org.jivesoftware.smackx.pep.PepManager;
+import org.jivesoftware.smackx.pubsub.EventElement;
+import org.jivesoftware.smackx.pubsub.ItemsExtension;
import org.jivesoftware.smackx.pubsub.PayloadItem;
import org.jivesoftware.smackx.pubsub.PubSubException.NotALeafNodeException;
-import org.jivesoftware.smackx.pubsub.PubSubManager;
import org.jivesoftware.smackx.xdata.provider.FormFieldChildElementProviderManager;
+import org.jxmpp.jid.BareJid;
+import org.jxmpp.jid.EntityBareJid;
import org.jxmpp.jid.Jid;
+/**
+ * Entry point for Smacks API for XEP-0080: User Location.
+ *
+ * To publish a UserLocation, please use {@link #sendGeolocation(GeoLocation)} method. This will publish the node.
+ *
+ * To stop publishing a UserLocation, please use {@link #stopPublishingGeolocation()} method. This will send a disble publishing signal.
+ *
+ * To add a {@link GeoLocationListener} in order to remain updated with other users GeoLocation, use {@link #addGeoLocationListener(GeoLocationListener)} method.
+ *
+ * To link a GeoLocation with {@link Message}, use `message.addExtension(geoLocation)`.
+ *
+ * An example for illustration is provided inside GeoLocationTest inside the test package.
+ *
+ * @see
+ * XEP-0080: User Location
+ */
public final class GeoLocationManager extends Manager {
+ public static final String GEOLOCATION_NODE = "http://jabber.org/protocol/geoloc";
+ public static final String GEOLOCATION_NOTIFY = GEOLOCATION_NODE + "+notify";
+
private static final Map INSTANCES = new WeakHashMap<>();
+ private static boolean ENABLE_USER_LOCATION_NOTIFICATIONS_BY_DEFAULT = true;
+
+ private final Set geoLocationListeners = new CopyOnWriteArraySet<>();
+ private final AsyncButOrdered asyncButOrdered = new AsyncButOrdered();
+ private final ServiceDiscoveryManager serviceDiscoveryManager;
+ private final PepManager pepManager;
+
static {
FormFieldChildElementProviderManager.addFormFieldChildElementProvider(
GeoLocationProvider.GeoLocationFormFieldChildElementProvider.INSTANCE);
@@ -54,11 +89,6 @@ public final class GeoLocationManager extends Manager {
});
}
- public GeoLocationManager(XMPPConnection connection) {
- super(connection);
-
- }
-
/**
* Retrieves a {@link GeoLocationManager} for the specified {@link XMPPConnection}, creating one if it doesn't
* already exist.
@@ -75,6 +105,36 @@ public final class GeoLocationManager extends Manager {
return geoLocationManager;
}
+ private GeoLocationManager(XMPPConnection connection) {
+ super(connection);
+ pepManager = PepManager.getInstanceFor(connection);
+ pepManager.addPepListener(new PepListener() {
+
+ @Override
+ public void eventReceived(EntityBareJid from, EventElement event, Message message) {
+ if (!GEOLOCATION_NODE.equals(event.getEvent().getNode())) {
+ return;
+ }
+
+ final BareJid contact = from.asBareJid();
+ asyncButOrdered.performAsyncButOrdered(contact, () -> {
+ ItemsExtension itemsExtension = (ItemsExtension) event.getEvent();
+ List items = itemsExtension.getExtensions();
+ @SuppressWarnings("unchecked")
+ PayloadItem payload = (PayloadItem) items.get(0);
+ GeoLocation geoLocation = payload.getPayload();
+ for (GeoLocationListener listener : geoLocationListeners) {
+ listener.onGeoLocationUpdated(contact, geoLocation, message);
+ }
+ });
+ }
+ });
+ serviceDiscoveryManager = ServiceDiscoveryManager.getInstanceFor(connection);
+ if (ENABLE_USER_LOCATION_NOTIFICATIONS_BY_DEFAULT) {
+ enableUserLocationNotifications();
+ }
+ }
+
public void sendGeoLocationToJid(GeoLocation geoLocation, Jid jid) throws InterruptedException,
NotConnectedException {
@@ -111,7 +171,7 @@ public final class GeoLocationManager extends Manager {
*/
public void sendGeolocation(GeoLocation geoLocation)
throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException, NotALeafNodeException {
- getNode().publish(new PayloadItem(geoLocation));
+ pepManager.publish(GeoLocation.NAMESPACE, new PayloadItem(geoLocation));
}
/**
@@ -125,13 +185,25 @@ public final class GeoLocationManager extends Manager {
*/
public void stopPublishingGeolocation()
throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException, NotALeafNodeException {
- GeoLocation emptyGeolocation = new GeoLocation.Builder().build();
- getNode().publish(new PayloadItem(emptyGeolocation));
+ pepManager.publish(GeoLocation.NAMESPACE, new PayloadItem(GeoLocation.EMPTY_GEO_LOCATION));
}
- private LeafNode getNode()
- throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException, NotALeafNodeException {
- return PubSubManager.getInstanceFor(connection()).getOrCreateLeafNode(GeoLocation.NAMESPACE);
+ public static void setGeoLocationNotificationsEnabledByDefault(boolean bool) {
+ ENABLE_USER_LOCATION_NOTIFICATIONS_BY_DEFAULT = bool;
}
+ public void enableUserLocationNotifications() {
+ serviceDiscoveryManager.addFeature(GEOLOCATION_NOTIFY);
+ }
+
+ public void disableGeoLocationNotifications() {
+ serviceDiscoveryManager.removeFeature(GEOLOCATION_NOTIFY);
+ }
+
+ public boolean addGeoLocationListener(GeoLocationListener geoLocationListener) {
+ return geoLocationListeners.add(geoLocationListener);
+ }
+ public boolean removeGeoLocationListener(GeoLocationListener geoLocationListener) {
+ return geoLocationListeners.remove(geoLocationListener);
+ }
}
diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/packet/GeoLocation.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/packet/GeoLocation.java
index 0b7b823fa..3cf633ee8 100644
--- a/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/packet/GeoLocation.java
+++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/packet/GeoLocation.java
@@ -48,6 +48,8 @@ public final class GeoLocation implements Serializable, ExtensionElement, FormFi
public static final QName QNAME = new QName(NAMESPACE, ELEMENT);
+ public static final GeoLocation EMPTY_GEO_LOCATION = GeoLocation.builder().build();
+
private static final Logger LOGGER = Logger.getLogger(GeoLocation.class.getName());
private final Double accuracy;
@@ -264,6 +266,10 @@ public final class GeoLocation implements Serializable, ExtensionElement, FormFi
return NAMESPACE;
}
+ /**
+ * Returns a new instance of {@link Builder}.
+ * @return Builder
+ */
public static Builder builder() {
return new GeoLocation.Builder();
}
@@ -273,14 +279,35 @@ public final class GeoLocation implements Serializable, ExtensionElement, FormFi
return true;
}
+ /**
+ * Returns the first GeoLocation, or null
if it doesn't exist in {@link Message}.
+ *
+ * @param message The Message stanza containing GeoLocation
+ * @return GeoLocation
+ */
public static GeoLocation from(Message message) {
return message.getExtension(GeoLocation.class);
}
+ /**
+ * Returns the first GeoLocation, or null
if it doesn't exist in {@link FormField}.
+ *
+ * @param formField the Formfield containing GeoLocation
+ * @return GeoLocation
+ */
public static GeoLocation from(FormField formField) {
return (GeoLocation) formField.getFormFieldChildElement(QNAME);
}
+ /**
+ * This class defines a builder class for {@link GeoLocation}.
+ *
+ * {@link GeoLocation} instance can be obtained using {@link #build()} method as follows.
+ * GeoLocation.Builder builder = GeoLocation.builder();
+ * GeoLocation geoLocation = builder.build();
+ *
+ * To set GeoLocation parameters, use their respective setters.
+ */
public static class Builder {
private Double accuracy;
@@ -308,133 +335,285 @@ public final class GeoLocation implements Serializable, ExtensionElement, FormFi
private String tzo;
private URI uri;
+ /**
+ * Sets accuracy of horizontal GPS error in meters.
+ *
+ * @param accuracy accuracy in meters
+ * @return Builder
+ */
public Builder setAccuracy(Double accuracy) {
this.accuracy = accuracy;
return this;
}
+ /**
+ * Sets Altitude in meters above or below sea level.
+ *
+ * @param alt altitude in meters
+ * @return Builder
+ */
public Builder setAlt(Double alt) {
this.alt = alt;
return this;
}
+ /**
+ * Sets Vertical GPS error in meters.
+ *
+ * @param altAccuracy altAccuracy in meters
+ * @return Builder
+ */
public Builder setAltAccuracy(Double altAccuracy) {
this.altAccuracy = altAccuracy;
return this;
}
+ /**
+ * Sets a named area such as a campus or neighborhood.
+ *
+ * @param area the named area
+ * @return Builder
+ */
public Builder setArea(String area) {
this.area = area;
return this;
}
+ /**
+ * Sets GPS bearing (direction in which the entity is heading
+ * to reach its next waypoint), measured in decimal degrees,
+ * relative to true north.
+ *
+ * @param bearing bearing in decimal degrees
+ * @return Builder
+ */
public Builder setBearing(Double bearing) {
this.bearing = bearing;
return this;
}
+ /**
+ * Sets a specific building on a street or in an area.
+ *
+ * @param building name of the building
+ * @return Builder
+ */
public Builder setBuilding(String building) {
this.building = building;
return this;
}
+ /**
+ * Sets the nation where the user is located.
+ *
+ * @param country user's country of location
+ * @return Builder
+ */
public Builder setCountry(String country) {
this.country = country;
return this;
}
+ /**
+ * Sets The ISO 3166 two-letter country code.
+ *
+ * @param countryCode two-letter country code
+ * @return Builder
+ */
public Builder setCountryCode(String countryCode) {
this.countryCode = countryCode;
return this;
}
+ /**
+ * Sets GPS Datum.
+ *
+ * @param datum GPS datum
+ * @return Builder
+ */
public Builder setDatum(String datum) {
this.datum = datum;
return this;
}
+ /**
+ * Sets A natural-language name for or description of the location.
+ *
+ * @param description description of the location
+ * @return Builder
+ */
public Builder setDescription(String description) {
this.description = description;
return this;
}
+ /**
+ * Sets Horizontal GPS error in arc minutes;
+ * this element is deprecated in favor of accuracy.
+ *
+ * @param error error in arc minutes
+ * @return Builder
+ */
public Builder setError(Double error) {
this.error = error;
return this;
}
+ /**
+ * Sets a particular floor in a building.
+ *
+ * @param floor floor in a building
+ * @return Builder
+ */
public Builder setFloor(String floor) {
this.floor = floor;
return this;
}
+ /**
+ * Sets Latitude in decimal degrees North.
+ *
+ * @param lat latitude in decimal degrees
+ * @return Builder
+ */
public Builder setLat(Double lat) {
this.lat = lat;
return this;
}
+ /**
+ * Sets Locality within the administrative region,
+ * such as a town or city.
+ *
+ * @param locality locality in a region
+ * @return Builder
+ */
public Builder setLocality(String locality) {
this.locality = locality;
return this;
}
+ /**
+ * Sets Longitude in decimal degrees East.
+ *
+ * @param lon longitude in decimal degrees
+ * @return Builder
+ */
public Builder setLon(Double lon) {
this.lon = lon;
return this;
}
+ /**
+ * Sets PostalCode used for postal delivery.
+ *
+ * @param postalcode code for postal delivery
+ * @return Builder
+ */
public Builder setPostalcode(String postalcode) {
this.postalcode = postalcode;
return this;
}
+ /**
+ * Sets an administrative region of the nation,
+ * such as a state or province.
+ *
+ * @param region an administrative region
+ * @return Builder
+ */
public Builder setRegion(String region) {
this.region = region;
return this;
}
+ /**
+ * Sets a particular room in a building.
+ *
+ * @param room room inside a building
+ * @return Builder
+ */
public Builder setRoom(String room) {
this.room = room;
return this;
}
+ /**
+ * Sets Speed at which the entity is moving, in meters per second.
+ *
+ * @param speed speed in meters per second
+ * @return Builder
+ */
public Builder setSpeed(Double speed) {
this.speed = speed;
return this;
}
+ /**
+ * Sets a thoroughfare within the locality, or a crossing of two thoroughfares.
+ *
+ * @param street name of the street
+ * @return Builder
+ */
public Builder setStreet(String street) {
this.street = street;
return this;
}
+ /**
+ * Sets a catch-all element that captures any other information about the location.
+ *
+ * @param text distinctive feature about the location
+ * @return Builder
+ */
public Builder setText(String text) {
this.text = text;
return this;
}
+ /**
+ * Sets UTC timestamp specifying the moment when the reading was taken.
+ *
+ * @param timestamp timestamp of the reading
+ * @return Builder
+ */
public Builder setTimestamp(Date timestamp) {
this.timestamp = timestamp;
return this;
}
+ /**
+ * Sets the time zone offset from UTC for the current location.
+ *
+ * @param tzo time zone offset
+ * @return Builder
+ */
public Builder setTzo(String tzo) {
this.tzo = tzo;
return this;
}
+ /**
+ * Sets URI or URL pointing to information about the location.
+ *
+ * @param uri uri to the location
+ * @return Builder
+ */
public Builder setUri(URI uri) {
this.uri = uri;
return this;
}
+ /**
+ * This method is called to build {@link GeoLocation} from the Builder.
+ *
+ * @return GeoLocation
+ */
public GeoLocation build() {
return new GeoLocation(accuracy, alt, altAccuracy, area, bearing, building, country, countryCode, datum, description,
error, floor, lat, locality, lon, postalcode, region, room, speed, street, text, timestamp,
tzo, uri);
}
-
}
-
}
diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/transports/jingle_s5b/provider/JingleS5BTransportProvider.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/transports/jingle_s5b/provider/JingleS5BTransportProvider.java
index 153fee447..7f85961db 100644
--- a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/transports/jingle_s5b/provider/JingleS5BTransportProvider.java
+++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/transports/jingle_s5b/provider/JingleS5BTransportProvider.java
@@ -32,6 +32,7 @@ import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.jingle.element.JingleContentTransport;
+import org.jivesoftware.smackx.jingle.element.JingleContentTransportCandidate;
import org.jivesoftware.smackx.jingle.provider.JingleContentTransportProvider;
import org.jivesoftware.smackx.jingle.transports.jingle_s5b.elements.JingleS5BTransport;
import org.jivesoftware.smackx.jingle.transports.jingle_s5b.elements.JingleS5BTransportCandidate;
@@ -66,7 +67,7 @@ public class JingleS5BTransportProvider extends JingleContentTransportProvider payload = (PayloadItem) items.getItems().get(0);
+ PayloadItem> payload = (PayloadItem>) items.getItems().get(0);
MoodElement mood = (MoodElement) payload.getPayload();
for (MoodListener listener : moodListeners) {
diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/mood/provider/MoodProvider.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/mood/provider/MoodProvider.java
index c9814b091..e23234d69 100644
--- a/smack-extensions/src/main/java/org/jivesoftware/smackx/mood/provider/MoodProvider.java
+++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/mood/provider/MoodProvider.java
@@ -57,7 +57,7 @@ public class MoodProvider extends ExtensionElementProvider {
if (!MoodElement.NAMESPACE.equals(namespace)) {
LOGGER.log(Level.FINE, "Foreign namespace " + namespace + " detected. Try to find suitable MoodConcretisationProvider.");
- MoodConcretisationProvider> provider = (MoodConcretisationProvider) ProviderManager.getExtensionProvider(name, namespace);
+ MoodConcretisationProvider> provider = (MoodConcretisationProvider>) ProviderManager.getExtensionProvider(name, namespace);
if (provider != null) {
concretisation = provider.parse(parser);
} else {
diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/Occupant.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/Occupant.java
index babce3829..3e8884c64 100644
--- a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/Occupant.java
+++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/Occupant.java
@@ -53,7 +53,7 @@ public class Occupant {
}
Occupant(Presence presence) {
- MUCUser mucUser = (MUCUser) presence.getExtension("x",
+ MUCUser mucUser = (MUCUser) presence.getExtensionElement("x",
"http://jabber.org/protocol/muc#user");
MUCItem item = mucUser.getItem();
this.jid = item.getJid();
diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/LeafNode.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/LeafNode.java
index be658275e..a6eb39650 100644
--- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/LeafNode.java
+++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/LeafNode.java
@@ -236,7 +236,6 @@ public class LeafNode extends Node {
* @throws NoResponseException if there was no response from the remote entity.
* @deprecated use {@link #publish(Item)} instead.
*/
- @SuppressWarnings("unchecked")
@Deprecated
public void send(T item) throws NotConnectedException, InterruptedException, NoResponseException, XMPPErrorException {
publish(item);
diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/Node.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/Node.java
index 2a43636b2..88decd520 100644
--- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/Node.java
+++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/Node.java
@@ -686,7 +686,7 @@ public abstract class Node {
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
public void processStanza(Stanza packet) {
- EventElement event = (EventElement) packet.getExtension("event", PubSubNamespace.event.getXmlns());
+ EventElement event = (EventElement) packet.getExtensionElement("event", PubSubNamespace.event.getXmlns());
ItemsExtension itemsElem = (ItemsExtension) event.getEvent();
ItemPublishEvent eventItems = new ItemPublishEvent(itemsElem.getNode(), itemsElem.getItems(), getSubscriptionIds(packet), DelayInformationManager.getDelayTimestamp(packet));
// TODO: Use AsyncButOrdered (with Node as Key?)
@@ -710,7 +710,7 @@ public abstract class Node {
@Override
public void processStanza(Stanza packet) {
// CHECKSTYLE:OFF
- EventElement event = (EventElement) packet.getExtension("event", PubSubNamespace.event.getXmlns());
+ EventElement event = (EventElement) packet.getExtensionElement("event", PubSubNamespace.event.getXmlns());
List extList = event.getExtensions();
@@ -749,7 +749,7 @@ public abstract class Node {
@Override
public void processStanza(Stanza packet) {
- EventElement event = (EventElement) packet.getExtension("event", PubSubNamespace.event.getXmlns());
+ EventElement event = (EventElement) packet.getExtensionElement("event", PubSubNamespace.event.getXmlns());
ConfigurationEvent config = (ConfigurationEvent) event.getEvent();
// TODO: Use AsyncButOrdered (with Node as Key?)
diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/PubSubManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/PubSubManager.java
index 420c36f5a..7d91e41ca 100644
--- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/PubSubManager.java
+++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/PubSubManager.java
@@ -503,7 +503,7 @@ public final class PubSubManager extends Manager {
*/
public List getSubscriptions() throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
Stanza reply = sendPubsubPacket(Type.get, new NodeExtension(PubSubElementType.SUBSCRIPTIONS), null);
- SubscriptionsExtension subElem = (SubscriptionsExtension) reply.getExtension(PubSubElementType.SUBSCRIPTIONS.getElementName(), PubSubElementType.SUBSCRIPTIONS.getNamespace().getXmlns());
+ SubscriptionsExtension subElem = (SubscriptionsExtension) reply.getExtensionElement(PubSubElementType.SUBSCRIPTIONS.getElementName(), PubSubElementType.SUBSCRIPTIONS.getNamespace().getXmlns());
return subElem.getSubscriptions();
}
diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/packet/PubSub.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/packet/PubSub.java
index e8a6f4749..a71410139 100644
--- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/packet/PubSub.java
+++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/packet/PubSub.java
@@ -51,7 +51,7 @@ public class PubSub extends IQ {
@SuppressWarnings("unchecked")
public PE getExtension(PubSubElementType elem) {
- return (PE) getExtension(elem.getElementName(), elem.getNamespace().getXmlns());
+ return (PE) getExtensionElement(elem.getElementName(), elem.getNamespace().getXmlns());
}
/**
diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/util/NodeUtils.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/util/NodeUtils.java
index 7b0d7e7f8..9d386e609 100644
--- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/util/NodeUtils.java
+++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/util/NodeUtils.java
@@ -37,7 +37,7 @@ public class NodeUtils {
* @return The configuration form
*/
public static ConfigureForm getFormFromPacket(Stanza packet, PubSubElementType elem) {
- FormNode config = (FormNode) packet.getExtension(elem.getElementName(), elem.getNamespace().getXmlns());
+ FormNode config = (FormNode) packet.getExtensionElement(elem.getElementName(), elem.getNamespace().getXmlns());
Form formReply = config.getForm();
return new ConfigureForm(formReply);
}
diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/rsm/packet/RSMSet.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/rsm/packet/RSMSet.java
index e96f74bea..cd3703938 100644
--- a/smack-extensions/src/main/java/org/jivesoftware/smackx/rsm/packet/RSMSet.java
+++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/rsm/packet/RSMSet.java
@@ -151,7 +151,7 @@ public class RSMSet implements ExtensionElement {
}
public static RSMSet from(Stanza packet) {
- return (RSMSet) packet.getExtension(ELEMENT, NAMESPACE);
+ return (RSMSet) packet.getExtensionElement(ELEMENT, NAMESPACE);
}
public static RSMSet newAfter(String after) {
diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/xhtmlim/XHTMLManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/xhtmlim/XHTMLManager.java
index 6a72b855c..de2def875 100644
--- a/smack-extensions/src/main/java/org/jivesoftware/smackx/xhtmlim/XHTMLManager.java
+++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/xhtmlim/XHTMLManager.java
@@ -89,7 +89,7 @@ public class XHTMLManager {
* @return a boolean indicating whether the message is an XHTML message
*/
public static boolean isXHTMLMessage(Message message) {
- return message.getExtension(XHTMLExtension.ELEMENT, XHTMLExtension.NAMESPACE) != null;
+ return message.getExtensionElement(XHTMLExtension.ELEMENT, XHTMLExtension.NAMESPACE) != null;
}
/**
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/attention/AttentionElementTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/attention/AttentionElementTest.java
index 52be8b713..dd01b7331 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/attention/AttentionElementTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/attention/AttentionElementTest.java
@@ -20,7 +20,7 @@ import static org.jivesoftware.smack.test.util.XmlUnitUtils.assertXmlSimilar;
import org.jivesoftware.smackx.attention.packet.AttentionExtension;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class AttentionElementTest {
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/CloseListenerTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/CloseListenerTest.java
index 4671209fd..081afe58b 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/CloseListenerTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/CloseListenerTest.java
@@ -23,22 +23,22 @@ import static org.mockito.Mockito.verify;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.StanzaError;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
+import org.jivesoftware.smack.test.util.Whitebox;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.bytestreams.ibb.packet.Close;
import org.junit.jupiter.api.Test;
import org.jxmpp.jid.Jid;
import org.jxmpp.jid.JidTestUtil;
import org.mockito.ArgumentCaptor;
-import org.powermock.reflect.Whitebox;
/**
* Test for the CloseListener class.
*
* @author Henning Staib
*/
-public class CloseListenerTest extends InitExtensions {
+public class CloseListenerTest extends SmackTestSuite {
private static final Jid initiatorJID = JidTestUtil.DUMMY_AT_EXAMPLE_ORG_SLASH_DUMMYRESOURCE;
private static final Jid targetJID = JidTestUtil.FULL_JID_1_RESOURCE_1;
@@ -59,7 +59,7 @@ public class CloseListenerTest extends InitExtensions {
InBandBytestreamManager byteStreamManager = InBandBytestreamManager.getByteStreamManager(connection);
// get the CloseListener from InBandByteStreamManager
- CloseListener closeListener = Whitebox.getInternalState(byteStreamManager,
+ CloseListener closeListener = Whitebox.getInternalState(byteStreamManager, "closeListener",
CloseListener.class);
Close close = new Close("unknownSessionId");
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/DataListenerTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/DataListenerTest.java
index 7e8d8e34f..effffd1c0 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/DataListenerTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/DataListenerTest.java
@@ -23,8 +23,9 @@ import static org.mockito.Mockito.verify;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.StanzaError;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
+import org.jivesoftware.smack.test.util.Whitebox;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.bytestreams.ibb.packet.Data;
import org.jivesoftware.smackx.bytestreams.ibb.packet.DataPacketExtension;
@@ -32,14 +33,13 @@ import org.junit.jupiter.api.Test;
import org.jxmpp.jid.Jid;
import org.jxmpp.jid.JidTestUtil;
import org.mockito.ArgumentCaptor;
-import org.powermock.reflect.Whitebox;
/**
* Test for the CloseListener class.
*
* @author Henning Staib
*/
-public class DataListenerTest extends InitExtensions {
+public class DataListenerTest extends SmackTestSuite {
private static final Jid initiatorJID = JidTestUtil.DUMMY_AT_EXAMPLE_ORG_SLASH_DUMMYRESOURCE;
private static final Jid targetJID = JidTestUtil.FULL_JID_1_RESOURCE_1;
@@ -60,7 +60,7 @@ public class DataListenerTest extends InitExtensions {
InBandBytestreamManager byteStreamManager = InBandBytestreamManager.getByteStreamManager(connection);
// get the DataListener from InBandByteStreamManager
- DataListener dataListener = Whitebox.getInternalState(byteStreamManager,
+ DataListener dataListener = Whitebox.getInternalState(byteStreamManager, "dataListener",
DataListener.class);
DataPacketExtension dpe = new DataPacketExtension("unknownSessionID", 0, "Data");
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamManagerTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamManagerTest.java
index bf3da6cae..36e62af46 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamManagerTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamManagerTest.java
@@ -29,8 +29,8 @@ import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.XMPPException.XMPPErrorException;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.StanzaError;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.bytestreams.ibb.InBandBytestreamManager.StanzaType;
import org.jivesoftware.smackx.bytestreams.ibb.packet.Open;
@@ -47,7 +47,7 @@ import org.jxmpp.jid.JidTestUtil;
*
* @author Henning Staib
*/
-public class InBandBytestreamManagerTest extends InitExtensions {
+public class InBandBytestreamManagerTest extends SmackTestSuite {
// settings
private static final EntityFullJid initiatorJID = JidTestUtil.DUMMY_AT_EXAMPLE_ORG_SLASH_DUMMYRESOURCE;
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamRequestTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamRequestTest.java
index 9eb9d1e7f..fe58b7fc3 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamRequestTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamRequestTest.java
@@ -25,8 +25,8 @@ import org.jivesoftware.smack.SmackException.NotConnectedException;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.StanzaError;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.bytestreams.ibb.packet.Open;
import org.junit.jupiter.api.BeforeEach;
@@ -40,7 +40,7 @@ import org.mockito.ArgumentCaptor;
*
* @author Henning Staib
*/
-public class InBandBytestreamRequestTest extends InitExtensions {
+public class InBandBytestreamRequestTest extends SmackTestSuite {
private static final Jid initiatorJID = JidTestUtil.DUMMY_AT_EXAMPLE_ORG_SLASH_DUMMYRESOURCE;
private static final Jid targetJID = JidTestUtil.FULL_JID_1_RESOURCE_1;
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamSessionMessageTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamSessionMessageTest.java
index a327204a8..678ede38f 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamSessionMessageTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamSessionMessageTest.java
@@ -32,9 +32,10 @@ import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.packet.StanzaBuilder;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
+import org.jivesoftware.smack.test.util.Whitebox;
import org.jivesoftware.smack.util.stringencoder.Base64;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.bytestreams.ibb.InBandBytestreamManager.StanzaType;
import org.jivesoftware.smackx.bytestreams.ibb.packet.DataPacketExtension;
import org.jivesoftware.smackx.bytestreams.ibb.packet.Open;
@@ -46,7 +47,6 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.jxmpp.jid.EntityFullJid;
import org.jxmpp.jid.JidTestUtil;
-import org.powermock.reflect.Whitebox;
/**
* Test for InBandBytestreamSession.
@@ -55,7 +55,7 @@ import org.powermock.reflect.Whitebox;
*
* @author Henning Staib
*/
-public class InBandBytestreamSessionMessageTest extends InitExtensions {
+public class InBandBytestreamSessionMessageTest extends SmackTestSuite {
// settings
private static final EntityFullJid initiatorJID = JidTestUtil.DUMMY_AT_EXAMPLE_ORG_SLASH_DUMMYRESOURCE;
@@ -262,7 +262,7 @@ public class InBandBytestreamSessionMessageTest extends InitExtensions {
InBandBytestreamSession session = new InBandBytestreamSession(connection, initBytestream,
initiatorJID);
InputStream inputStream = session.getInputStream();
- StanzaListener listener = Whitebox.getInternalState(inputStream, StanzaListener.class);
+ StanzaListener listener = Whitebox.getInternalState(inputStream, "dataPacketListener", StanzaListener.class);
// build invalid packet with out of order sequence
String base64Data = Base64.encode("Data");
@@ -303,7 +303,7 @@ public class InBandBytestreamSessionMessageTest extends InitExtensions {
InBandBytestreamSession session = new InBandBytestreamSession(connection, initBytestream,
initiatorJID);
InputStream inputStream = session.getInputStream();
- StanzaListener listener = Whitebox.getInternalState(inputStream, StanzaListener.class);
+ StanzaListener listener = Whitebox.getInternalState(inputStream, "dataPacketListener", StanzaListener.class);
// verify data packet and notify listener
for (int i = 0; i < controlData.length / blockSize; i++) {
@@ -349,7 +349,7 @@ public class InBandBytestreamSessionMessageTest extends InitExtensions {
InBandBytestreamSession session = new InBandBytestreamSession(connection, initBytestream,
initiatorJID);
InputStream inputStream = session.getInputStream();
- StanzaListener listener = Whitebox.getInternalState(inputStream, StanzaListener.class);
+ StanzaListener listener = Whitebox.getInternalState(inputStream, "dataPacketListener", StanzaListener.class);
// verify data packet and notify listener
for (int i = 0; i < controlData.length / blockSize; i++) {
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamSessionTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamSessionTest.java
index b1cd44c98..8a861cc32 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamSessionTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamSessionTest.java
@@ -31,9 +31,10 @@ import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.StanzaError;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
+import org.jivesoftware.smack.test.util.Whitebox;
import org.jivesoftware.smack.util.stringencoder.Base64;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.bytestreams.ibb.packet.Data;
import org.jivesoftware.smackx.bytestreams.ibb.packet.DataPacketExtension;
import org.jivesoftware.smackx.bytestreams.ibb.packet.Open;
@@ -45,7 +46,6 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.jxmpp.jid.EntityFullJid;
import org.jxmpp.jid.JidTestUtil;
-import org.powermock.reflect.Whitebox;
/**
* Test for InBandBytestreamSession.
@@ -55,7 +55,7 @@ import org.powermock.reflect.Whitebox;
*
* @author Henning Staib
*/
-public class InBandBytestreamSessionTest extends InitExtensions {
+public class InBandBytestreamSessionTest extends SmackTestSuite {
// settings
private static final EntityFullJid initiatorJID = JidTestUtil.DUMMY_AT_EXAMPLE_ORG_SLASH_DUMMYRESOURCE;
@@ -309,7 +309,7 @@ public class InBandBytestreamSessionTest extends InitExtensions {
// insert data to read
InputStream inputStream = session.getInputStream();
- StanzaListener listener = Whitebox.getInternalState(inputStream, StanzaListener.class);
+ StanzaListener listener = Whitebox.getInternalState(inputStream, "dataPacketListener", StanzaListener.class);
String base64Data = Base64.encode("Data");
DataPacketExtension dpe = new DataPacketExtension(sessionID, 0, base64Data);
Data data = new Data(dpe);
@@ -343,7 +343,7 @@ public class InBandBytestreamSessionTest extends InitExtensions {
InBandBytestreamSession session = new InBandBytestreamSession(connection, initBytestream,
initiatorJID);
InputStream inputStream = session.getInputStream();
- StanzaListener listener = Whitebox.getInternalState(inputStream, StanzaListener.class);
+ StanzaListener listener = Whitebox.getInternalState(inputStream, "dataPacketListener", StanzaListener.class);
String base64Data = Base64.encode("Data");
DataPacketExtension dpe = new DataPacketExtension(sessionID, 0, base64Data);
@@ -381,7 +381,7 @@ public class InBandBytestreamSessionTest extends InitExtensions {
InBandBytestreamSession session = new InBandBytestreamSession(connection, initBytestream,
initiatorJID);
InputStream inputStream = session.getInputStream();
- StanzaListener listener = Whitebox.getInternalState(inputStream, StanzaListener.class);
+ StanzaListener listener = Whitebox.getInternalState(inputStream, "dataPacketListener", StanzaListener.class);
// build data packets
String base64Data = Base64.encode("Data");
@@ -420,7 +420,7 @@ public class InBandBytestreamSessionTest extends InitExtensions {
InBandBytestreamSession session = new InBandBytestreamSession(connection, initBytestream,
initiatorJID);
InputStream inputStream = session.getInputStream();
- StanzaListener listener = Whitebox.getInternalState(inputStream, StanzaListener.class);
+ StanzaListener listener = Whitebox.getInternalState(inputStream, "dataPacketListener", StanzaListener.class);
// build data packets
DataPacketExtension dpe = new DataPacketExtension(sessionID, 0, "AA=BB");
@@ -454,7 +454,7 @@ public class InBandBytestreamSessionTest extends InitExtensions {
InBandBytestreamSession session = new InBandBytestreamSession(connection, initBytestream,
initiatorJID);
InputStream inputStream = session.getInputStream();
- StanzaListener listener = Whitebox.getInternalState(inputStream, StanzaListener.class);
+ StanzaListener listener = Whitebox.getInternalState(inputStream, "dataPacketListener", StanzaListener.class);
// build invalid packet with out of order sequence
String base64Data = Base64.encode("Data");
@@ -495,7 +495,7 @@ public class InBandBytestreamSessionTest extends InitExtensions {
InBandBytestreamSession session = new InBandBytestreamSession(connection, initBytestream,
initiatorJID);
InputStream inputStream = session.getInputStream();
- StanzaListener listener = Whitebox.getInternalState(inputStream, StanzaListener.class);
+ StanzaListener listener = Whitebox.getInternalState(inputStream, "dataPacketListener", StanzaListener.class);
// set data packet acknowledgment and notify listener
for (int i = 0; i < controlData.length / blockSize; i++) {
@@ -542,7 +542,7 @@ public class InBandBytestreamSessionTest extends InitExtensions {
InBandBytestreamSession session = new InBandBytestreamSession(connection, initBytestream,
initiatorJID);
InputStream inputStream = session.getInputStream();
- StanzaListener listener = Whitebox.getInternalState(inputStream, StanzaListener.class);
+ StanzaListener listener = Whitebox.getInternalState(inputStream, "dataPacketListener", StanzaListener.class);
// set data packet acknowledgment and notify listener
for (int i = 0; i < controlData.length / blockSize; i++) {
@@ -583,7 +583,7 @@ public class InBandBytestreamSessionTest extends InitExtensions {
InBandBytestreamSession session = new InBandBytestreamSession(connection, initBytestream,
initiatorJID);
InputStream inputStream = session.getInputStream();
- StanzaListener listener = Whitebox.getInternalState(inputStream, StanzaListener.class);
+ StanzaListener listener = Whitebox.getInternalState(inputStream, "dataPacketListener", StanzaListener.class);
// build data packet
String base64Data = Base64.encode("Data");
@@ -626,7 +626,7 @@ public class InBandBytestreamSessionTest extends InitExtensions {
InBandBytestreamSession session = new InBandBytestreamSession(connection, initBytestream,
initiatorJID);
final InputStream inputStream = session.getInputStream();
- StanzaListener listener = Whitebox.getInternalState(inputStream, StanzaListener.class);
+ StanzaListener listener = Whitebox.getInternalState(inputStream, "dataPacketListener", StanzaListener.class);
// build data packet
String base64Data = Base64.encode("Data");
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InitiationListenerTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InitiationListenerTest.java
index 3e8c6212c..3f4591212 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InitiationListenerTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InitiationListenerTest.java
@@ -24,8 +24,9 @@ import static org.mockito.Mockito.verify;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.StanzaError;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
+import org.jivesoftware.smack.test.util.Whitebox;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.bytestreams.BytestreamRequest;
import org.jivesoftware.smackx.bytestreams.ibb.packet.Open;
@@ -35,14 +36,13 @@ import org.jxmpp.jid.EntityFullJid;
import org.jxmpp.jid.JidTestUtil;
import org.jxmpp.jid.impl.JidCreate;
import org.mockito.ArgumentCaptor;
-import org.powermock.reflect.Whitebox;
/**
* Test for the InitiationListener class.
*
* @author Henning Staib
*/
-public class InitiationListenerTest extends InitExtensions {
+public class InitiationListenerTest extends SmackTestSuite {
private static final EntityFullJid initiatorJID = JidTestUtil.DUMMY_AT_EXAMPLE_ORG_SLASH_DUMMYRESOURCE;
private static final EntityFullJid targetJID = JidTestUtil.FULL_JID_1_RESOURCE_1;
@@ -66,7 +66,7 @@ public class InitiationListenerTest extends InitExtensions {
byteStreamManager = InBandBytestreamManager.getByteStreamManager(connection);
// get the InitiationListener from InBandByteStreamManager
- initiationListener = Whitebox.getInternalState(byteStreamManager, InitiationListener.class);
+ initiationListener = Whitebox.getInternalState(byteStreamManager, "initiationListener", InitiationListener.class);
// create a In-Band Bytestream open packet
initBytestream = new Open(sessionID, 4096);
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/packet/CloseTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/packet/CloseTest.java
index 4b5866d80..8fbb488fc 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/packet/CloseTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/packet/CloseTest.java
@@ -24,8 +24,7 @@ import java.util.Properties;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.StreamOpen;
-
-import org.jivesoftware.smackx.InitExtensions;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import com.jamesmurty.utils.XMLBuilder;
import org.junit.jupiter.api.Test;
@@ -36,7 +35,7 @@ import org.jxmpp.jid.impl.JidCreate;
*
* @author Henning Staib
*/
-public class CloseTest extends InitExtensions {
+public class CloseTest extends SmackTestSuite {
@Test
public void shouldNotInstantiateWithInvalidArguments1() {
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/packet/DataPacketExtensionTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/packet/DataPacketExtensionTest.java
index 4d2638ea7..3042ae07a 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/packet/DataPacketExtensionTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/packet/DataPacketExtensionTest.java
@@ -24,7 +24,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import java.nio.charset.StandardCharsets;
import java.util.Properties;
-import org.jivesoftware.smackx.InitExtensions;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import com.jamesmurty.utils.XMLBuilder;
import org.junit.jupiter.api.Test;
@@ -34,7 +34,7 @@ import org.junit.jupiter.api.Test;
*
* @author Henning Staib
*/
-public class DataPacketExtensionTest extends InitExtensions {
+public class DataPacketExtensionTest extends SmackTestSuite {
@Test
public void shouldNotInstantiateWithInvalidArgument1() {
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/packet/DataTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/packet/DataTest.java
index 453dd9ddd..aa24c043d 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/packet/DataTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/packet/DataTest.java
@@ -25,10 +25,9 @@ import java.util.Properties;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.StreamOpen;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.util.stringencoder.Base64;
-import org.jivesoftware.smackx.InitExtensions;
-
import com.jamesmurty.utils.XMLBuilder;
import org.junit.jupiter.api.Test;
import org.jxmpp.jid.impl.JidCreate;
@@ -38,7 +37,7 @@ import org.jxmpp.jid.impl.JidCreate;
*
* @author Henning Staib
*/
-public class DataTest extends InitExtensions {
+public class DataTest extends SmackTestSuite {
@Test
public void shouldNotInstantiateWithInvalidArgument() {
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/packet/OpenTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/packet/OpenTest.java
index 5d196fbb6..8206efbf2 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/packet/OpenTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/packet/OpenTest.java
@@ -24,12 +24,11 @@ import java.util.Properties;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.StreamOpen;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.bytestreams.ibb.InBandBytestreamManager.StanzaType;
import com.jamesmurty.utils.XMLBuilder;
-
import org.junit.jupiter.api.Test;
import org.jxmpp.jid.impl.JidCreate;
@@ -38,7 +37,7 @@ import org.jxmpp.jid.impl.JidCreate;
*
* @author Henning Staib
*/
-public class OpenTest extends InitExtensions {
+public class OpenTest extends SmackTestSuite {
@Test
public void shouldNotInstantiateWithInvalidArguments1() {
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/provider/OpenIQProviderTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/provider/OpenIQProviderTest.java
index ff39972a1..967b765a8 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/provider/OpenIQProviderTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/provider/OpenIQProviderTest.java
@@ -20,10 +20,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.Properties;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.bytestreams.ibb.InBandBytestreamManager.StanzaType;
import org.jivesoftware.smackx.bytestreams.ibb.packet.Open;
@@ -35,7 +35,7 @@ import org.junit.jupiter.api.Test;
*
* @author Henning Staib
*/
-public class OpenIQProviderTest extends InitExtensions {
+public class OpenIQProviderTest extends SmackTestSuite {
private static final Properties outputProperties = new Properties();
{
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/InitiationListenerTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/InitiationListenerTest.java
index 5093361b8..3bfe87bca 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/InitiationListenerTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/InitiationListenerTest.java
@@ -25,6 +25,7 @@ import static org.mockito.Mockito.verify;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.StanzaError;
+import org.jivesoftware.smack.test.util.Whitebox;
import org.jivesoftware.smackx.bytestreams.BytestreamRequest;
import org.jivesoftware.smackx.bytestreams.socks5.packet.Bytestream;
@@ -37,7 +38,6 @@ import org.jxmpp.jid.EntityFullJid;
import org.jxmpp.jid.JidTestUtil;
import org.jxmpp.jid.impl.JidCreate;
import org.mockito.ArgumentCaptor;
-import org.powermock.reflect.Whitebox;
/**
* Test for the InitiationListener class.
@@ -75,7 +75,7 @@ public class InitiationListenerTest {
byteStreamManager = Socks5BytestreamManager.getBytestreamManager(connection);
// get the InitiationListener from Socks5ByteStreamManager
- initiationListener = Whitebox.getInternalState(byteStreamManager, InitiationListener.class);
+ initiationListener = Whitebox.getInternalState(byteStreamManager, "initiationListener", InitiationListener.class);
// create a SOCKS5 Bytestream initiation packet
initBytestream = Socks5PacketUtils.createBytestreamInitiation(initiatorJID, targetJID,
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/Socks5ByteStreamManagerTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/Socks5ByteStreamManagerTest.java
index e25dd3d17..c2b748686 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/Socks5ByteStreamManagerTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/Socks5ByteStreamManagerTest.java
@@ -41,8 +41,8 @@ import org.jivesoftware.smack.XMPPException.XMPPErrorException;
import org.jivesoftware.smack.packet.ErrorIQ;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.StanzaError;
+import org.jivesoftware.smack.test.util.NetworkUtil;
import org.jivesoftware.smack.util.ExceptionUtil;
-import org.jivesoftware.smack.util.NetworkUtil;
import org.jivesoftware.smackx.bytestreams.socks5.packet.Bytestream;
import org.jivesoftware.smackx.bytestreams.socks5.packet.Bytestream.StreamHost;
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/Socks5ByteStreamRequestTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/Socks5ByteStreamRequestTest.java
index e8aa92f9f..5b764da5a 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/Socks5ByteStreamRequestTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/Socks5ByteStreamRequestTest.java
@@ -31,7 +31,7 @@ import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.Stanza;
import org.jivesoftware.smack.packet.StanzaError;
-import org.jivesoftware.smack.util.NetworkUtil;
+import org.jivesoftware.smack.test.util.NetworkUtil;
import org.jivesoftware.smackx.bytestreams.socks5.packet.Bytestream;
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/Socks5ClientTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/Socks5ClientTest.java
index 4f7a2810b..af2623e1d 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/Socks5ClientTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/Socks5ClientTest.java
@@ -28,7 +28,7 @@ import java.net.Socket;
import java.nio.charset.StandardCharsets;
import org.jivesoftware.smack.SmackException;
-import org.jivesoftware.smack.util.NetworkUtil;
+import org.jivesoftware.smack.test.util.NetworkUtil;
import org.jivesoftware.smackx.bytestreams.socks5.packet.Bytestream.StreamHost;
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/Socks5TestProxy.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/Socks5TestProxy.java
index 3d32ebd40..9788fba02 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/Socks5TestProxy.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/Socks5TestProxy.java
@@ -19,7 +19,7 @@ package org.jivesoftware.smackx.bytestreams.socks5;
import java.io.IOException;
import java.net.ServerSocket;
-import org.jivesoftware.smack.util.NetworkUtil;
+import org.jivesoftware.smack.test.util.NetworkUtil;
/**
* Simple SOCKS5 proxy for testing purposes. It is almost the same as the Socks5Proxy class but the
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/caps/EntityCapsManagerTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/caps/EntityCapsManagerTest.java
index dc58aa304..bd3985a17 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/caps/EntityCapsManagerTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/caps/EntityCapsManagerTest.java
@@ -26,11 +26,11 @@ import java.util.Collection;
import java.util.LinkedList;
import org.jivesoftware.smack.packet.IQ;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.util.StringUtils;
import org.jivesoftware.smack.util.stringencoder.Base32;
import org.jivesoftware.smack.util.stringencoder.StringEncoder;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.caps.cache.EntityCapsPersistentCache;
import org.jivesoftware.smackx.caps.cache.SimpleDirectoryPersistentCache;
import org.jivesoftware.smackx.disco.packet.DiscoverInfo;
@@ -43,7 +43,7 @@ import org.jxmpp.jid.impl.JidCreate;
import org.jxmpp.stringprep.XmppStringprepException;
-public class EntityCapsManagerTest extends InitExtensions {
+public class EntityCapsManagerTest extends SmackTestSuite {
/**
* XEP-
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/caps/provider/CapsExtensionProviderTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/caps/provider/CapsExtensionProviderTest.java
index 98bed5d3f..26f1c2dce 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/caps/provider/CapsExtensionProviderTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/caps/provider/CapsExtensionProviderTest.java
@@ -18,15 +18,15 @@ package org.jivesoftware.smackx.caps.provider;
import static org.junit.jupiter.api.Assertions.assertNotNull;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.test.util.SmackTestUtil;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.caps.packet.CapsExtension;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
-public class CapsExtensionProviderTest extends InitExtensions {
+public class CapsExtensionProviderTest extends SmackTestSuite {
@ParameterizedTest
@EnumSource(SmackTestUtil.XmlPullParserKind.class)
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/delay/provider/DelayInformationTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/delay/provider/DelayInformationTest.java
index c94c20055..afb45a63e 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/delay/provider/DelayInformationTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/delay/provider/DelayInformationTest.java
@@ -31,11 +31,11 @@ import java.util.TimeZone;
import javax.xml.parsers.FactoryConfigurationError;
import org.jivesoftware.smack.packet.Presence;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.delay.DelayInformationManager;
import org.jivesoftware.smackx.delay.packet.DelayInformation;
@@ -43,7 +43,7 @@ import com.jamesmurty.utils.XMLBuilder;
import org.junit.jupiter.api.Test;
import org.jxmpp.util.XmppDateTime;
-public class DelayInformationTest extends InitExtensions {
+public class DelayInformationTest extends SmackTestSuite {
private static final Calendar calendar = new GregorianCalendar(2002, 9 - 1, 10, 23, 8, 25);
private static Properties outputProperties = new Properties();
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/filetransfer/FileTransferNegotiatorTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/filetransfer/FileTransferNegotiatorTest.java
index b4a7164f2..065b8b589 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/filetransfer/FileTransferNegotiatorTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/filetransfer/FileTransferNegotiatorTest.java
@@ -21,8 +21,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import org.jivesoftware.smack.DummyConnection;
import org.jivesoftware.smack.SmackException.NoResponseException;
import org.jivesoftware.smack.packet.Stanza;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager;
import org.junit.jupiter.api.AfterEach;
@@ -30,7 +30,7 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.jxmpp.jid.JidTestUtil;
-public class FileTransferNegotiatorTest extends InitExtensions {
+public class FileTransferNegotiatorTest extends SmackTestSuite {
private DummyConnection connection;
@BeforeEach
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/geoloc/packet/GeoLocationTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/geoloc/packet/GeoLocationTest.java
index ec03015c2..f8af5da0b 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/geoloc/packet/GeoLocationTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/geoloc/packet/GeoLocationTest.java
@@ -24,9 +24,9 @@ import java.util.Calendar;
import java.util.TimeZone;
import org.jivesoftware.smack.packet.Message;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.util.PacketParserUtils;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.time.packet.Time;
import org.junit.jupiter.api.Test;
@@ -37,7 +37,7 @@ import org.jxmpp.util.XmppDateTime;
*
* @author Ishan Khanna
*/
-public class GeoLocationTest extends InitExtensions {
+public class GeoLocationTest extends SmackTestSuite {
@Test
public void negativeTimezoneTest() {
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/geoloc/provider/GeoLocationProviderTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/geoloc/provider/GeoLocationProviderTest.java
index 605e09dc7..01738fa3e 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/geoloc/provider/GeoLocationProviderTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/geoloc/provider/GeoLocationProviderTest.java
@@ -23,15 +23,15 @@ import static org.junit.jupiter.api.Assertions.assertNull;
import java.net.URI;
import org.jivesoftware.smack.packet.Message;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.util.PacketParserUtils;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.geoloc.packet.GeoLocation;
import org.junit.jupiter.api.Test;
import org.jxmpp.util.XmppDateTime;
-public class GeoLocationProviderTest extends InitExtensions {
+public class GeoLocationProviderTest extends SmackTestSuite {
@Test
public void testGeoLocationProviderWithNoDatumSet() throws Exception {
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/iqlast/LastActivityTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/iqlast/LastActivityTest.java
index eaa62f110..b44d8c892 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/iqlast/LastActivityTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/iqlast/LastActivityTest.java
@@ -22,15 +22,15 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import org.jivesoftware.smack.DummyConnection;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.Stanza;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.util.PacketParserUtils;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.iqlast.packet.LastActivity;
import com.jamesmurty.utils.XMLBuilder;
import org.junit.jupiter.api.Test;
-public class LastActivityTest extends InitExtensions {
+public class LastActivityTest extends SmackTestSuite {
@Test
public void checkProvider() throws Exception {
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/iqversion/VersionTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/iqversion/VersionTest.java
index 66e41362b..ff4d59390 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/iqversion/VersionTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/iqversion/VersionTest.java
@@ -24,14 +24,14 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import org.jivesoftware.smack.DummyConnection;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.Stanza;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.util.PacketParserUtils;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.iqversion.packet.Version;
import org.junit.jupiter.api.Test;
-public class VersionTest extends InitExtensions {
+public class VersionTest extends SmackTestSuite {
@Test
public void checkProvider() throws Exception {
// @formatter:off
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/jingle/JingleUtilTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/jingle/JingleUtilTest.java
index 3c26003ae..7859a55cc 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/jingle/JingleUtilTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/jingle/JingleUtilTest.java
@@ -16,24 +16,16 @@
*/
package org.jivesoftware.smackx.jingle;
-import org.jivesoftware.smack.DummyConnection;
-import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.test.util.SmackTestSuite;
-import org.jivesoftware.smackx.jingle.element.Jingle;
-import org.jivesoftware.smackx.jingle.element.JingleContent;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.jxmpp.jid.FullJid;
-import org.jxmpp.jid.impl.JidCreate;
-import org.jxmpp.stringprep.XmppStringprepException;
-
/**
* Test the JingleUtil class.
*/
public class JingleUtilTest extends SmackTestSuite {
+ // TODO: Finish the test.
+
+ /*
private XMPPConnection connection;
private JingleUtil jutil;
@@ -102,4 +94,5 @@ public class JingleUtilTest extends SmackTestSuite {
"";
// TODO: Finish test
}
+ */
}
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/jiveproperties/JivePropertiesExtensionTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/jiveproperties/JivePropertiesExtensionTest.java
index b2b06cb86..57e459605 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/jiveproperties/JivePropertiesExtensionTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/jiveproperties/JivePropertiesExtensionTest.java
@@ -20,16 +20,16 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import org.jivesoftware.smack.packet.Message;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.util.PacketParserUtils;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.jiveproperties.packet.JivePropertiesExtension;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-public class JivePropertiesExtensionTest extends InitExtensions {
+public class JivePropertiesExtensionTest extends SmackTestSuite {
@BeforeEach
public void setUp() {
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/muc/MucMemoryLeakTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/muc/MucMemoryLeakTest.java
index d9e35fefd..602a60aaa 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/muc/MucMemoryLeakTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/muc/MucMemoryLeakTest.java
@@ -16,8 +16,8 @@
*/
package org.jivesoftware.smackx.muc;
+import org.jivesoftware.smack.test.util.MemoryLeakTestUtil;
import org.jivesoftware.smack.test.util.SmackTestSuite;
-import org.jivesoftware.smack.util.MemoryLeakTestUtil;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/nick/NickTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/nick/NickTest.java
index 9819642f0..61c7b70eb 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/nick/NickTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/nick/NickTest.java
@@ -17,19 +17,20 @@
package org.jivesoftware.smackx.nick;
import static org.jivesoftware.smack.test.util.XmlUnitUtils.assertXmlSimilar;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import java.io.IOException;
import org.jivesoftware.smack.parsing.SmackParsingException;
import org.jivesoftware.smack.test.util.SmackTestUtil;
import org.jivesoftware.smack.xml.XmlPullParserException;
+
import org.jivesoftware.smackx.nick.packet.Nick;
import org.jivesoftware.smackx.nick.provider.NickProvider;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
@@ -41,14 +42,16 @@ public class NickTest {
@Test
public void disallowEmptyNickTest() {
- assertThrows("Empty String as argument MUST cause IllegalArgumentException.",
- IllegalArgumentException.class, () -> new Nick(""));
+ assertThrows(IllegalArgumentException.class,
+ () -> new Nick(""),
+ "Empty String as argument MUST cause IllegalArgumentException.");
}
@Test
public void disallowNullNickTest() {
- assertThrows("Null argument MUST cause IllegalArgumentException.",
- IllegalArgumentException.class, () -> new Nick(null));
+ assertThrows(IllegalArgumentException.class,
+ () -> new Nick(null),
+ "Null argument MUST cause IllegalArgumentException.");
}
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/ping/PingTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/ping/PingTest.java
index 09a5038b8..5de06a190 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/ping/PingTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/ping/PingTest.java
@@ -33,14 +33,14 @@ import org.jivesoftware.smack.ThreadedDummyConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.Stanza;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.util.PacketParserUtils;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.ping.packet.Ping;
import org.junit.jupiter.api.Test;
-public class PingTest extends InitExtensions {
+public class PingTest extends SmackTestSuite {
@Test
public void checkProvider() throws Exception {
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/privacy/provider/PrivacyProviderTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/privacy/provider/PrivacyProviderTest.java
index c5c810124..7b2f65d0b 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/privacy/provider/PrivacyProviderTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/privacy/provider/PrivacyProviderTest.java
@@ -23,15 +23,15 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.List;
import org.jivesoftware.smack.packet.IQ;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.util.PacketParserUtils;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.privacy.packet.Privacy;
import org.jivesoftware.smackx.privacy.packet.PrivacyItem;
import org.junit.jupiter.api.Test;
-public class PrivacyProviderTest extends InitExtensions {
+public class PrivacyProviderTest extends SmackTestSuite {
@Test
public void parsePrivacyList() throws Exception {
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/pubsub/ConfigureFormTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/pubsub/ConfigureFormTest.java
index cd43ad887..efdb6dae0 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/pubsub/ConfigureFormTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/pubsub/ConfigureFormTest.java
@@ -31,8 +31,8 @@ import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.IQ.Type;
import org.jivesoftware.smack.packet.StanzaError;
import org.jivesoftware.smack.packet.StanzaError.Condition;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.disco.packet.DiscoverInfo;
import org.jivesoftware.smackx.disco.packet.DiscoverInfo.Identity;
import org.jivesoftware.smackx.disco.packet.DiscoverInfoBuilder;
@@ -46,7 +46,7 @@ import org.junit.jupiter.api.Test;
* @author Robin Collier
*
*/
-public class ConfigureFormTest extends InitExtensions {
+public class ConfigureFormTest extends SmackTestSuite {
@Test
public void checkChildrenAssocPolicy() {
ConfigureForm form = new ConfigureForm(DataForm.Type.submit);
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/pubsub/ItemValidationTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/pubsub/ItemValidationTest.java
index a0f0eaedc..9dafb5334 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/pubsub/ItemValidationTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/pubsub/ItemValidationTest.java
@@ -24,10 +24,10 @@ import org.jivesoftware.smack.ThreadedDummyConnection;
import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.packet.NamedElement;
import org.jivesoftware.smack.packet.Stanza;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.pubsub.packet.PubSubNamespace;
import org.junit.jupiter.api.AfterEach;
@@ -39,7 +39,7 @@ import org.junit.jupiter.api.Test;
* @author Robin Collier
*
*/
-public class ItemValidationTest extends InitExtensions {
+public class ItemValidationTest extends SmackTestSuite {
private ThreadedDummyConnection connection;
@BeforeEach
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/receipts/DeliveryReceiptTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/receipts/DeliveryReceiptTest.java
index 814d5c9a7..af11468a3 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/receipts/DeliveryReceiptTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/receipts/DeliveryReceiptTest.java
@@ -30,18 +30,18 @@ import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.packet.MessageBuilder;
import org.jivesoftware.smack.packet.Stanza;
import org.jivesoftware.smack.packet.StanzaBuilder;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.test.util.WaitForPacketListener;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.receipts.DeliveryReceiptManager.AutoReceiptMode;
import com.jamesmurty.utils.XMLBuilder;
import org.junit.jupiter.api.Test;
import org.jxmpp.jid.Jid;
-public class DeliveryReceiptTest extends InitExtensions {
+public class DeliveryReceiptTest extends SmackTestSuite {
private static Properties outputProperties = new Properties();
static {
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/rsm/provider/RSMSetProviderTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/rsm/provider/RSMSetProviderTest.java
index 5c27f281c..1bc67a716 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/rsm/provider/RSMSetProviderTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/rsm/provider/RSMSetProviderTest.java
@@ -20,14 +20,14 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import org.jivesoftware.smack.packet.IQ;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.util.PacketParserUtils;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.rsm.packet.RSMSet;
import org.junit.jupiter.api.Test;
-public class RSMSetProviderTest extends InitExtensions {
+public class RSMSetProviderTest extends SmackTestSuite {
@Test
public void testRsmSetProvider() throws Exception {
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/time/packet/TimeTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/time/packet/TimeTest.java
index 76901233b..e9156ecf3 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/time/packet/TimeTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/time/packet/TimeTest.java
@@ -22,11 +22,11 @@ import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
-import org.jivesoftware.smackx.InitExtensions;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.junit.jupiter.api.Test;
-public class TimeTest extends InitExtensions {
+public class TimeTest extends SmackTestSuite {
@Test
public void parseCurrentTimeTest() {
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/vcardtemp/VCardTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/vcardtemp/VCardTest.java
index 40891c3aa..f5be6b1fd 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/vcardtemp/VCardTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/vcardtemp/VCardTest.java
@@ -21,15 +21,15 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.Arrays;
+import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.util.stringencoder.Base64;
-import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.vcardtemp.packet.VCard;
import org.junit.jupiter.api.Test;
-public class VCardTest extends InitExtensions {
+public class VCardTest extends SmackTestSuite {
@Test
public void testParseFullVCardIQStanza() throws Throwable {
diff --git a/smack-extensions/src/test/java/org/jivesoftware/util/ConnectionUtils.java b/smack-extensions/src/testFixtures/java/org/jivesoftware/util/ConnectionUtils.java
similarity index 100%
rename from smack-extensions/src/test/java/org/jivesoftware/util/ConnectionUtils.java
rename to smack-extensions/src/testFixtures/java/org/jivesoftware/util/ConnectionUtils.java
diff --git a/smack-extensions/src/test/java/org/jivesoftware/util/Protocol.java b/smack-extensions/src/testFixtures/java/org/jivesoftware/util/Protocol.java
similarity index 100%
rename from smack-extensions/src/test/java/org/jivesoftware/util/Protocol.java
rename to smack-extensions/src/testFixtures/java/org/jivesoftware/util/Protocol.java
diff --git a/smack-extensions/src/test/java/org/jivesoftware/util/Verification.java b/smack-extensions/src/testFixtures/java/org/jivesoftware/util/Verification.java
similarity index 100%
rename from smack-extensions/src/test/java/org/jivesoftware/util/Verification.java
rename to smack-extensions/src/testFixtures/java/org/jivesoftware/util/Verification.java
diff --git a/smack-im/build.gradle b/smack-im/build.gradle
index 6c8fd90d1..f89202c2a 100644
--- a/smack-im/build.gradle
+++ b/smack-im/build.gradle
@@ -7,5 +7,5 @@ Roster, Chat and other functionality."""
// sourceSet.test of the core subproject
dependencies {
compile project(':smack-core')
- testCompile project(path: ":smack-core", configuration: "testRuntime")
+ testImplementation(testFixtures(project(":smack-core")))
}
diff --git a/smack-integration-test/build.gradle b/smack-integration-test/build.gradle
index 27e983dd4..c3e6602d4 100644
--- a/smack-integration-test/build.gradle
+++ b/smack-integration-test/build.gradle
@@ -12,15 +12,8 @@ dependencies {
compile 'org.reflections:reflections:0.9.11'
compile 'eu.geekplace.javapinning:java-pinning-java7:1.1.0-alpha1'
compile group: 'commons-io', name: 'commons-io', version: "$commonsIoVersion"
- // Note that the junit-vintage-engine runtime dependency is not
- // directly required, but it declares a dependency to
- // junit:junit:4.12, which we currently need in sinttest, since it
- // (ab)uses @Before from org.junit
- compile "org.junit.vintage:junit-vintage-engine:$junitVersion"
- compile 'junit:junit:4.12'
- // Add Junit 5 API for e.g. assertThrows()
- implementation "org.junit.jupiter:junit-jupiter-api:$junitVersion"
- testCompile project(path: ":smack-core", configuration: "testRuntime")
+ api "org.junit.jupiter:junit-jupiter-api:$junitVersion"
+ testFixturesApi(testFixtures(project(":smack-core")))
testCompile "org.jxmpp:jxmpp-jid:$jxmppVersion:tests"
}
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 a8c541d8f..006aa61d8 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
@@ -65,8 +65,9 @@ import org.jivesoftware.smackx.debugger.EnhancedDebuggerWindow;
import org.jivesoftware.smackx.iqregister.AccountManager;
import org.igniterealtime.smack.inttest.Configuration.AccountRegistration;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
+import org.igniterealtime.smack.inttest.annotations.AfterClass;
+import org.igniterealtime.smack.inttest.annotations.BeforeClass;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.reflections.Reflections;
import org.reflections.scanners.MethodAnnotationsScanner;
import org.reflections.scanners.MethodParameterScanner;
@@ -745,8 +746,10 @@ public class SmackIntegrationTestFramework {
.append(method.getName())
.append(" (")
.append(testType.name());
- sb.append(", ");
- StringUtils.appendTo(Arrays.asList(subdescriptons), sb);
+ if (subdescriptons != null) {
+ sb.append(", ");
+ StringUtils.appendTo(Arrays.asList(subdescriptons), sb);
+ }
sb.append(')');
stringCache = sb.toString();
diff --git a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/annotations/AfterClass.java b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/annotations/AfterClass.java
new file mode 100644
index 000000000..3e567131d
--- /dev/null
+++ b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/annotations/AfterClass.java
@@ -0,0 +1,30 @@
+/**
+ *
+ * Copyright 2020 Florian Schmaus
+ *
+ * Licensed 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.
+ */
+package org.igniterealtime.smack.inttest.annotations;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface AfterClass {
+
+}
diff --git a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/annotations/BeforeClass.java b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/annotations/BeforeClass.java
new file mode 100644
index 000000000..49f159e9b
--- /dev/null
+++ b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/annotations/BeforeClass.java
@@ -0,0 +1,30 @@
+/**
+ *
+ * Copyright 2020 Florian Schmaus
+ *
+ * Licensed 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.
+ */
+package org.igniterealtime.smack.inttest.annotations;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface BeforeClass {
+
+}
diff --git a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/SmackIntegrationTest.java b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/annotations/SmackIntegrationTest.java
similarity index 95%
rename from smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/SmackIntegrationTest.java
rename to smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/annotations/SmackIntegrationTest.java
index bcbfb8e35..173b4d2e9 100644
--- a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/SmackIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/annotations/SmackIntegrationTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.igniterealtime.smack.inttest;
+package org.igniterealtime.smack.inttest.annotations;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/InitExtensions.java b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/annotations/package-info.java
similarity index 64%
rename from smack-extensions/src/test/java/org/jivesoftware/smackx/InitExtensions.java
rename to smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/annotations/package-info.java
index d4c6b0350..11723cd94 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/InitExtensions.java
+++ b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/annotations/package-info.java
@@ -1,6 +1,6 @@
/**
*
- * Copyright 2014 Florian Schmaus
+ * Copyright 2020 Florian Schmaus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,15 +14,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.jivesoftware.smackx;
-import org.jivesoftware.smack.extensions.ExtensionsInitializer;
-import org.jivesoftware.smack.test.util.SmackTestSuite;
-
-public class InitExtensions extends SmackTestSuite {
-
- static {
- new ExtensionsInitializer().initialize();
- }
-
-}
+/**
+ * Java annotations for Smack's Integration Test Framework.
+ */
+package org.igniterealtime.smack.inttest.annotations;
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smack/ChatTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smack/ChatTest.java
index ff058b8e8..d956c92ee 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smack/ChatTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smack/ChatTest.java
@@ -19,9 +19,9 @@ package org.jivesoftware.smack;
import static org.jivesoftware.smackx.jiveproperties.JivePropertiesManager.addProperty;
import static org.jivesoftware.smackx.jiveproperties.JivePropertiesManager.getProperty;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.Date;
@@ -34,10 +34,10 @@ import org.jivesoftware.smack.packet.StanzaBuilder;
import org.jivesoftware.smackx.jiveproperties.JivePropertiesManager;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
+import org.igniterealtime.smack.inttest.annotations.AfterClass;
+import org.igniterealtime.smack.inttest.annotations.BeforeClass;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
/**
* Tests for Chat Manager and for Chat Manager Listener.
@@ -87,33 +87,33 @@ public class ChatTest extends AbstractSmackIntegrationTest {
newChat.sendMessage(msg);
Message msg2 = collector.nextResult(2000);
- assertNotNull("No message was received", msg2);
- assertEquals("Subjects are different", msg.getSubject(), msg2.getSubject());
- assertEquals("Bodies are different", msg.getBody(), msg2.getBody());
+ assertNotNull(msg2, "No message was received");
+ assertEquals(msg.getSubject(), msg2.getSubject(), "Subjects are different");
+ assertEquals(msg.getBody(), msg2.getBody(), "Bodies are different");
assertEquals(
- "favoriteColors are different",
getProperty(msg, "favoriteColor"),
- getProperty(msg2, "favoriteColor"));
+ getProperty(msg2, "favoriteColor"),
+ "favoriteColors are different");
assertEquals(
- "ages are different",
getProperty(msg, "age"),
- getProperty(msg2, "age"));
+ getProperty(msg2, "age"),
+ "ages are different");
assertEquals(
- "distances are different",
getProperty(msg, "distance"),
- getProperty(msg2, "distance"));
+ getProperty(msg2, "distance"),
+ "distances are different");
assertEquals(
- "weights are different",
getProperty(msg, "weight"),
- getProperty(msg2, "weight"));
+ getProperty(msg2, "weight"),
+ "weights are different");
assertEquals(
- "males are different",
getProperty(msg, "male"),
- getProperty(msg2, "male"));
+ getProperty(msg2, "male"),
+ "males are different");
assertEquals(
- "birthdates are different",
getProperty(msg, "birthdate"),
- getProperty(msg2, "birthdate"));
+ getProperty(msg2, "birthdate"),
+ "birthdates are different");
}
@SuppressWarnings("deprecation")
@@ -131,7 +131,7 @@ public class ChatTest extends AbstractSmackIntegrationTest {
chatManagerOne.addChatListener(listener);
chatManagerOne.createChat(conTwo.getUser());
- assertTrue("TestChatManagerListener wasn't invoked", invoked);
+ assertTrue(invoked, "TestChatManagerListener wasn't invoked");
}
finally {
chatManagerOne.removeChatListener(listener);
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 f43f18f2b..47c299671 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
@@ -16,8 +16,8 @@
*/
package org.jivesoftware.smack;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import java.io.IOException;
import java.security.KeyManagementException;
@@ -25,11 +25,12 @@ import java.security.NoSuchAlgorithmException;
import org.jivesoftware.smack.sasl.SASLError;
import org.jivesoftware.smack.sasl.SASLErrorException;
+import org.jivesoftware.smack.sasl.packet.SaslNonza;
import org.jivesoftware.smack.util.StringUtils;
import org.igniterealtime.smack.inttest.AbstractSmackLowLevelIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
public class LoginIntegrationTest extends AbstractSmackLowLevelIntegrationTest {
@@ -57,13 +58,11 @@ public class LoginIntegrationTest extends AbstractSmackLowLevelIntegrationTest {
AbstractXMPPConnection connection = getUnconnectedConnection();
connection.connect();
- try {
- connection.login(nonExistentUserString, invalidPassword);
- fail("Exception expected");
- }
- catch (SASLErrorException e) {
- assertEquals(SASLError.not_authorized, e.getSASLFailure().getSASLError());
- }
+ SASLErrorException saslErrorException = assertThrows(SASLErrorException.class,
+ () -> connection.login(nonExistentUserString, invalidPassword));
+
+ SaslNonza.SASLFailure saslFailure = saslErrorException.getSASLFailure();
+ assertEquals(SASLError.not_authorized, saslFailure.getSASLError());
}
}
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 e5e77e4b0..c9ca9095b 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
@@ -16,8 +16,8 @@
*/
package org.jivesoftware.smack;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.io.IOException;
@@ -29,9 +29,9 @@ import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.tcp.XMPPTCPConnection;
import org.igniterealtime.smack.inttest.AbstractSmackSpecificLowLevelIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.TestNotPossibleException;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
public class StreamManagementTest extends AbstractSmackSpecificLowLevelIntegrationTest {
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 50ddf0123..65bf5a5a4 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
@@ -16,13 +16,13 @@
*/
package org.jivesoftware.smack;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.lang.reflect.Field;
import org.igniterealtime.smack.inttest.AbstractSmackLowLevelIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
public class WaitForClosingStreamElementTest extends AbstractSmackLowLevelIntegrationTest {
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smack/XmppConnectionIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smack/XmppConnectionIntegrationTest.java
index 29dc527e6..4ec185c12 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smack/XmppConnectionIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smack/XmppConnectionIntegrationTest.java
@@ -25,8 +25,8 @@ import org.igniterealtime.smack.XmppConnectionStressTest;
import org.igniterealtime.smack.XmppConnectionStressTest.StressTestFailedException.ErrorsWhileSendingOrReceivingException;
import org.igniterealtime.smack.XmppConnectionStressTest.StressTestFailedException.NotAllMessagesReceivedException;
import org.igniterealtime.smack.inttest.AbstractSmackLowLevelIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
public class XmppConnectionIntegrationTest extends AbstractSmackLowLevelIntegrationTest {
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smack/c2s/ModularXmppClientToServerConnectionLowLevelIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smack/c2s/ModularXmppClientToServerConnectionLowLevelIntegrationTest.java
index c5a1564c6..5d6e67bd0 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smack/c2s/ModularXmppClientToServerConnectionLowLevelIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smack/c2s/ModularXmppClientToServerConnectionLowLevelIntegrationTest.java
@@ -27,8 +27,8 @@ import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.XMPPException.XMPPErrorException;
import org.igniterealtime.smack.inttest.AbstractSmackSpecificLowLevelIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
public class ModularXmppClientToServerConnectionLowLevelIntegrationTest extends AbstractSmackSpecificLowLevelIntegrationTest {
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smack/chat2/IncomingMessageListenerIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smack/chat2/IncomingMessageListenerIntegrationTest.java
index ca76ab280..7d536f072 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smack/chat2/IncomingMessageListenerIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smack/chat2/IncomingMessageListenerIntegrationTest.java
@@ -19,8 +19,8 @@ package org.jivesoftware.smack.chat2;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.util.StringUtils;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
import org.jxmpp.jid.EntityBareJid;
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smack/chat2/OutgoingMessageListenerIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smack/chat2/OutgoingMessageListenerIntegrationTest.java
index 6118d2ed2..0b0109e98 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smack/chat2/OutgoingMessageListenerIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smack/chat2/OutgoingMessageListenerIntegrationTest.java
@@ -20,8 +20,8 @@ import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.packet.MessageBuilder;
import org.jivesoftware.smack.util.StringUtils;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
import org.jxmpp.jid.EntityBareJid;
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 8b73081be..305e9ae47 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
@@ -22,8 +22,8 @@ import org.jivesoftware.smack.AbstractXMPPConnection;
import org.jivesoftware.smack.packet.Presence;
import org.igniterealtime.smack.inttest.AbstractSmackLowLevelIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.util.IntegrationTestRosterUtil;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
import org.jxmpp.jid.FullJid;
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smack/roster/RosterIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smack/roster/RosterIntegrationTest.java
index 6f2d0a8fb..55aad5c12 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smack/roster/RosterIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smack/roster/RosterIntegrationTest.java
@@ -16,7 +16,7 @@
*/
package org.jivesoftware.smack.roster;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.Collection;
import java.util.concurrent.TimeoutException;
@@ -26,8 +26,8 @@ import org.jivesoftware.smack.roster.packet.RosterPacket.ItemType;
import org.jivesoftware.smack.util.StringUtils;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.util.IntegrationTestRosterUtil;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
import org.jxmpp.jid.BareJid;
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/caps/EntityCapsTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/caps/EntityCapsTest.java
index 8a4946e51..0a0110882 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/caps/EntityCapsTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/caps/EntityCapsTest.java
@@ -16,10 +16,10 @@
*/
package org.jivesoftware.smackx.caps;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.HashSet;
import java.util.Set;
@@ -45,11 +45,11 @@ import org.jivesoftware.smackx.disco.ServiceDiscoveryManager;
import org.jivesoftware.smackx.disco.packet.DiscoverInfo;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.AfterClass;
+import org.igniterealtime.smack.inttest.annotations.BeforeClass;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
public class EntityCapsTest extends AbstractSmackIntegrationTest {
@@ -169,7 +169,8 @@ public class EntityCapsTest extends AbstractSmackIntegrationTest {
DiscoverInfo info = sdmOne.discoverInfo(conTwo.getUser());
// that discovery should cause a disco#info
assertTrue(discoInfoSend.get());
- assertTrue("The info response '" + info + "' does not contain the expected feature '" + dummyFeature + '\'', info.containsFeature(dummyFeature));
+ assertTrue(info.containsFeature(dummyFeature),
+ "The info response '" + info + "' does not contain the expected feature '" + dummyFeature + '\'');
discoInfoSend.set(false);
// discover that
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/chatstate/ChatStateIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/chatstate/ChatStateIntegrationTest.java
index 539bdb03d..6b153b3a2 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/chatstate/ChatStateIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/chatstate/ChatStateIntegrationTest.java
@@ -25,10 +25,10 @@ import org.jivesoftware.smackx.chatstates.ChatStateListener;
import org.jivesoftware.smackx.chatstates.ChatStateManager;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.AfterClass;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
-import org.junit.After;
public class ChatStateIntegrationTest extends AbstractSmackIntegrationTest {
@@ -83,7 +83,7 @@ public class ChatStateIntegrationTest extends AbstractSmackIntegrationTest {
activeSyncPoint.waitForResult(timeout);
}
- @After
+ @AfterClass
public void cleanup() {
ChatStateManager manTwo = ChatStateManager.getInstance(conTwo);
manTwo.removeChatStateListener(composingListener);
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/filetransfer/FileTransferIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/filetransfer/FileTransferIntegrationTest.java
index 4a0af1d50..5d536aedb 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/filetransfer/FileTransferIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/filetransfer/FileTransferIntegrationTest.java
@@ -28,8 +28,8 @@ import org.jivesoftware.smack.XMPPException.XMPPErrorException;
import org.jivesoftware.smack.util.StringUtils;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.util.ResultSyncPoint;
public class FileTransferIntegrationTest extends AbstractSmackIntegrationTest {
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/geolocation/GeolocationIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/geolocation/GeolocationIntegrationTest.java
new file mode 100644
index 000000000..3909cee88
--- /dev/null
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/geolocation/GeolocationIntegrationTest.java
@@ -0,0 +1,106 @@
+/**
+ *
+ * Copyright 2020 Aditya Borikar.
+ *
+ * Licensed 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.
+ */
+package org.jivesoftware.smackx.geolocation;
+
+import java.net.URI;
+import java.util.concurrent.TimeoutException;
+
+import org.jivesoftware.smack.SmackException.NoResponseException;
+import org.jivesoftware.smack.SmackException.NotConnectedException;
+import org.jivesoftware.smack.SmackException.NotLoggedInException;
+import org.jivesoftware.smack.XMPPException.XMPPErrorException;
+import org.jivesoftware.smack.packet.Message;
+
+import org.jivesoftware.smackx.geoloc.GeoLocationListener;
+import org.jivesoftware.smackx.geoloc.GeoLocationManager;
+import org.jivesoftware.smackx.geoloc.packet.GeoLocation;
+
+import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
+import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.AfterClass;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
+import org.igniterealtime.smack.inttest.util.IntegrationTestRosterUtil;
+import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
+import org.jxmpp.jid.BareJid;
+import org.jxmpp.util.XmppDateTime;
+
+public class GeolocationIntegrationTest extends AbstractSmackIntegrationTest {
+
+ private final GeoLocationManager glm1;
+ private final GeoLocationManager glm2;
+
+ public GeolocationIntegrationTest(SmackIntegrationTestEnvironment environment) {
+ super(environment);
+ glm1 = GeoLocationManager.getInstanceFor(conOne);
+ glm2 = GeoLocationManager.getInstanceFor(conTwo);
+ }
+
+ @SmackIntegrationTest
+ public void test() throws TimeoutException, Exception {
+ GeoLocation.Builder builder = GeoLocation.builder();
+ GeoLocation geoLocation1 = builder.setAccuracy(23d)
+ .setAlt(1000d)
+ .setAltAccuracy(10d)
+ .setArea("Delhi")
+ .setBearing(10d)
+ .setBuilding("Small Building")
+ .setCountry("India")
+ .setCountryCode("IN")
+ .setDescription("My Description")
+ .setError(90d)
+ .setFloor("top")
+ .setLat(25.098345d)
+ .setLocality("awesome")
+ .setLon(77.992034)
+ .setPostalcode("110085")
+ .setRegion("North")
+ .setRoom("small")
+ .setSpeed(250.0d)
+ .setStreet("Wall Street")
+ .setText("Unit Testing GeoLocation")
+ .setTimestamp(XmppDateTime.parseDate("2004-02-19"))
+ .setTzo("+5:30")
+ .setUri(new URI("http://xmpp.org"))
+ .build();
+
+ IntegrationTestRosterUtil.ensureBothAccountsAreSubscribedToEachOther(conOne, conTwo, timeout);
+ final SimpleResultSyncPoint geoLocationReceived = new SimpleResultSyncPoint();
+ final GeoLocationListener geoLocationListener = new GeoLocationListener() {
+
+ @Override
+ public void onGeoLocationUpdated(BareJid jid, GeoLocation geoLocation, Message message) {
+ if (geoLocation.equals(geoLocation1)) {
+ geoLocationReceived.signal();
+ }
+ }
+ };
+
+ glm2.addGeoLocationListener(geoLocationListener);
+
+ try {
+ glm1.sendGeolocation(geoLocation1);
+ geoLocationReceived.waitForResult(timeout);
+ } finally {
+ glm2.removeGeoLocationListener(geoLocationListener);
+ }
+ }
+
+ @AfterClass
+ public void unsubscribe() throws NotLoggedInException, NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
+ IntegrationTestRosterUtil.ensureBothAccountsAreNotInEachOthersRoster(conOne, conTwo);
+ }
+}
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/geolocation/package-info.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/geolocation/package-info.java
new file mode 100644
index 000000000..7ff880f4e
--- /dev/null
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/geolocation/package-info.java
@@ -0,0 +1,23 @@
+/**
+ *
+ * Copyright 2020 Aditya Borikar.
+ *
+ * Licensed 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.
+ */
+/**
+ * Integration Tests for Smacks support for XEP-0080: User Location.
+ *
+ * @see
+ * XEP-0080: User Location
+ */
+package org.jivesoftware.smackx.geolocation;
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/httpfileupload/HttpFileUploadIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/httpfileupload/HttpFileUploadIntegrationTest.java
index 1d2e06914..7736c0657 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/httpfileupload/HttpFileUploadIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/httpfileupload/HttpFileUploadIntegrationTest.java
@@ -16,7 +16,7 @@
*/
package org.jivesoftware.smackx.httpfileupload;
-import static org.junit.Assert.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
@@ -33,9 +33,9 @@ import org.jivesoftware.smack.SmackException.NotConnectedException;
import org.jivesoftware.smack.XMPPException.XMPPErrorException;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.TestNotPossibleException;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
public class HttpFileUploadIntegrationTest extends AbstractSmackIntegrationTest {
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/iot/IoTControlIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/iot/IoTControlIntegrationTest.java
index 4a346479b..498493b5b 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/iot/IoTControlIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/iot/IoTControlIntegrationTest.java
@@ -16,7 +16,7 @@
*/
package org.jivesoftware.smackx.iot;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.util.Collection;
import java.util.concurrent.TimeoutException;
@@ -31,8 +31,8 @@ import org.jivesoftware.smackx.iot.control.element.SetBoolData;
import org.jivesoftware.smackx.iot.control.element.SetData;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.util.IntegrationTestRosterUtil;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
import org.jxmpp.jid.Jid;
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/iot/IoTDataIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/iot/IoTDataIntegrationTest.java
index dc6fc538e..858eae9a7 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/iot/IoTDataIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/iot/IoTDataIntegrationTest.java
@@ -16,8 +16,8 @@
*/
package org.jivesoftware.smackx.iot;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.Collections;
import java.util.List;
@@ -35,8 +35,8 @@ import org.jivesoftware.smackx.iot.data.element.NodeElement;
import org.jivesoftware.smackx.iot.data.element.TimestampElement;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.util.IntegrationTestRosterUtil;
public class IoTDataIntegrationTest extends AbstractSmackIntegrationTest {
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/iot/IoTDiscoveryIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/iot/IoTDiscoveryIntegrationTest.java
index 92c950a86..df6bf345e 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/iot/IoTDiscoveryIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/iot/IoTDiscoveryIntegrationTest.java
@@ -16,7 +16,7 @@
*/
package org.jivesoftware.smackx.iot;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.SmackException.NoResponseException;
@@ -31,9 +31,9 @@ import org.jivesoftware.smackx.iot.discovery.ThingState;
import org.jivesoftware.smackx.iot.discovery.element.IoTClaimed;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.TestNotPossibleException;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.jxmpp.jid.Jid;
public class IoTDiscoveryIntegrationTest extends AbstractSmackIntegrationTest {
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/iqversion/VersionIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/iqversion/VersionIntegrationTest.java
index 577819e11..9e903bbb8 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/iqversion/VersionIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/iqversion/VersionIntegrationTest.java
@@ -16,8 +16,8 @@
*/
package org.jivesoftware.smackx.iqversion;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import org.jivesoftware.smack.SmackException.NoResponseException;
import org.jivesoftware.smack.SmackException.NotConnectedException;
@@ -26,8 +26,8 @@ import org.jivesoftware.smack.XMPPException.XMPPErrorException;
import org.jivesoftware.smackx.iqversion.packet.Version;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
public class VersionIntegrationTest extends AbstractSmackIntegrationTest {
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/mam/MamIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/mam/MamIntegrationTest.java
index b0cc99584..cb4751d21 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/mam/MamIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/mam/MamIntegrationTest.java
@@ -16,9 +16,9 @@
*/
package org.jivesoftware.smackx.mam;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.ArrayList;
import java.util.List;
@@ -38,9 +38,9 @@ import org.jivesoftware.smackx.mam.MamManager.MamQuery;
import org.jivesoftware.smackx.mam.MamManager.MamQueryArgs;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.TestNotPossibleException;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
import org.jxmpp.jid.EntityBareJid;
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/mood/MoodIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/mood/MoodIntegrationTest.java
index afac2dd12..3338bc4f2 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/mood/MoodIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/mood/MoodIntegrationTest.java
@@ -20,11 +20,11 @@ import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.XMPPException;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.AfterClass;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.util.IntegrationTestRosterUtil;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
-import org.junit.AfterClass;
public class MoodIntegrationTest extends AbstractSmackIntegrationTest {
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatIntegrationTest.java
index aee855f6a..7ba0c1d1e 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatIntegrationTest.java
@@ -16,8 +16,8 @@
*/
package org.jivesoftware.smackx.muc;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.List;
@@ -35,9 +35,9 @@ import org.jivesoftware.smackx.muc.MultiUserChatException.NotAMucServiceExceptio
import org.jivesoftware.smackx.muc.packet.MUCUser;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.TestNotPossibleException;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.util.ResultSyncPoint;
import org.jxmpp.jid.DomainBareJid;
import org.jxmpp.jid.EntityBareJid;
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 ba4abd160..e0f476306 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,7 +16,7 @@
*/
package org.jivesoftware.smackx.muc;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
@@ -30,9 +30,9 @@ import org.jivesoftware.smackx.muc.MultiUserChat.MucCreateConfigFormHandle;
import org.jivesoftware.smackx.muc.bookmarkautojoin.MucBookmarkAutojoinManager;
import org.igniterealtime.smack.inttest.AbstractSmackLowLevelIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.TestNotPossibleException;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.jxmpp.jid.DomainBareJid;
import org.jxmpp.jid.impl.JidCreate;
import org.jxmpp.jid.parts.Localpart;
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/AbstractTwoUsersOmemoIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/AbstractTwoUsersOmemoIntegrationTest.java
index 1e324b77c..1057e695c 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/AbstractTwoUsersOmemoIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/AbstractTwoUsersOmemoIntegrationTest.java
@@ -16,20 +16,19 @@
*/
package org.jivesoftware.smackx.omemo;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
import java.io.IOException;
-import java.util.logging.Level;
import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.XMPPException;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.TestNotPossibleException;
+import org.igniterealtime.smack.inttest.annotations.AfterClass;
+import org.igniterealtime.smack.inttest.annotations.BeforeClass;
import org.igniterealtime.smack.inttest.util.IntegrationTestRosterUtil;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
/**
* Abstract OMEMO integration test framing, which creates and initializes two OmemoManagers (for conOne and conTwo).
@@ -51,7 +50,6 @@ public abstract class AbstractTwoUsersOmemoIntegrationTest extends AbstractOmemo
alice = OmemoManagerSetupHelper.prepareOmemoManager(conOne);
bob = OmemoManagerSetupHelper.prepareOmemoManager(conTwo);
- LOGGER.log(Level.FINE, "Alice: " + alice.getOwnDevice() + " Bob: " + bob.getOwnDevice());
assertFalse(alice.getDeviceId().equals(bob.getDeviceId()));
// Subscribe presences
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/MessageEncryptionIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/MessageEncryptionIntegrationTest.java
index 26ba5ab08..2efd1fb1a 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/MessageEncryptionIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/MessageEncryptionIntegrationTest.java
@@ -16,8 +16,8 @@
*/
package org.jivesoftware.smackx.omemo;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.XMPPConnection;
@@ -26,9 +26,9 @@ import org.jivesoftware.smack.packet.MessageBuilder;
import org.jivesoftware.smackx.omemo.element.OmemoBundleElement;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.TestNotPossibleException;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
/**
* Simple OMEMO message encryption integration test.
@@ -85,8 +85,8 @@ public class MessageEncryptionIntegrationTest extends AbstractTwoUsersOmemoInteg
b2 = bob.getOmemoService().getOmemoStoreBackend().packOmemoBundle(bob.getOwnDevice());
}
- assertEquals("Alice sent bob a preKeyMessage, so her bundle MUST still be the same.", a1, a1_);
- assertNotEquals("Bob just received a preKeyMessage from alice, so his bundle must have changed.", b1, b2);
+ assertEquals(a1, a1_, "Alice sent bob a preKeyMessage, so her bundle MUST still be the same.");
+ assertNotEquals(b1, b2, "Bob just received a preKeyMessage from alice, so his bundle must have changed.");
// Message B -> A
final String body3 = "The german words for 'leek' and 'wimp' are the same.";
@@ -103,9 +103,9 @@ public class MessageEncryptionIntegrationTest extends AbstractTwoUsersOmemoInteg
OmemoBundleElement a1__ = alice.getOmemoService().getOmemoStoreBackend().packOmemoBundle(alice.getOwnDevice());
OmemoBundleElement b2_ = bob.getOmemoService().getOmemoStoreBackend().packOmemoBundle(bob.getOwnDevice());
- assertEquals("Since alice initiated the session with bob, at no time he sent a preKeyMessage, " +
- "so her bundle MUST still be the same.", a1_, a1__);
- assertEquals("Bob changed his bundle earlier, but at this point his bundle must be equal to " +
- "after the first change.", b2, b2_);
+ assertEquals(a1_, a1__, "Since alice initiated the session with bob, at no time he sent a preKeyMessage, " +
+ "so her bundle MUST still be the same.");
+ assertEquals(b2, b2_, "Bob changed his bundle earlier, but at this point his bundle must be equal to " +
+ "after the first change.");
}
}
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/OmemoMamDecryptionTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/OmemoMamDecryptionTest.java
index ee39eec90..442643071 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/OmemoMamDecryptionTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/OmemoMamDecryptionTest.java
@@ -16,7 +16,7 @@
*/
package org.jivesoftware.smackx.omemo;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException;
import java.util.List;
@@ -32,9 +32,9 @@ import org.jivesoftware.smackx.omemo.exceptions.CryptoFailedException;
import org.jivesoftware.smackx.omemo.exceptions.UndecidedOmemoIdentityException;
import org.jivesoftware.smackx.omemo.util.MessageOrOmemoMessage;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.TestNotPossibleException;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
/**
* This test sends a message from Alice to Bob, while Bob has automatic decryption disabled.
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/OmemoManagerSetupHelper.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/OmemoManagerSetupHelper.java
index f330880ad..467650409 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/OmemoManagerSetupHelper.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/OmemoManagerSetupHelper.java
@@ -16,9 +16,9 @@
*/
package org.jivesoftware.smackx.omemo;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.HashMap;
@@ -40,7 +40,6 @@ import org.jivesoftware.smackx.pubsub.PubSubManager;
import com.google.common.collect.Maps;
-
public class OmemoManagerSetupHelper {
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/ReadOnlyDeviceIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/ReadOnlyDeviceIntegrationTest.java
index bed2b014d..94c671962 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/ReadOnlyDeviceIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/ReadOnlyDeviceIntegrationTest.java
@@ -16,9 +16,9 @@
*/
package org.jivesoftware.smackx.omemo;
-import static junit.framework.TestCase.assertEquals;
-import static junit.framework.TestCase.assertFalse;
-import static junit.framework.TestCase.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
@@ -29,9 +29,9 @@ import org.jivesoftware.smackx.omemo.exceptions.CryptoFailedException;
import org.jivesoftware.smackx.omemo.exceptions.ReadOnlyDeviceException;
import org.jivesoftware.smackx.omemo.exceptions.UndecidedOmemoIdentityException;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.TestNotPossibleException;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
public class ReadOnlyDeviceIntegrationTest extends AbstractTwoUsersOmemoIntegrationTest {
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/SessionRenegotiationIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/SessionRenegotiationIntegrationTest.java
index 3b4391ba3..c4a649911 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/SessionRenegotiationIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/SessionRenegotiationIntegrationTest.java
@@ -21,9 +21,9 @@ import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.MessageBuilder;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.TestNotPossibleException;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
public class SessionRenegotiationIntegrationTest extends AbstractTwoUsersOmemoIntegrationTest {
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/ox/OXSecretKeyBackupIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/ox/OXSecretKeyBackupIntegrationTest.java
index e5e33f39b..6ee03ddaf 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/ox/OXSecretKeyBackupIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/ox/OXSecretKeyBackupIntegrationTest.java
@@ -16,10 +16,10 @@
*/
package org.jivesoftware.smackx.ox;
-import static junit.framework.TestCase.assertEquals;
-import static junit.framework.TestCase.assertNotNull;
-import static junit.framework.TestCase.assertNull;
-import static junit.framework.TestCase.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.File;
import java.io.IOException;
@@ -44,19 +44,16 @@ import org.jivesoftware.smackx.ox.exception.MissingUserIdOnKeyException;
import org.jivesoftware.smackx.ox.exception.NoBackupFoundException;
import org.jivesoftware.smackx.ox.store.definition.OpenPgpStore;
import org.jivesoftware.smackx.ox.store.filebased.FileBasedOpenPgpStore;
-import org.jivesoftware.smackx.ox.util.OpenPgpPubSubUtil;
import org.jivesoftware.smackx.pubsub.PubSubException;
import org.bouncycastle.openpgp.PGPException;
import org.bouncycastle.openpgp.PGPPublicKeyRing;
import org.bouncycastle.openpgp.PGPSecretKeyRing;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.TestNotPossibleException;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
+import org.igniterealtime.smack.inttest.annotations.AfterClass;
+import org.igniterealtime.smack.inttest.annotations.BeforeClass;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.pgpainless.key.OpenPgpV4Fingerprint;
import org.pgpainless.key.protection.UnprotectedKeysProtector;
@@ -115,18 +112,6 @@ public class OXSecretKeyBackupIntegrationTest extends AbstractOpenPgpIntegration
org.apache.commons.io.FileUtils.deleteDirectory(beforePath);
}
- @After
- @Before
- public void cleanUp()
- throws XMPPException.XMPPErrorException, SmackException.NotConnectedException, InterruptedException,
- SmackException.NoResponseException {
- OpenPgpPubSubUtil.deleteSecretKeyNode(alicePepManager);
-
- if (openPgpManager != null) {
- openPgpManager.stopMetadataListener();
- }
- }
-
@SmackIntegrationTest
public void test() throws InvalidAlgorithmParameterException, NoSuchAlgorithmException,
NoSuchProviderException, IOException, InterruptedException, PubSubException.NotALeafNodeException,
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/ox_im/OXInstantMessagingIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/ox_im/OXInstantMessagingIntegrationTest.java
index 4ca076c2b..b6c5325b2 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/ox_im/OXInstantMessagingIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/ox_im/OXInstantMessagingIntegrationTest.java
@@ -16,8 +16,8 @@
*/
package org.jivesoftware.smackx.ox_im;
-import static junit.framework.TestCase.assertFalse;
-import static junit.framework.TestCase.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.File;
import java.io.IOException;
@@ -34,15 +34,13 @@ import org.jivesoftware.smackx.ox.OpenPgpManager;
import org.jivesoftware.smackx.ox.crypto.PainlessOpenPgpProvider;
import org.jivesoftware.smackx.ox.element.SigncryptElement;
import org.jivesoftware.smackx.ox.store.filebased.FileBasedOpenPgpStore;
-import org.jivesoftware.smackx.ox.util.OpenPgpPubSubUtil;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.TestNotPossibleException;
+import org.igniterealtime.smack.inttest.annotations.AfterClass;
+import org.igniterealtime.smack.inttest.annotations.BeforeClass;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
import org.pgpainless.decryption_verification.OpenPgpMetadata;
import org.pgpainless.key.OpenPgpV4Fingerprint;
import org.pgpainless.key.protection.UnprotectedKeysProtector;
@@ -98,7 +96,6 @@ public class OXInstantMessagingIntegrationTest extends AbstractOpenPgpIntegratio
@BeforeClass
@AfterClass
public static void deleteStore() throws IOException {
- LOGGER.log(Level.INFO, "Deleting storage directories...");
org.apache.commons.io.FileUtils.deleteDirectory(aliceStorePath);
org.apache.commons.io.FileUtils.deleteDirectory(bobStorePath);
}
@@ -165,26 +162,4 @@ public class OXInstantMessagingIntegrationTest extends AbstractOpenPgpIntegratio
bobReceivedMessage.waitForResult(timeout);
}
- @After
- public void deleteKeyMetadata()
- throws XMPPException.XMPPErrorException, SmackException.NotConnectedException, InterruptedException,
- SmackException.NoResponseException {
- OpenPgpPubSubUtil.deletePubkeysListNode(alicePepManager);
- OpenPgpPubSubUtil.deletePubkeysListNode(bobPepManager);
-
- if (aliceFingerprint != null) {
- OpenPgpPubSubUtil.deletePublicKeyNode(alicePepManager, aliceFingerprint);
- }
- if (bobFingerprint != null) {
- OpenPgpPubSubUtil.deletePublicKeyNode(bobPepManager, bobFingerprint);
- }
-
- if (aliceOpenPgp != null) {
- aliceOpenPgp.stopMetadataListener();
- }
-
- if (bobOpenPgp != null) {
- bobOpenPgp.stopMetadataListener();
- }
- }
}
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/ping/PingIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/ping/PingIntegrationTest.java
index 6bb73b8c1..65c683093 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/ping/PingIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/ping/PingIntegrationTest.java
@@ -16,7 +16,7 @@
*/
package org.jivesoftware.smackx.ping;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.ArrayList;
import java.util.Arrays;
@@ -33,8 +33,8 @@ import org.jivesoftware.smack.SmackException.NotConnectedException;
import org.jivesoftware.smack.XMPPConnection;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.jxmpp.jid.Jid;
public class PingIntegrationTest extends AbstractSmackIntegrationTest {
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/pubsub/PubSubIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/pubsub/PubSubIntegrationTest.java
index a0e0bff6c..61e66fa96 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/pubsub/PubSubIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/pubsub/PubSubIntegrationTest.java
@@ -16,8 +16,8 @@
*/
package org.jivesoftware.smackx.pubsub;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import org.jivesoftware.smack.SmackConfiguration;
@@ -28,9 +28,9 @@ import org.jivesoftware.smack.packet.StandardExtensionElement;
import org.jivesoftware.smack.packet.StanzaError;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.TestNotPossibleException;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.jxmpp.jid.DomainBareJid;
public class PubSubIntegrationTest extends AbstractSmackIntegrationTest {
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/usertune/UserTuneIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/usertune/UserTuneIntegrationTest.java
index b8492529b..cae6c1d8d 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/usertune/UserTuneIntegrationTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/usertune/UserTuneIntegrationTest.java
@@ -26,11 +26,11 @@ import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smackx.usertune.element.UserTuneElement;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.AfterClass;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.util.IntegrationTestRosterUtil;
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
-import org.junit.AfterClass;
import org.jxmpp.jid.BareJid;
public class UserTuneIntegrationTest extends AbstractSmackIntegrationTest {
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/xdata/FormTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/xdata/FormTest.java
index af49c251a..f4b2de824 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/xdata/FormTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/xdata/FormTest.java
@@ -14,12 +14,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.jivesoftware.smackx.xdata;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import org.jivesoftware.smack.SmackException.NotConnectedException;
import org.jivesoftware.smack.StanzaCollector;
@@ -31,8 +30,8 @@ import org.jivesoftware.smackx.xdata.FormField.Type;
import org.jivesoftware.smackx.xdata.packet.DataForm;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
/**
* Tests the DataForms extensions.
@@ -109,23 +108,17 @@ public class FormTest extends AbstractSmackIntegrationTest {
// Get the message with the form to fill out
Message msg2 = collector2.nextResult();
- assertNotNull("Message not found", msg2);
+ assertNotNull(msg2, "Message not found");
// Retrieve the form to fill out
Form formToRespond = Form.getFormFrom(msg2);
assertNotNull(formToRespond);
assertNotNull(formToRespond.getField("name"));
assertNotNull(formToRespond.getField("description"));
// Obtain the form to send with the replies
- Form completedForm = formToRespond.createAnswerForm();
+ final Form completedForm = formToRespond.createAnswerForm();
assertNotNull(completedForm.getField("hidden_var"));
// Check that a field of type String does not accept booleans
- try {
- completedForm.setAnswer("name", true);
- fail("A boolean value was set to a field of type String");
- }
- catch (IllegalArgumentException e) {
- // This exception is expected.
- }
+ assertThrows(IllegalArgumentException.class, () -> completedForm.setAnswer("name", true));
completedForm.setAnswer("name", "Credit card number invalid");
completedForm.setAnswer(
"description",
@@ -146,18 +139,18 @@ public class FormTest extends AbstractSmackIntegrationTest {
// Get the message with the completed form
Message msg3 = collector.nextResult();
- assertNotNull("Message not found", msg3);
+ assertNotNull(msg3, "Message not found");
// Retrieve the completed form
- completedForm = Form.getFormFrom(msg3);
- assertNotNull(completedForm);
- assertNotNull(completedForm.getField("name"));
- assertNotNull(completedForm.getField("description"));
+ final Form completedForm2 = Form.getFormFrom(msg3);
+ assertNotNull(completedForm2);
+ assertNotNull(completedForm2.getField("name"));
+ assertNotNull(completedForm2.getField("description"));
assertEquals(
- completedForm.getField("name").getValues().get(0).toString(),
+ completedForm2.getField("name").getValues().get(0).toString(),
"Credit card number invalid");
- assertNotNull(completedForm.getField("time"));
- assertNotNull(completedForm.getField("age"));
- assertEquals("The age is bad", "20", completedForm.getField("age").getValues().get(0).toString());
+ assertNotNull(completedForm2.getField("time"));
+ assertNotNull(completedForm2.getField("age"));
+ assertEquals("20", completedForm2.getField("age").getValues().get(0).toString(), "The age is bad");
}
finally {
diff --git a/smack-integration-test/src/test/java/org/igniterealtime/smack/inttest/SmackIntegrationTestFrameWorkTest.java b/smack-integration-test/src/test/java/org/igniterealtime/smack/inttest/SmackIntegrationTestFrameWorkTest.java
index 71ba75ac3..94e7ad3c8 100644
--- a/smack-integration-test/src/test/java/org/igniterealtime/smack/inttest/SmackIntegrationTestFrameWorkTest.java
+++ b/smack-integration-test/src/test/java/org/igniterealtime/smack/inttest/SmackIntegrationTestFrameWorkTest.java
@@ -1,6 +1,6 @@
/**
*
- * Copyright 2019 Florian Schmaus
+ * Copyright 2019-2020 Florian Schmaus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,15 +16,15 @@
*/
package org.igniterealtime.smack.inttest;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.lang.reflect.Method;
import java.util.List;
import org.jivesoftware.smack.AbstractXMPPConnection;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class SmackIntegrationTestFrameWorkTest {
diff --git a/smack-integration-test/src/test/java/org/igniterealtime/smack/inttest/SmackIntegrationTestXmppConnectionManagerTest.java b/smack-integration-test/src/test/java/org/igniterealtime/smack/inttest/SmackIntegrationTestXmppConnectionManagerTest.java
index 1709f2a58..7a2de6097 100644
--- a/smack-integration-test/src/test/java/org/igniterealtime/smack/inttest/SmackIntegrationTestXmppConnectionManagerTest.java
+++ b/smack-integration-test/src/test/java/org/igniterealtime/smack/inttest/SmackIntegrationTestXmppConnectionManagerTest.java
@@ -16,7 +16,7 @@
*/
package org.igniterealtime.smack.inttest;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.lang.reflect.InvocationTargetException;
import java.security.KeyManagementException;
@@ -26,7 +26,7 @@ import org.jivesoftware.smack.c2s.ModularXmppClientToServerConnection;
import org.jivesoftware.smack.c2s.ModularXmppClientToServerConnectionConfiguration;
import org.jivesoftware.smack.tcp.XmppTcpTransportModuleDescriptor;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import org.jxmpp.stringprep.XmppStringprepException;
public class SmackIntegrationTestXmppConnectionManagerTest {
diff --git a/smack-integration-test/src/test/java/org/igniterealtime/smack/inttest/unittest/SmackIntegrationTestFrameworkUnitTest.java b/smack-integration-test/src/test/java/org/igniterealtime/smack/inttest/unittest/SmackIntegrationTestFrameworkUnitTest.java
index 9df166d51..e1398e73b 100644
--- a/smack-integration-test/src/test/java/org/igniterealtime/smack/inttest/unittest/SmackIntegrationTestFrameworkUnitTest.java
+++ b/smack-integration-test/src/test/java/org/igniterealtime/smack/inttest/unittest/SmackIntegrationTestFrameworkUnitTest.java
@@ -17,10 +17,10 @@
package org.igniterealtime.smack.inttest.unittest;
import static org.igniterealtime.smack.inttest.SmackIntegrationTestUnitTestUtil.getFrameworkForUnitTest;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
@@ -38,25 +38,27 @@ import org.jivesoftware.smack.packet.StanzaError;
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
import org.igniterealtime.smack.inttest.DummySmackIntegrationTestFramework;
import org.igniterealtime.smack.inttest.FailedTest;
-import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.SmackIntegrationTestFramework;
import org.igniterealtime.smack.inttest.SmackIntegrationTestFramework.TestRunResult;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.igniterealtime.smack.inttest.annotations.AfterClass;
+import org.igniterealtime.smack.inttest.annotations.BeforeClass;
+import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
public class SmackIntegrationTestFrameworkUnitTest {
private static boolean beforeClassInvoked;
private static boolean afterClassInvoked;
- @BeforeClass
+ @BeforeAll
public static void prepareSinttestUnitTest() {
SmackIntegrationTestFramework.SINTTEST_UNIT_TEST = true;
}
- @AfterClass
+ @AfterAll
public static void disallowSinntestUnitTest() {
SmackIntegrationTestFramework.SINTTEST_UNIT_TEST = false;
}
@@ -125,8 +127,8 @@ public class SmackIntegrationTestFrameworkUnitTest {
DummySmackIntegrationTestFramework sinttest = getFrameworkForUnitTest(BeforeAfterClassTest.class);
sinttest.run();
- assertTrue("A before class method should have been executed to this time", beforeClassInvoked);
- assertTrue("A after class method should have been executed to this time", afterClassInvoked);
+ assertTrue(beforeClassInvoked, "A before class method should have been executed to this time");
+ assertTrue(afterClassInvoked, "A after class method should have been executed to this time");
}
public static class BeforeAfterClassTest extends AbstractSmackIntegrationTest {
@@ -147,8 +149,8 @@ public class SmackIntegrationTestFrameworkUnitTest {
@SmackIntegrationTest
public void test() {
- assertTrue("A before class method should have been executed to this time", beforeClassInvoked);
- assertFalse("A after class method shouldn't have been executed to this time", afterClassInvoked);
+ assertTrue(beforeClassInvoked, "A before class method should have been executed to this time");
+ assertFalse(afterClassInvoked, "A after class method shouldn't have been executed to this time");
}
}
}
diff --git a/smack-integration-test/src/test/java/org/igniterealtime/smack/inttest/util/ResultSyncPointTest.java b/smack-integration-test/src/test/java/org/igniterealtime/smack/inttest/util/ResultSyncPointTest.java
index 414a66fe7..589880204 100644
--- a/smack-integration-test/src/test/java/org/igniterealtime/smack/inttest/util/ResultSyncPointTest.java
+++ b/smack-integration-test/src/test/java/org/igniterealtime/smack/inttest/util/ResultSyncPointTest.java
@@ -1,6 +1,6 @@
/**
*
- * Copyright 2015 Florian Schmaus
+ * Copyright 2015-2020 Florian Schmaus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,14 +16,15 @@
*/
package org.igniterealtime.smack.inttest.util;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import java.util.concurrent.BrokenBarrierException;
import java.util.concurrent.CyclicBarrier;
import org.jivesoftware.smack.util.Async;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class ResultSyncPointTest {
@@ -44,7 +45,7 @@ public class ResultSyncPointTest {
assertEquals(result, receivedResult);
}
- @Test(expected = TestException.class)
+ @Test
public void exceptionTestResultSyncPoint() throws Exception {
final CyclicBarrier barrier = new CyclicBarrier(2);
final ResultSyncPoint rsp = new ResultSyncPoint<>();
@@ -56,7 +57,7 @@ public class ResultSyncPointTest {
}
});
barrier.await();
- rsp.waitForResult(60 * 1000);
+ assertThrows(TestException.class, () -> rsp.waitForResult(60 * 1000));
}
private static class TestException extends Exception {
diff --git a/smack-java8-full/build.gradle b/smack-java8-full/build.gradle
index 8bf5dfe6a..5ba426c3b 100644
--- a/smack-java8-full/build.gradle
+++ b/smack-java8-full/build.gradle
@@ -15,7 +15,8 @@ dependencies {
api project(':smack-resolver-minidns-dox')
api project(':smack-tcp')
- testImplementation project(path: ":smack-core", configuration: "testRuntime")
+ testImplementation 'com.google.guava:guava:28.2-jre'
+ testImplementation 'org.jgrapht:jgrapht-io:1.3.1'
}
task printModularXmppClientToServerConnectionStateGraph(type: JavaExec) {
diff --git a/smack-jingle-old/build.gradle b/smack-jingle-old/build.gradle
index f73c62913..7dff7e80e 100644
--- a/smack-jingle-old/build.gradle
+++ b/smack-jingle-old/build.gradle
@@ -7,5 +7,4 @@ dependencies {
compile project(':smack-extensions')
compile 'javax.media:jmf:2.1.1e'
compile files('libs/jspeex-0.9.7-jfcom.jar', 'libs/jstun.jar', 'libs/Speex.jar')
- testCompile project(path: ":smack-core", configuration: "testRuntime")
}
diff --git a/smack-legacy/build.gradle b/smack-legacy/build.gradle
index 98c828ea4..b89dbdcc8 100644
--- a/smack-legacy/build.gradle
+++ b/smack-legacy/build.gradle
@@ -6,5 +6,6 @@ Usually XEPs in the state 'retracted', 'rejected', 'deprecated',
dependencies {
compile project(':smack-core')
compile project(':smack-extensions')
- testCompile project(path: ":smack-core", configuration: "testRuntime")
+
+ testFixturesApi(testFixtures(project(":smack-core")))
}
diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/agent/AgentRoster.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/agent/AgentRoster.java
index ab7187b2e..fb970d8fd 100644
--- a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/agent/AgentRoster.java
+++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/agent/AgentRoster.java
@@ -317,7 +317,7 @@ public class AgentRoster {
// for a particular user a map with the presence packets saved for each resource.
if (presence.getType() == Presence.Type.available) {
// Ignore the presence packet unless it has an agent status extension.
- AgentStatus agentStatus = (AgentStatus) presence.getExtension(
+ AgentStatus agentStatus = (AgentStatus) presence.getExtensionElement(
AgentStatus.ELEMENT_NAME, AgentStatus.NAMESPACE);
if (agentStatus == null) {
return;
diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/agent/AgentSession.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/agent/AgentSession.java
index 0b8022dfc..a090c5705 100644
--- a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/agent/AgentSession.java
+++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/agent/AgentSession.java
@@ -784,7 +784,7 @@ public class AgentSession {
}
// QueueOverview packet extensions contain basic information about a queue.
- QueueOverview queueOverview = (QueueOverview) presence.getExtension(QueueOverview.ELEMENT_NAME, QueueOverview.NAMESPACE);
+ QueueOverview queueOverview = (QueueOverview) presence.getExtensionElement(QueueOverview.ELEMENT_NAME, QueueOverview.NAMESPACE);
if (queueOverview != null) {
if (queueOverview.getStatus() == null) {
queue.setStatus(WorkgroupQueue.Status.CLOSED);
@@ -803,7 +803,7 @@ public class AgentSession {
// QueueDetails packet extensions contain information about the users in
// a queue.
- QueueDetails queueDetails = (QueueDetails) packet.getExtension(QueueDetails.ELEMENT_NAME, QueueDetails.NAMESPACE);
+ QueueDetails queueDetails = (QueueDetails) packet.getExtensionElement(QueueDetails.ELEMENT_NAME, QueueDetails.NAMESPACE);
if (queueDetails != null) {
queue.setUsers(queueDetails.getUsers());
// Fire event.
@@ -812,7 +812,7 @@ public class AgentSession {
}
// Notify agent packets gives an overview of agent activity in a queue.
- StandardExtensionElement notifyAgents = (StandardExtensionElement) presence.getExtension("notify-agents", "http://jabber.org/protocol/workgroup");
+ StandardExtensionElement notifyAgents = (StandardExtensionElement) presence.getExtensionElement("notify-agents", "http://jabber.org/protocol/workgroup");
if (notifyAgents != null) {
int currentChats = Integer.parseInt(notifyAgents.getFirstElement("current-chats", "http://jabber.org/protocol/workgroup").getText());
int maxChats = Integer.parseInt(notifyAgents.getFirstElement("max-chats", "http://jabber.org/protocol/workgroup").getText());
@@ -833,13 +833,13 @@ public class AgentSession {
String sessionID = null;
Map> metaData = null;
- SessionID sessionIDExt = (SessionID) message.getExtension(SessionID.ELEMENT_NAME,
+ SessionID sessionIDExt = (SessionID) message.getExtensionElement(SessionID.ELEMENT_NAME,
SessionID.NAMESPACE);
if (sessionIDExt != null) {
sessionID = sessionIDExt.getSessionID();
}
- MetaData metaDataExt = (MetaData) message.getExtension(MetaData.ELEMENT_NAME,
+ MetaData metaDataExt = (MetaData) message.getExtensionElement(MetaData.ELEMENT_NAME,
MetaData.NAMESPACE);
if (metaDataExt != null) {
metaData = metaDataExt.getMetaData();
diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/user/Workgroup.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/user/Workgroup.java
index cf6da6015..c4ad8134c 100644
--- a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/user/Workgroup.java
+++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/user/Workgroup.java
@@ -515,8 +515,8 @@ public class Workgroup {
if (packet instanceof Message) {
Message msg = (Message) packet;
// Check to see if the user left the queue.
- ExtensionElement pe = msg.getExtension("depart-queue", "http://jabber.org/protocol/workgroup");
- ExtensionElement queueStatus = msg.getExtension("queue-status", "http://jabber.org/protocol/workgroup");
+ ExtensionElement pe = msg.getExtensionElement("depart-queue", "http://jabber.org/protocol/workgroup");
+ ExtensionElement queueStatus = msg.getExtensionElement("queue-status", "http://jabber.org/protocol/workgroup");
if (pe != null) {
fireQueueDepartedEvent();
@@ -539,13 +539,13 @@ public class Workgroup {
String sessionID = null;
Map> metaData = null;
- pe = msg.getExtension(SessionID.ELEMENT_NAME,
+ pe = msg.getExtensionElement(SessionID.ELEMENT_NAME,
SessionID.NAMESPACE);
if (pe != null) {
sessionID = ((SessionID) pe).getSessionID();
}
- pe = msg.getExtension(MetaData.ELEMENT_NAME,
+ pe = msg.getExtensionElement(MetaData.ELEMENT_NAME,
MetaData.NAMESPACE);
if (pe != null) {
metaData = ((MetaData) pe).getMetaData();
diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/xevent/MessageEventManager.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/xevent/MessageEventManager.java
index 267c5e39a..1d74bc69b 100644
--- a/smack-legacy/src/main/java/org/jivesoftware/smackx/xevent/MessageEventManager.java
+++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/xevent/MessageEventManager.java
@@ -82,7 +82,7 @@ public final class MessageEventManager extends Manager {
@Override
public void processStanza(Stanza packet) {
Message message = (Message) packet;
- MessageEvent messageEvent = (MessageEvent) message.getExtension("x", "jabber:x:event");
+ MessageEvent messageEvent = (MessageEvent) message.getExtensionElement("x", "jabber:x:event");
if (messageEvent.isMessageEventRequest()) {
// Fire event for requests of message events
for (String eventType : messageEvent.getEventTypes())
diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/xroster/RosterExchangeManager.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/xroster/RosterExchangeManager.java
index eabcd40ad..baac6db8c 100644
--- a/smack-legacy/src/main/java/org/jivesoftware/smackx/xroster/RosterExchangeManager.java
+++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/xroster/RosterExchangeManager.java
@@ -84,7 +84,7 @@ public class RosterExchangeManager {
@Override
public void processStanza(Stanza packet) {
Message message = (Message) packet;
- RosterExchange rosterExchange = (RosterExchange) message.getExtension(ELEMENT, NAMESPACE);
+ RosterExchange rosterExchange = (RosterExchange) message.getExtensionElement(ELEMENT, NAMESPACE);
// Fire event for roster exchange listeners
fireRosterExchangeListeners(message.getFrom(), rosterExchange.getRosterEntries());
}
diff --git a/smack-omemo-signal/build.gradle b/smack-omemo-signal/build.gradle
index 3c81d2c9d..16af5ba86 100644
--- a/smack-omemo-signal/build.gradle
+++ b/smack-omemo-signal/build.gradle
@@ -8,6 +8,6 @@ dependencies {
compile project(":smack-omemo")
compile 'org.whispersystems:signal-protocol-java:2.6.2'
- testCompile project(path: ":smack-core", configuration: "testRuntime")
+ testFixturesApi(testFixtures(project(":smack-core")))
testCompile project(path: ":smack-omemo", configuration: "testRuntime")
}
diff --git a/smack-omemo-signal/src/main/java/org/jivesoftware/smackx/omemo/signal/SignalCachingOmemoStore.java b/smack-omemo-signal/src/main/java/org/jivesoftware/smackx/omemo/signal/SignalCachingOmemoStore.java
index 084d95f2b..135bd96fb 100644
--- a/smack-omemo-signal/src/main/java/org/jivesoftware/smackx/omemo/signal/SignalCachingOmemoStore.java
+++ b/smack-omemo-signal/src/main/java/org/jivesoftware/smackx/omemo/signal/SignalCachingOmemoStore.java
@@ -44,6 +44,7 @@ public class SignalCachingOmemoStore extends CachingOmemoStore(); //TODO: ?
+ SortedSet deviceIds = new TreeSet<>();
+ for (OmemoDevice device : caches.keySet()) {
+ if (device.getJid().equals(localUser)) {
+ deviceIds.add(device.getDeviceId());
+ }
+ }
+ return deviceIds;
}
}
@@ -437,8 +443,9 @@ public class CachingOmemoStore getCache(OmemoDevice device) {
KeyCache cache = caches.get(device);
@@ -451,11 +458,12 @@ public class CachingOmemoStore
- * @param
- * @param
- * @param
- * @param
+ *
+ * @param type of the identity key pair
+ * @param type of the public identity key
+ * @param type of a public preKey
+ * @param type of the public signed preKey
+ * @param type of the OMEMO session
*/
private static class KeyCache {
private T_IdKeyPair identityKeyPair;
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/FileBasedOmemoStore.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/FileBasedOmemoStore.java
index d8b1df42c..62b742db5 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/FileBasedOmemoStore.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/FileBasedOmemoStore.java
@@ -45,6 +45,7 @@ import org.jxmpp.jid.BareJid;
/**
* Like a rocket!
+ * Implementation of the {@link OmemoStore} class that uses plain files for storage.
*
* @author Paul Schaub
*/
@@ -514,7 +515,7 @@ public abstract class FileBasedOmemoStoreBlog Post explaining the danger of read-only devices. TODO: Add URL
+ * @see Blog Post explaining the danger of read-only devices.
*/
public static void setIgnoreReadOnlyDevices(boolean ignore) {
IGNORE_READ_ONLY_DEVICES = ignore;
@@ -40,7 +40,7 @@ public final class OmemoConfiguration {
* Return true, if the client should stop encrypting messages to a read-only device.
*
* @return true if read-only devices should get ignored after a certain amount of unanswered messages.
- * @see Blog Post explaining the danger of read-only devices. TODO: Add URL
+ * @see Blog Post explaining the danger of read-only devices.
*/
public static boolean getIgnoreReadOnlyDevices() {
return IGNORE_READ_ONLY_DEVICES;
@@ -53,7 +53,7 @@ public final class OmemoConfiguration {
* This threshold is used to prevent read-only devices from weakening forward secrecy.
*
* @param maxReadOnlyMessageCount maximum number of allowed messages to a read-only device.
- * @see Blog Post explaining the danger of read-only devices. TODO: Add URL
+ * @see Blog Post explaining the danger of read-only devices.
*/
public static void setMaxReadOnlyMessageCount(int maxReadOnlyMessageCount) {
if (maxReadOnlyMessageCount <= 0) {
@@ -69,7 +69,7 @@ public final class OmemoConfiguration {
* This threshold is used to prevent read-only devices from weakening forward secrecy.
*
* @return maximum number of allowed messages to a read-only device.
- * @see Blog Post explaining the danger of read-only devices. TODO: Add URL
+ * @see Blog Post explaining the danger of read-only devices.
*/
public static int getMaxReadOnlyMessageCount() {
return MAX_READ_ONLY_MESSAGE_COUNT;
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoInitializer.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoInitializer.java
index 5f293490f..a5d1836ad 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoInitializer.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoInitializer.java
@@ -19,7 +19,7 @@ package org.jivesoftware.smackx.omemo;
import org.jivesoftware.smack.initializer.UrlInitializer;
/**
- * Initializer class that registers omemo providers.
+ * Initializer class that registers OMEMO providers.
*
* @author Paul Schaub
*/
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoManager.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoManager.java
index a3d2ff48d..c319df84d 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoManager.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoManager.java
@@ -151,7 +151,7 @@ public final class OmemoManager extends Manager {
* @param connection XmppConnection.
* @param deviceId MUST NOT be null and MUST be greater than 0.
*
- * @return manager TODO javadoc me please
+ * @return OmemoManager instance for the given connection and deviceId.
*/
public static synchronized OmemoManager getInstanceFor(XMPPConnection connection, Integer deviceId) {
if (deviceId == null || deviceId < 1) {
@@ -182,7 +182,7 @@ public final class OmemoManager extends Manager {
*
* @param connection XmppConnection.
*
- * @return manager TODO javadoc me please
+ * @return OmemoManager instance for the given connection and a determined deviceId.
*/
public static synchronized OmemoManager getInstanceFor(XMPPConnection connection) {
TreeMap managers = INSTANCES.get(connection);
@@ -219,7 +219,8 @@ public final class OmemoManager extends Manager {
/**
* Return the TrustCallback of this manager.
- * @return
+ *
+ * @return callback that is used for trust decisions.
*/
OmemoTrustCallback getTrustCallback() {
return trustCallback;
@@ -276,9 +277,12 @@ public final class OmemoManager extends Manager {
/**
* Return a set of all OMEMO capable devices of a contact.
* Note, that this method does not explicitly refresh the device list of the contact, so it might be outdated.
+ *
* @see #requestDeviceListUpdateFor(BareJid)
+ *
* @param contact contact we want to get a set of device of.
* @return set of known devices of that contact.
+ *
* @throws IOException if an I/O error occurred.
*/
public Set getDevicesOf(BareJid contact) throws IOException {
@@ -299,6 +303,7 @@ public final class OmemoManager extends Manager {
* @param recipient recipients bareJid
* @param message text to encrypt
* @return encrypted message
+ *
* @throws CryptoFailedException when something crypto related fails
* @throws UndecidedOmemoIdentityException When there are undecided devices
* @throws InterruptedException if the calling thread was interrupted.
@@ -311,9 +316,9 @@ public final class OmemoManager extends Manager {
throws CryptoFailedException, UndecidedOmemoIdentityException,
InterruptedException, SmackException.NotConnectedException,
SmackException.NoResponseException, SmackException.NotLoggedInException, IOException {
- Set recipients = new HashSet<>();
- recipients.add(recipient);
- return encrypt(recipients, message);
+ Set recipients = new HashSet<>();
+ recipients.add(recipient);
+ return encrypt(recipients, message);
}
/**
@@ -322,6 +327,7 @@ public final class OmemoManager extends Manager {
* @param recipients recipients barejids
* @param message text to encrypt
* @return encrypted message.
+ *
* @throws CryptoFailedException When something crypto related fails
* @throws UndecidedOmemoIdentityException When there are undecided devices.
* @throws InterruptedException if the calling thread was interrupted.
@@ -348,6 +354,7 @@ public final class OmemoManager extends Manager {
* @param muc multiUserChat
* @param message message to send
* @return encrypted message
+ *
* @throws UndecidedOmemoIdentityException when there are undecided devices.
* @throws CryptoFailedException if the OMEMO cryptography failed.
* @throws XMPPException.XMPPErrorException if there was an XMPP error returned.
@@ -402,6 +409,7 @@ public final class OmemoManager extends Manager {
*
* @param mamQuery The MAM query
* @return list of decrypted OmemoMessages
+ *
* @throws SmackException.NotLoggedInException if the Manager is not authenticated.
* @throws IOException if an I/O error occurred.
*/
@@ -430,6 +438,7 @@ public final class OmemoManager extends Manager {
* Distrust the fingerprint/OmemoDevice tuple.
* The fingerprint must be the lowercase, hexadecimal fingerprint of the identityKey of the device and must
* be of length 64.
+ *
* @param device device
* @param fingerprint fingerprint
*/
@@ -445,6 +454,7 @@ public final class OmemoManager extends Manager {
* Returns true, if the fingerprint/OmemoDevice tuple is trusted, otherwise false.
* The fingerprint must be the lowercase, hexadecimal fingerprint of the identityKey of the device and must
* be of length 64.
+ *
* @param device device
* @param fingerprint fingerprint
* @return true
if this is a trusted OMEMO identity.
@@ -461,6 +471,7 @@ public final class OmemoManager extends Manager {
* Returns true, if the fingerprint/OmemoDevice tuple is decided by the user.
* The fingerprint must be the lowercase, hexadecimal fingerprint of the identityKey of the device and must
* be of length 64.
+ *
* @param device device
* @param fingerprint fingerprint
* @return true
if the trust is decided for the identity.
@@ -478,6 +489,7 @@ public final class OmemoManager extends Manager {
* secrecy.
*
* @param recipient recipient
+ *
* @throws CorruptedOmemoKeyException When the used identityKeys are corrupted
* @throws CryptoFailedException When something fails with the crypto
* @throws CannotEstablishOmemoSessionException When we can't establish a session with the recipient
@@ -494,8 +506,8 @@ public final class OmemoManager extends Manager {
CryptoFailedException, CannotEstablishOmemoSessionException, IOException {
XMPPConnection connection = connection();
MessageBuilder message = connection.getStanzaFactory()
- .buildMessageStanza()
- .to(recipient.getJid());
+ .buildMessageStanza()
+ .to(recipient.getJid());
OmemoElement element = getOmemoService().createRatchetUpdateElement(new LoggedInOmemoManager(this), recipient);
message.addExtension(element);
@@ -510,6 +522,7 @@ public final class OmemoManager extends Manager {
*
* @param contact contact
* @return true if contact has at least one OMEMO capable device.
+ *
* @throws SmackException.NotConnectedException if the XMPP connection is not connected.
* @throws InterruptedException if the calling thread was interrupted.
* @throws SmackException.NoResponseException if there was no response from the remote entity.
@@ -530,10 +543,11 @@ public final class OmemoManager extends Manager {
*
* @param multiUserChat MUC
* @return true if chat supports OMEMO
- * @throws XMPPException.XMPPErrorException if
- * @throws SmackException.NotConnectedException something
- * @throws InterruptedException goes
- * @throws SmackException.NoResponseException wrong
+ *
+ * @throws XMPPException.XMPPErrorException if there was an XMPP protocol level error
+ * @throws SmackException.NotConnectedException if the connection is not connected
+ * @throws InterruptedException if the thread is interrupted
+ * @throws SmackException.NoResponseException if the server does not respond
*/
public boolean multiUserChatSupportsOmemo(MultiUserChat multiUserChat)
throws XMPPException.XMPPErrorException, SmackException.NotConnectedException, InterruptedException,
@@ -549,6 +563,7 @@ public final class OmemoManager extends Manager {
* @param connection XMPPConnection
* @param server domainBareJid of the server to test
* @return true if server supports pep
+ *
* @throws XMPPException.XMPPErrorException if there was an XMPP error returned.
* @throws SmackException.NotConnectedException if the XMPP connection is not connected.
* @throws InterruptedException if the calling thread was interrupted.
@@ -564,7 +579,8 @@ public final class OmemoManager extends Manager {
/**
* Return the fingerprint of our identity key.
*
- * @return fingerprint TODO javadoc me please
+ * @return our own OMEMO fingerprint
+ *
* @throws SmackException.NotLoggedInException if we don't know our bareJid yet.
* @throws CorruptedOmemoKeyException if our identityKey is corrupted.
* @throws IOException if an I/O error occurred.
@@ -580,8 +596,10 @@ public final class OmemoManager extends Manager {
/**
* Get the fingerprint of a contacts device.
+ *
* @param device contacts OmemoDevice
- * @return fingerprint TODO javadoc me please
+ * @return fingerprint of the given OMEMO device.
+ *
* @throws CannotEstablishOmemoSessionException if we have no session yet, and are unable to create one.
* @throws SmackException.NotLoggedInException if the XMPP connection is not authenticated.
* @throws CorruptedOmemoKeyException if the copy of the fingerprint we have is corrupted.
@@ -609,6 +627,7 @@ public final class OmemoManager extends Manager {
/**
* Return all OmemoFingerprints of active devices of a contact.
* TODO: Make more fail-safe
+ *
* @param contact contact
* @return Map of all active devices of the contact and their fingerprints.
*
@@ -656,6 +675,7 @@ public final class OmemoManager extends Manager {
/**
* Remove an OmemoMessageListener.
+ *
* @param listener OmemoMessageListener
*/
public void removeOmemoMessageListener(OmemoMessageListener listener) {
@@ -673,6 +693,7 @@ public final class OmemoManager extends Manager {
/**
* Remove an OmemoMucMessageListener.
+ *
* @param listener OmemoMucMessageListener
*/
public void removeOmemoMucMessageListener(OmemoMucMessageListener listener) {
@@ -683,6 +704,7 @@ public final class OmemoManager extends Manager {
* Request a deviceList update from contact contact.
*
* @param contact contact we want to obtain the deviceList from.
+ *
* @throws InterruptedException if the calling thread was interrupted.
* @throws PubSubException.NotALeafNodeException if a PubSub leaf node operation was attempted on a non-leaf node.
* @throws XMPPException.XMPPErrorException if there was an XMPP error returned.
@@ -729,8 +751,8 @@ public final class OmemoManager extends Manager {
*/
public synchronized void rotateSignedPreKey()
throws CorruptedOmemoKeyException, SmackException.NotLoggedInException, XMPPException.XMPPErrorException,
- SmackException.NotConnectedException, InterruptedException, SmackException.NoResponseException,
- IOException, PubSubException.NotALeafNodeException {
+ SmackException.NotConnectedException, InterruptedException, SmackException.NoResponseException,
+ IOException, PubSubException.NotALeafNodeException {
if (!connection().isAuthenticated()) {
throw new SmackException.NotLoggedInException();
}
@@ -745,6 +767,7 @@ public final class OmemoManager extends Manager {
/**
* Return true, if the given Stanza contains an OMEMO element 'encrypted'.
+ *
* @param stanza stanza
* @return true if stanza has extension 'encrypted'
*/
@@ -763,7 +786,8 @@ public final class OmemoManager extends Manager {
/**
* Returns a pseudo random number from the interval [1, Integer.MAX_VALUE].
- * @return deviceId TODO javadoc me please
+ *
+ * @return a random deviceId.
*/
public static int randomDeviceId() {
return new Random().nextInt(Integer.MAX_VALUE - 1) + 1;
@@ -772,7 +796,7 @@ public final class OmemoManager extends Manager {
/**
* Return the BareJid of the user.
*
- * @return bareJid TODO javadoc me please
+ * @return our own bare JID.
*/
public BareJid getOwnJid() {
if (ownJid == null && connection().isAuthenticated()) {
@@ -785,7 +809,7 @@ public final class OmemoManager extends Manager {
/**
* Return the deviceId of this OmemoManager.
*
- * @return deviceId TODO javadoc me please
+ * @return this OmemoManagers deviceId.
*/
public synchronized Integer getDeviceId() {
return deviceId;
@@ -794,7 +818,7 @@ public final class OmemoManager extends Manager {
/**
* Return the OmemoDevice of the user.
*
- * @return omemoDevice TODO javadoc me please
+ * @return our own OmemoDevice
*/
public synchronized OmemoDevice getOwnDevice() {
BareJid jid = getOwnJid();
@@ -806,6 +830,7 @@ public final class OmemoManager extends Manager {
/**
* Set the deviceId of the manager to nDeviceId.
+ *
* @param nDeviceId new deviceId
*/
synchronized void setDeviceId(int nDeviceId) {
@@ -926,7 +951,7 @@ public final class OmemoManager extends Manager {
/**
* Return the OMEMO service object.
*
- * @return omemoService TODO javadoc me please
+ * @return the OmemoService object related to this OmemoManager.
*/
OmemoService, ?, ?, ?, ?, ?, ?, ?, ?> getOmemoService() {
throwIfNoServiceSet();
@@ -1012,7 +1037,7 @@ public final class OmemoManager extends Manager {
OmemoDeviceListElement receivedDeviceList = (OmemoDeviceListElement) payloadItem.getPayload();
try {
getOmemoService().getOmemoStoreBackend().mergeCachedDeviceList(getOwnDevice(), from,
- receivedDeviceList);
+ receivedDeviceList);
if (!from.asBareJid().equals(getOwnJid())) {
continue;
@@ -1021,8 +1046,8 @@ public final class OmemoManager extends Manager {
deviceList = getOmemoService().cleanUpDeviceList(getOwnDevice());
} catch (IOException e) {
LOGGER.log(Level.SEVERE,
- "IOException while processing OMEMO PEP device updates. Message: " + message,
- e);
+ "IOException while processing OMEMO PEP device updates. Message: " + message,
+ e);
continue;
}
final OmemoDeviceListElement_VAxolotl newDeviceList = new OmemoDeviceListElement_VAxolotl(deviceList);
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoMessage.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoMessage.java
index 2d5554e7f..e2eb8635a 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoMessage.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoMessage.java
@@ -49,7 +49,7 @@ public class OmemoMessage {
/**
* Return the original OmemoElement (<encrypted/>).
*
- * @return omemoElement TODO javadoc me please
+ * @return omemoElement of the message
*/
public OmemoElement getElement() {
return element;
@@ -58,7 +58,7 @@ public class OmemoMessage {
/**
* Return the messageKey (or transported key in case of a KeyTransportMessage).
*
- * @return key TODO javadoc me please
+ * @return encryption key that protects the message payload
*/
public byte[] getKey() {
return messageKey.clone();
@@ -66,6 +66,7 @@ public class OmemoMessage {
/**
* Return the initialization vector belonging to the key.
+ *
* @return initialization vector
*/
public byte[] getIv() {
@@ -81,6 +82,7 @@ public class OmemoMessage {
/**
* Create a new outgoing OMEMO message.
+ *
* @param element OmemoElement
* @param key messageKey (or transported key)
* @param iv initialization vector belonging to key
@@ -96,6 +98,7 @@ public class OmemoMessage {
/**
* Return a list of all devices the sender originally intended to encrypt the message for.
+ *
* @return list of intended recipients.
*/
public Set getIntendedDevices() {
@@ -104,6 +107,7 @@ public class OmemoMessage {
/**
* Return a map of all skipped recipients and the reasons for skipping.
+ *
* @return map of skipped recipients and reasons for that.
*/
public HashMap getSkippedDevices() {
@@ -112,6 +116,7 @@ public class OmemoMessage {
/**
* Determine, if some recipients were skipped during encryption.
+ *
* @return true if recipients were skipped.
*/
public boolean isMissingRecipients() {
@@ -155,6 +160,7 @@ public class OmemoMessage {
/**
* Create a new incoming OMEMO message.
+ *
* @param element original OmemoElement
* @param key message key (or transported key)
* @param iv respective initialization vector
@@ -173,6 +179,7 @@ public class OmemoMessage {
/**
* Return the decrypted body of the message.
+ *
* @return decrypted body
*/
public String getBody() {
@@ -181,6 +188,7 @@ public class OmemoMessage {
/**
* Return the fingerprint of the messages sender device.
+ *
* @return fingerprint of sender
*/
public OmemoFingerprint getSendersFingerprint() {
@@ -189,7 +197,8 @@ public class OmemoMessage {
/**
* Return the OmemoDevice which sent the message.
- * @return senderDevice TODO javadoc me please
+ *
+ * @return OMEMO device that sent the message.
*/
public OmemoDevice getSenderDevice() {
return senderDevice;
@@ -197,6 +206,7 @@ public class OmemoMessage {
/**
* Return true, if this message was sent as a preKeyMessage.
+ *
* @return preKeyMessage or not
*/
boolean isPreKeyMessage() {
@@ -206,6 +216,7 @@ public class OmemoMessage {
/**
* Return true, if the message was a KeyTransportMessage.
* A KeyTransportMessage is a OmemoMessage without a payload.
+ *
* @return keyTransportMessage?
*/
public boolean isKeyTransportMessage() {
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoRatchet.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoRatchet.java
index e00815283..838784806 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoRatchet.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoRatchet.java
@@ -86,6 +86,7 @@ public abstract class OmemoRatchet Elliptic Curve PublicKey class
* @param Bundle class
* @param Cipher class
+ *
* @author Paul Schaub
*/
public abstract class OmemoService
@@ -107,22 +108,18 @@ public abstract class OmemoService INSTANCE;
private OmemoStore omemoStore;
private final HashMap> omemoRatchets = new HashMap<>();
- /**
- * Create a new OmemoService object. This should only happen once.
- */
protected OmemoService() {
+
}
/**
* Return the singleton instance of this class. When no instance is set, throw an IllegalStateException instead.
+ *
* @return instance.
*/
public static OmemoService, ?, ?, ?, ?, ?, ?, ?, ?> getInstance() {
@@ -229,9 +226,10 @@ public abstract class OmemoServiceXEP-0384: Sending a key.
*
* @param managerGuard Initialized OmemoManager.
* @param contactsDevices set of recipient devices.
* @param key AES-Key to be transported.
* @param iv initialization vector to be used with the key.
- * @return KeyTransportElement TODO javadoc me please
+ *
+ * @return a new key transport element
*
* @throws InterruptedException if the calling thread was interrupted.
* @throws UndecidedOmemoIdentityException if the list of recipients contains an undecided device
@@ -577,9 +579,11 @@ public abstract class OmemoService getUndecidedDevices(OmemoDevice userDevice, OmemoTrustCallback callback, Set devices) throws IOException {
@@ -853,7 +866,6 @@ public abstract class OmemoService decryptMamQueryResult(OmemoManager.LoggedInOmemoManager managerGuard,
@@ -1051,7 +1069,7 @@ public abstract class OmemoService Elliptic Curve PublicKey class
* @param Bundle class
* @param Cipher class
+ *
* @author Paul Schaub
*/
public abstract class OmemoStore {
@@ -68,6 +69,7 @@ public abstract class OmemoStore preKeyHashMap) throws IOException {
@@ -444,6 +469,7 @@ public abstract class OmemoStore loadOmemoPreKeys(OmemoDevice userDevice) throws IOException;
@@ -453,7 +479,8 @@ public abstract class OmemoStore loadOmemoSignedPreKeys(OmemoDevice userDevice) throws IOException;
@@ -476,7 +504,8 @@ public abstract class OmemoStore loadAllRawSessionsOf(OmemoDevice userDevice, BareJid contact) throws IOException;
@@ -528,6 +560,7 @@ public abstract class OmemoStore getPreKeys() {
if (preKeys == null) {
@@ -209,15 +209,17 @@ public abstract class OmemoBundleElement implements ExtensionElement {
@Override
public String toString() {
- String out = "OmemoBundleElement[\n";
- out += SIGNED_PRE_KEY_PUB + " " + SIGNED_PRE_KEY_ID + "=" + signedPreKeyId + ": " + signedPreKeyB64 + "\n";
- out += SIGNED_PRE_KEY_SIG + ": " + signedPreKeySignatureB64 + "\n";
- out += IDENTITY_KEY + ": " + identityKeyB64 + "\n";
- out += PRE_KEYS + " (" + preKeysB64.size() + ")\n";
+ StringBuilder sb = new StringBuilder("OmemoBundleElement[\n");
+ sb.append(SIGNED_PRE_KEY_PUB).append(' ').append(SIGNED_PRE_KEY_ID).append('=').append(signedPreKeyId)
+ .append(':').append(signedPreKeyB64).append('\n')
+ .append(SIGNED_PRE_KEY_SIG).append(": ").append(signedPreKeySignatureB64).append('\n')
+ .append(IDENTITY_KEY).append(": ").append(identityKeyB64).append('\n')
+ .append(PRE_KEYS).append(" (").append(preKeysB64.size()).append(")\n");
for (Map.Entry e : preKeysB64.entrySet()) {
- out += PRE_KEY_PUB + " " + PRE_KEY_ID + "=" + e.getKey() + ": " + e.getValue() + "\n";
+ sb.append(PRE_KEY_PUB).append(' ').append(PRE_KEY_ID).append('=').append(e.getKey()).append(": ").append(e.getValue()).append('\n');
}
- return out;
+ sb.append(']');
+ return sb.toString();
}
@Override
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/element/OmemoBundleElement_VAxolotl.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/element/OmemoBundleElement_VAxolotl.java
index 945a6611f..bcf616111 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/element/OmemoBundleElement_VAxolotl.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/element/OmemoBundleElement_VAxolotl.java
@@ -21,8 +21,9 @@ import static org.jivesoftware.smackx.omemo.util.OmemoConstants.OMEMO_NAMESPACE_
import java.util.HashMap;
/**
- * OMEMO device bundle as described here:
- * https://xmpp.org/extensions/xep-0384.html#usecases-announcing (Example 3).
+ * OMEMO device bundle as described by the protocol.
+ *
+ * @see XEP-0384: OMEMO Encryption (Example 3)
*
* @author Paul Schaub
*/
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/element/OmemoDeviceListElement.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/element/OmemoDeviceListElement.java
index 2b2515cb4..8644586d0 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/element/OmemoDeviceListElement.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/element/OmemoDeviceListElement.java
@@ -18,6 +18,7 @@ package org.jivesoftware.smackx.omemo.element;
import java.util.Collections;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.Set;
import org.jivesoftware.smack.packet.ExtensionElement;
@@ -78,10 +79,14 @@ public abstract class OmemoDeviceListElement implements ExtensionElement {
@Override
public final String toString() {
- String out = "OmemoDeviceListElement[";
+ StringBuilder sb = new StringBuilder("OmemoDeviceListElement[");
+ Iterator iterator = deviceIds.iterator();
for (int i : deviceIds) {
- out += i + ",";
+ sb.append(i);
+ if (iterator.hasNext()) {
+ sb.append(',');
+ }
}
- return out.substring(0, out.length() - 1) + "]";
+ return sb.append(']').toString();
}
}
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/element/OmemoElement.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/element/OmemoElement.java
index 6d28da919..fea020003 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/element/OmemoElement.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/element/OmemoElement.java
@@ -55,7 +55,7 @@ public abstract class OmemoElement implements ExtensionElement {
/**
* Return the payload of the message.
*
- * @return payload TODO javadoc me please
+ * @return encrypted payload of the message.
*/
public byte[] getPayload() {
if (payload == null) {
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/CannotEstablishOmemoSessionException.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/CannotEstablishOmemoSessionException.java
index e20782632..2d4e65513 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/CannotEstablishOmemoSessionException.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/CannotEstablishOmemoSessionException.java
@@ -79,7 +79,8 @@ public class CannotEstablishOmemoSessionException extends Exception {
/**
* Return true, if there is at least one recipient, which would not be able to decipher the message on any of
* their devices.
- * @return boolean TODO javadoc me please
+ *
+ * @return true if the exception requires to be thrown
*/
public boolean requiresThrowing() {
for (Map.Entry> entry : failures.entrySet()) {
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/MultipleCryptoFailedException.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/MultipleCryptoFailedException.java
index 8627823f9..8a890cca0 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/MultipleCryptoFailedException.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/MultipleCryptoFailedException.java
@@ -22,9 +22,6 @@ import java.util.List;
public final class MultipleCryptoFailedException extends CryptoFailedException {
- /**
- *
- */
private static final long serialVersionUID = 1L;
private final List cryptoFailedExceptions;
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/ReadOnlyDeviceException.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/ReadOnlyDeviceException.java
index ce69d1a30..cc82bc365 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/ReadOnlyDeviceException.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/ReadOnlyDeviceException.java
@@ -44,7 +44,8 @@ public class ReadOnlyDeviceException extends Exception {
/**
* Return the device in question.
- * @return device TODO javadoc me please
+ *
+ * @return device that is read-only.
*/
public OmemoDevice getDevice() {
return device;
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/StaleDeviceException.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/StaleDeviceException.java
index c3453b99e..948eac040 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/StaleDeviceException.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/StaleDeviceException.java
@@ -31,8 +31,8 @@ public class StaleDeviceException extends Exception {
* This exception gets thrown if a message cannot be encrypted for a device due to the device being inactive for too long (stale).
*
* @param device OmemoDevice.
- * @param lastMessageDate TODO javadoc me please
- * @param lastDeviceIdPublicationDate TODO javadoc me please
+ * @param lastMessageDate date of the last received message from the device.
+ * @param lastDeviceIdPublicationDate date on which the device ID was last published via pubsub.
*/
public StaleDeviceException(OmemoDevice device, Date lastMessageDate, Date lastDeviceIdPublicationDate) {
this.device = device;
@@ -42,6 +42,7 @@ public class StaleDeviceException extends Exception {
/**
* Return the date on which the last OMEMO message sent from the device was received.
+ *
* @return last messages date
*/
public Date getLastMessageDate() {
@@ -50,6 +51,7 @@ public class StaleDeviceException extends Exception {
/**
* Return the date of the last time the deviceId was republished after being inactive/non-existent before.
+ *
* @return date of last deviceId (re)publication.
*/
public Date getLastDeviceIdPublicationDate() {
@@ -58,6 +60,7 @@ public class StaleDeviceException extends Exception {
/**
* Return the stale OMEMO device.
+ *
* @return stale device
*/
public OmemoDevice getDevice() {
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/UntrustedOmemoIdentityException.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/UntrustedOmemoIdentityException.java
index 3e8b0b458..ab5eac9ce 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/UntrustedOmemoIdentityException.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/exceptions/UntrustedOmemoIdentityException.java
@@ -56,6 +56,7 @@ public class UntrustedOmemoIdentityException extends Exception {
/**
* Return the device which sent the message.
+ *
* @return omemoDevice.
*/
public OmemoDevice getDevice() {
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/internal/CiphertextTuple.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/internal/CiphertextTuple.java
index 60fac8469..32483d17c 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/internal/CiphertextTuple.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/internal/CiphertextTuple.java
@@ -41,7 +41,7 @@ public class CiphertextTuple {
/**
* Return the ciphertext.
*
- * @return ciphertext TODO javadoc me please
+ * @return ciphertext part of the tuple
*/
public byte[] getCiphertext() {
return ciphertext;
@@ -50,7 +50,7 @@ public class CiphertextTuple {
/**
* Return the messageType.
*
- * @return messageType TODO javadoc me please
+ * @return type of the message
*/
public int getMessageType() {
return this.messageType;
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/internal/OmemoDevice.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/internal/OmemoDevice.java
index 762494281..11041f0c2 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/internal/OmemoDevice.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/internal/OmemoDevice.java
@@ -43,7 +43,7 @@ public class OmemoDevice {
/**
* Return the BareJid of the device owner.
*
- * @return bareJid TODO javadoc me please
+ * @return bare JID of the device owner.
*/
public BareJid getJid() {
return this.jid;
@@ -52,7 +52,7 @@ public class OmemoDevice {
/**
* Return the OMEMO device Id of the device.
*
- * @return deviceId TODO javadoc me please
+ * @return OMEMO device ID.
*/
public int getDeviceId() {
return this.deviceId;
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/listener/OmemoMucMessageListener.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/listener/OmemoMucMessageListener.java
index 90683e5ee..3bccac5cf 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/listener/OmemoMucMessageListener.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/listener/OmemoMucMessageListener.java
@@ -23,12 +23,14 @@ import org.jivesoftware.smackx.omemo.OmemoMessage;
/**
* Listener interface that allows implementations to receive decrypted OMEMO MUC messages.
+ *
* @author Paul Schaub
*/
public interface OmemoMucMessageListener {
/**
* Gets called whenever an OMEMO message has been received in a MultiUserChat and successfully decrypted.
+ *
* @param muc MultiUserChat the message was sent in
* @param stanza Original Stanza
* @param decryptedOmemoMessage decrypted Omemo message
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/trust/TrustState.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/trust/TrustState.java
index 605298c26..8ad2d2ae0 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/trust/TrustState.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/trust/TrustState.java
@@ -17,7 +17,16 @@
package org.jivesoftware.smackx.omemo.trust;
public enum TrustState {
- undecided, // User has yet to decide, whether the identity is trusted or not.
- untrusted, // User decided NOT to trust this device.
- trusted // User decided to trust this device.
+ /**
+ * User has yet to decide, whether the identity is trusted or not.
+ */
+ undecided,
+ /**
+ * User decided NOT to trust this device.
+ */
+ untrusted,
+ /**
+ * User decided to trust this device.
+ */
+ trusted
}
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/util/OmemoConstants.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/util/OmemoConstants.java
index 885260568..f91dc199f 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/util/OmemoConstants.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/util/OmemoConstants.java
@@ -18,11 +18,11 @@ package org.jivesoftware.smackx.omemo.util;
/**
* Some constants related to OMEMO.
+ *
* @author Paul Schaub
*/
public final class OmemoConstants {
- // Constants
/**
* Omemo related namespace.
*/
diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/util/OmemoKeyUtil.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/util/OmemoKeyUtil.java
index 1954246f1..607181552 100644
--- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/util/OmemoKeyUtil.java
+++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/util/OmemoKeyUtil.java
@@ -55,7 +55,8 @@ public abstract class OmemoKeyUtil bundles(OmemoBundleElement bundle, OmemoDevice contact) throws CorruptedOmemoKeyException {
@@ -136,6 +140,7 @@ public abstract class OmemoKeyUtil ratchet,
String message)
throws NoSuchPaddingException, BadPaddingException, InvalidKeyException, NoSuchAlgorithmException, IllegalBlockSizeException,
- UnsupportedEncodingException, InvalidAlgorithmParameterException {
+ InvalidAlgorithmParameterException {
this(userDevice, callback, ratchet, generateKey(KEYTYPE, KEYLENGTH), generateIv(), message);
}
@@ -144,19 +140,20 @@ public class OmemoMessageBuilderOMEMO security audit.
*
* @param message plaintext message
+ *
* @throws NoSuchPaddingException if the requested padding mechanism is not availble.
- * @throws NoSuchProviderException
* @throws InvalidAlgorithmParameterException if the provided arguments are invalid.
* @throws InvalidKeyException if the key is invalid.
* @throws BadPaddingException if the input data is not padded properly.
* @throws IllegalBlockSizeException if the input data length is incorrect.
*/
private void setMessage(String message)
- throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidAlgorithmParameterException,
- InvalidKeyException, BadPaddingException, IllegalBlockSizeException {
+ throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidAlgorithmParameterException,
+ InvalidKeyException, BadPaddingException, IllegalBlockSizeException {
if (message == null) {
return;
}
@@ -202,7 +199,7 @@ public class OmemoMessageBuilder payload = (PayloadItem) items.getItems().get(0);
+ PayloadItem> payload = (PayloadItem>) items.getItems().get(0);
PublicKeysListElement listElement = (PublicKeysListElement) payload.getPayload();
processPublicKeysListElement(from, listElement);
diff --git a/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/util/OpenPgpPubSubUtil.java b/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/util/OpenPgpPubSubUtil.java
index cbe0bd4c2..89be5eb65 100644
--- a/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/util/OpenPgpPubSubUtil.java
+++ b/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/util/OpenPgpPubSubUtil.java
@@ -430,7 +430,7 @@ public class OpenPgpPubSubUtil {
// Get access to the PubSubManager's nodeMap
Field field = pubSubManager.getClass().getDeclaredField("nodeMap");
field.setAccessible(true);
- Map nodeMap = (Map) field.get(pubSubManager);
+ Map nodeMap = (Map) field.get(pubSubManager);
// Check, if the node already exists
Node existingNode = nodeMap.get(nodeName);
diff --git a/smack-repl/build.gradle b/smack-repl/build.gradle
index dc691a89c..3176e1985 100644
--- a/smack-repl/build.gradle
+++ b/smack-repl/build.gradle
@@ -17,8 +17,6 @@ dependencies {
compile "org.scala-lang:scala-library:$scalaVersion"
compile "com.lihaoyi:ammonite_$scalaVersion:1.3.2"
-
- testCompile project(path: ":smack-core", configuration: "testRuntime")
}
scalaStyle {
diff --git a/smack-repl/src/test/java/org/igniterealtime/smack/smackrepl/SmackReplTest.java b/smack-repl/src/test/java/org/igniterealtime/smack/smackrepl/SmackReplTest.java
index 1e8227014..54250f100 100644
--- a/smack-repl/src/test/java/org/igniterealtime/smack/smackrepl/SmackReplTest.java
+++ b/smack-repl/src/test/java/org/igniterealtime/smack/smackrepl/SmackReplTest.java
@@ -1,6 +1,6 @@
/**
*
- * Copyright 2016 Florian Schmaus
+ * Copyright 2016-2020 Florian Schmaus
*
* This file is part of smack-repl.
*
@@ -20,7 +20,7 @@
*/
package org.igniterealtime.smack.smackrepl;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class SmackReplTest {
/**
diff --git a/smack-resolver-dnsjava/build.gradle b/smack-resolver-dnsjava/build.gradle
index 3649a2d58..c718abba9 100644
--- a/smack-resolver-dnsjava/build.gradle
+++ b/smack-resolver-dnsjava/build.gradle
@@ -1,9 +1,8 @@
description = """\
DNS SRV with dnsjava
-Use dnsjava for DNS SRV lookups. For platforms that don't provide the
-javax.naming API (e.g. Android)."""
+Use dnsjava for DNS SRV lookups."""
dependencies {
compile project(':smack-core')
- compile 'dnsjava:dnsjava:[2.1,2.2)'
+ compile 'dnsjava:dnsjava:[3.0.0,3.0.9999]'
}
diff --git a/smack-resolver-minidns-dox/build.gradle b/smack-resolver-minidns-dox/build.gradle
index 3d070c5bd..62c973774 100644
--- a/smack-resolver-minidns-dox/build.gradle
+++ b/smack-resolver-minidns-dox/build.gradle
@@ -4,5 +4,4 @@ DNS over XMPP (DoX) support using MiniDNS."""
dependencies {
compile project(path: ':smack-resolver-minidns')
compile project(path: ':smack-experimental')
- testCompile project(path: ":smack-core", configuration: "testRuntime")
}
diff --git a/smack-sasl-javax/build.gradle b/smack-sasl-javax/build.gradle
index d45511565..f2275f363 100644
--- a/smack-sasl-javax/build.gradle
+++ b/smack-sasl-javax/build.gradle
@@ -4,5 +4,6 @@ Use javax.security.sasl for SASL."""
dependencies {
compile project(':smack-core')
- testCompile project(path: ":smack-core", configuration: "testRuntime")
+
+ testFixturesApi(testFixtures(project(":smack-core")))
}
diff --git a/smack-sasl-provided/build.gradle b/smack-sasl-provided/build.gradle
index 3e3b2d64f..d7391664c 100644
--- a/smack-sasl-provided/build.gradle
+++ b/smack-sasl-provided/build.gradle
@@ -4,5 +4,6 @@ Use Smack provided code for SASL."""
dependencies {
compile project(':smack-core')
- testCompile project(path: ":smack-core", configuration: "testRuntime")
+
+ testFixturesApi(testFixtures(project(":smack-core")))
}
diff --git a/smack-tcp/build.gradle b/smack-tcp/build.gradle
index 1c174288a..74ec76eb8 100644
--- a/smack-tcp/build.gradle
+++ b/smack-tcp/build.gradle
@@ -3,5 +3,6 @@ Smack for standard XMPP connections over TCP."""
dependencies {
compile project(':smack-core')
- testCompile project(path: ":smack-core", configuration: "testRuntime")
+
+ testFixturesApi(testFixtures(project(":smack-core")))
}
diff --git a/smack-xmlparser-stax/build.gradle b/smack-xmlparser-stax/build.gradle
index 03c727630..d4e21ba8f 100644
--- a/smack-xmlparser-stax/build.gradle
+++ b/smack-xmlparser-stax/build.gradle
@@ -3,5 +3,5 @@ Smack XML parser using Stax."""
dependencies {
compile project(':smack-xmlparser')
- testCompile project(path: ":smack-xmlparser", configuration: "testRuntime")
+ //testCompile project(path: ":smack-xmlparser", configuration: "testRuntime")
}
diff --git a/smack-xmlparser-xpp3/build.gradle b/smack-xmlparser-xpp3/build.gradle
index fb647f0bc..a0afd7c4a 100644
--- a/smack-xmlparser-xpp3/build.gradle
+++ b/smack-xmlparser-xpp3/build.gradle
@@ -9,5 +9,5 @@ dependencies {
api "xpp3:xpp3_min:$xpp3Version"
implementation "xpp3:xpp3:$xpp3Version"
api project(':smack-xmlparser')
- testCompile project(path: ":smack-xmlparser", configuration: "testRuntime")
+ //testCompile project(path: ":smack-xmlparser", configuration: "testRuntime")
}