mirror of
https://github.com/vanitasvitae/Smack.git
synced 2025-12-10 13:01:07 +01:00
Introduce StanzaBuilder
As first step to immutable Stanza types.
This commit is contained in:
parent
926c5892ad
commit
5db6191110
134 changed files with 2576 additions and 764 deletions
|
|
@ -19,6 +19,7 @@ package org.jivesoftware.smackx.chat_markers;
|
|||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import org.jivesoftware.smack.packet.Message;
|
||||
import org.jivesoftware.smack.packet.StanzaBuilder;
|
||||
import org.jivesoftware.smack.packet.StreamOpen;
|
||||
import org.jivesoftware.smack.util.PacketParserUtils;
|
||||
import org.jivesoftware.smack.xml.XmlPullParser;
|
||||
|
|
@ -28,7 +29,6 @@ import org.jivesoftware.smackx.chat_markers.element.ChatMarkersElements.Acknowle
|
|||
import org.jivesoftware.smackx.chat_markers.provider.AcknowledgedProvider;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.jxmpp.jid.impl.JidCreate;
|
||||
|
||||
public class AcknowledgedExtensionTest {
|
||||
|
||||
|
|
@ -39,9 +39,10 @@ public class AcknowledgedExtensionTest {
|
|||
|
||||
@Test
|
||||
public void checkDisplayedExtension() throws Exception {
|
||||
Message message = new Message(JidCreate.from("northumberland@shakespeare.lit/westminster"));
|
||||
message.setStanzaId("message-2");
|
||||
message.addExtension(new ChatMarkersElements.AcknowledgedExtension("message-1"));
|
||||
Message message = StanzaBuilder.buildMessage("message-2")
|
||||
.to("northumberland@shakespeare.lit/westminster")
|
||||
.addExtension(new ChatMarkersElements.AcknowledgedExtension("message-1"))
|
||||
.build();
|
||||
assertEquals(acknowledgedMessageStanza, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ package org.jivesoftware.smackx.chat_markers;
|
|||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import org.jivesoftware.smack.packet.Message;
|
||||
import org.jivesoftware.smack.packet.StanzaBuilder;
|
||||
import org.jivesoftware.smack.packet.StreamOpen;
|
||||
import org.jivesoftware.smack.util.PacketParserUtils;
|
||||
import org.jivesoftware.smack.xml.XmlPullParser;
|
||||
|
|
@ -28,7 +29,6 @@ import org.jivesoftware.smackx.chat_markers.element.ChatMarkersElements.Displaye
|
|||
import org.jivesoftware.smackx.chat_markers.provider.DisplayedProvider;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.jxmpp.jid.impl.JidCreate;
|
||||
|
||||
public class DisplayedExtensionTest {
|
||||
|
||||
|
|
@ -39,9 +39,10 @@ public class DisplayedExtensionTest {
|
|||
|
||||
@Test
|
||||
public void checkDisplayedExtension() throws Exception {
|
||||
Message message = new Message(JidCreate.from("northumberland@shakespeare.lit/westminster"));
|
||||
message.setStanzaId("message-2");
|
||||
message.addExtension(new ChatMarkersElements.DisplayedExtension("message-1"));
|
||||
Message message = StanzaBuilder.buildMessage("message-2")
|
||||
.to("northumberland@shakespeare.lit/westminster")
|
||||
.addExtension(new ChatMarkersElements.DisplayedExtension("message-1"))
|
||||
.build();
|
||||
assertEquals(displayedMessageStanza, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ package org.jivesoftware.smackx.chat_markers;
|
|||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import org.jivesoftware.smack.packet.Message;
|
||||
import org.jivesoftware.smack.packet.StanzaBuilder;
|
||||
import org.jivesoftware.smack.util.PacketParserUtils;
|
||||
import org.jivesoftware.smack.xml.XmlPullParser;
|
||||
|
||||
|
|
@ -39,10 +40,12 @@ public class MarkableExtensionTest {
|
|||
|
||||
@Test
|
||||
public void checkMarkableExtension() throws Exception {
|
||||
Message message = new Message(JidCreate.from("ingrichard@royalty.england.lit/throne"));
|
||||
message.setStanzaId("message-1");
|
||||
message.setBody("My lord, dispatch; read o'er these articles.");
|
||||
message.addExtension(ChatMarkersElements.MarkableExtension.INSTANCE);
|
||||
Message message = StanzaBuilder.buildMessage("message-1")
|
||||
.to(JidCreate.from("ingrichard@royalty.england.lit/throne"))
|
||||
.setBody("My lord, dispatch; read o'er these articles.")
|
||||
.addExtension(ChatMarkersElements.MarkableExtension.INSTANCE)
|
||||
.build();
|
||||
|
||||
assertEquals(markableMessageStanza, message.toXML().toString());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ package org.jivesoftware.smackx.chat_markers;
|
|||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import org.jivesoftware.smack.packet.Message;
|
||||
import org.jivesoftware.smack.packet.StanzaBuilder;
|
||||
import org.jivesoftware.smack.packet.StreamOpen;
|
||||
import org.jivesoftware.smack.util.PacketParserUtils;
|
||||
import org.jivesoftware.smack.xml.XmlPullParser;
|
||||
|
|
@ -28,7 +29,6 @@ import org.jivesoftware.smackx.chat_markers.element.ChatMarkersElements.Received
|
|||
import org.jivesoftware.smackx.chat_markers.provider.ReceivedProvider;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.jxmpp.jid.impl.JidCreate;
|
||||
|
||||
public class ReceivedExtensionTest {
|
||||
|
||||
|
|
@ -39,9 +39,10 @@ public class ReceivedExtensionTest {
|
|||
|
||||
@Test
|
||||
public void checkReceivedExtension() throws Exception {
|
||||
Message message = new Message(JidCreate.from("northumberland@shakespeare.lit/westminster"));
|
||||
message.setStanzaId("message-2");
|
||||
message.addExtension(new ChatMarkersElements.ReceivedExtension("message-1"));
|
||||
Message message = StanzaBuilder.buildMessage("message-2")
|
||||
.to("northumberland@shakespeare.lit/westminster")
|
||||
.addExtension(new ChatMarkersElements.ReceivedExtension("message-1"))
|
||||
.build();
|
||||
assertEquals(receivedMessageStanza, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,8 @@ import java.util.List;
|
|||
|
||||
import org.jivesoftware.smack.packet.ExtensionElement;
|
||||
import org.jivesoftware.smack.packet.Message;
|
||||
import org.jivesoftware.smack.packet.MessageBuilder;
|
||||
import org.jivesoftware.smack.packet.StanzaBuilder;
|
||||
import org.jivesoftware.smack.test.util.SmackTestSuite;
|
||||
|
||||
import org.jivesoftware.smackx.eme.element.ExplicitMessageEncryptionElement;
|
||||
|
|
@ -35,7 +37,7 @@ public class ExplicitMessageEncryptionElementTest extends SmackTestSuite {
|
|||
|
||||
@Test
|
||||
public void addToMessageTest() {
|
||||
Message message = new Message();
|
||||
Message message = StanzaBuilder.buildMessage().build();
|
||||
|
||||
// Check inital state (no elements)
|
||||
assertNull(ExplicitMessageEncryptionElement.from(message));
|
||||
|
|
@ -45,9 +47,12 @@ public class ExplicitMessageEncryptionElementTest extends SmackTestSuite {
|
|||
List<ExtensionElement> extensions = message.getExtensions();
|
||||
assertEquals(0, extensions.size());
|
||||
|
||||
MessageBuilder messageBuilder = StanzaBuilder.buildMessage();
|
||||
// Add OMEMO
|
||||
ExplicitMessageEncryptionElement.set(message,
|
||||
ExplicitMessageEncryptionElement.set(messageBuilder,
|
||||
ExplicitMessageEncryptionElement.ExplicitMessageEncryptionProtocol.omemoVAxolotl);
|
||||
|
||||
message = messageBuilder.build();
|
||||
extensions = message.getExtensions();
|
||||
assertEquals(1, extensions.size());
|
||||
assertTrue(ExplicitMessageEncryptionElement.hasProtocol(message,
|
||||
|
|
@ -59,8 +64,10 @@ public class ExplicitMessageEncryptionElementTest extends SmackTestSuite {
|
|||
assertFalse(ExplicitMessageEncryptionElement.hasProtocol(message,
|
||||
ExplicitMessageEncryptionElement.ExplicitMessageEncryptionProtocol.openpgpV0.getNamespace()));
|
||||
|
||||
ExplicitMessageEncryptionElement.set(message,
|
||||
ExplicitMessageEncryptionElement.set(messageBuilder,
|
||||
ExplicitMessageEncryptionElement.ExplicitMessageEncryptionProtocol.openpgpV0);
|
||||
|
||||
message = messageBuilder.build();
|
||||
extensions = message.getExtensions();
|
||||
assertEquals(2, extensions.size());
|
||||
assertTrue(ExplicitMessageEncryptionElement.hasProtocol(message,
|
||||
|
|
@ -69,9 +76,10 @@ public class ExplicitMessageEncryptionElementTest extends SmackTestSuite {
|
|||
ExplicitMessageEncryptionElement.ExplicitMessageEncryptionProtocol.omemoVAxolotl));
|
||||
|
||||
// Check, if adding additional OMEMO wont add another element
|
||||
ExplicitMessageEncryptionElement.set(message,
|
||||
ExplicitMessageEncryptionElement.set(messageBuilder,
|
||||
ExplicitMessageEncryptionElement.ExplicitMessageEncryptionProtocol.omemoVAxolotl);
|
||||
|
||||
message = messageBuilder.build();
|
||||
extensions = message.getExtensions();
|
||||
assertEquals(2, extensions.size());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import java.util.TimeZone;
|
|||
import org.jivesoftware.smack.packet.IQ;
|
||||
import org.jivesoftware.smack.packet.Message;
|
||||
import org.jivesoftware.smack.packet.Message.Type;
|
||||
import org.jivesoftware.smack.packet.StanzaBuilder;
|
||||
import org.jivesoftware.smack.packet.StreamOpen;
|
||||
|
||||
import org.jivesoftware.smackx.delay.packet.DelayInformation;
|
||||
|
|
@ -62,21 +63,21 @@ public class QueryArchiveTest extends MamTest {
|
|||
|
||||
@Test
|
||||
public void checkMamQueryResults() throws Exception {
|
||||
Message message = new Message();
|
||||
message.setStanzaId("iasd207");
|
||||
message.setFrom(JidCreate.from("coven@chat.shakespeare.lit"));
|
||||
message.setTo(JidCreate.from("hag66@shakespeare.lit/pda"));
|
||||
Message message = StanzaBuilder.buildMessage("iasd207")
|
||||
.from("coven@chat.shakespeare.lit")
|
||||
.to("hag66@shakespeare.lit/pda")
|
||||
.build();
|
||||
|
||||
GregorianCalendar calendar = new GregorianCalendar(2002, 10 - 1, 13, 23, 58, 37);
|
||||
calendar.setTimeZone(TimeZone.getTimeZone("UTC"));
|
||||
Date date = calendar.getTime();
|
||||
|
||||
DelayInformation delay = new DelayInformation(date);
|
||||
Message forwardedMessage = new Message();
|
||||
forwardedMessage.setFrom(JidCreate.from("coven@chat.shakespeare.lit/firstwitch"));
|
||||
forwardedMessage.setStanzaId("162BEBB1-F6DB-4D9A-9BD8-CFDCC801A0B2");
|
||||
forwardedMessage.setType(Type.chat);
|
||||
forwardedMessage.setBody("Thrice the brinded cat hath mew.");
|
||||
Message forwardedMessage = StanzaBuilder.buildMessage("162BEBB1-F6DB-4D9A-9BD8-CFDCC801A0B2")
|
||||
.from(JidCreate.from("coven@chat.shakespeare.lit/firstwitch"))
|
||||
.ofType(Type.chat)
|
||||
.setBody("Thrice the brinded cat hath mew.")
|
||||
.build();
|
||||
|
||||
Forwarded forwarded = new Forwarded(delay, forwardedMessage);
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,9 @@ package org.jivesoftware.smackx.push_notifications;
|
|||
|
||||
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.assertThrows;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.jivesoftware.smack.packet.Message;
|
||||
import org.jivesoftware.smack.util.PacketParserUtils;
|
||||
|
|
@ -56,18 +58,12 @@ public class RemoteDisablingPushNotificationsTest {
|
|||
|
||||
@Test
|
||||
public void checkWrongRemoteDisablighPushNotifications() throws Exception {
|
||||
Message message1 = PacketParserUtils.parseStanza(wrongRemoteDisabling1);
|
||||
RemoteDisablingExtension remoteDisablingExtension1 = RemoteDisablingExtension.from(message1);
|
||||
assertNull(remoteDisablingExtension1);
|
||||
assertThrows(IOException.class, () -> PacketParserUtils.parseStanza(wrongRemoteDisabling1));
|
||||
|
||||
Message message2 = PacketParserUtils.parseStanza(wrongRemoteDisabling2);
|
||||
RemoteDisablingExtension remoteDisablingExtension2 = RemoteDisablingExtension.from(message2);
|
||||
assertNull(remoteDisablingExtension2);
|
||||
assertThrows(IOException.class, () -> PacketParserUtils.parseStanza(wrongRemoteDisabling2));
|
||||
|
||||
Message message3 = PacketParserUtils.parseStanza(wrongRemoteDisabling3);
|
||||
assertNotNull(message3);
|
||||
// RemoteDisablingExtension remoteDisablingExtension3 = RemoteDisablingExtension.from(message3);
|
||||
// assertNull(remoteDisablingExtension3);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
|
|||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
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.TestUtils;
|
||||
import org.jivesoftware.smack.util.PacketParserUtils;
|
||||
|
|
@ -70,7 +71,7 @@ public class StableUniqueStanzaIdTest extends SmackTestSuite {
|
|||
|
||||
@Test
|
||||
public void fromMessageTest() {
|
||||
Message message = new Message();
|
||||
Message message = StanzaBuilder.buildMessage().build();
|
||||
assertFalse(OriginIdElement.hasOriginId(message));
|
||||
assertFalse(StanzaIdElement.hasStanzaId(message));
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
|
|||
import java.util.Map;
|
||||
|
||||
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.TestUtils;
|
||||
import org.jivesoftware.smack.xml.XmlPullParser;
|
||||
|
|
@ -40,7 +41,7 @@ public class SpoilerTest extends SmackTestSuite {
|
|||
public void emptySpoilerTest() throws Exception {
|
||||
final String xml = "<spoiler xmlns='urn:xmpp:spoiler:0'/>";
|
||||
|
||||
Message message = new Message();
|
||||
Message message = StanzaBuilder.buildMessage().build();
|
||||
SpoilerElement.addSpoiler(message);
|
||||
|
||||
SpoilerElement empty = message.getExtension(SpoilerElement.ELEMENT, SpoilerManager.NAMESPACE_0);
|
||||
|
|
@ -59,7 +60,7 @@ public class SpoilerTest extends SmackTestSuite {
|
|||
public void hintSpoilerTest() throws Exception {
|
||||
final String xml = "<spoiler xmlns='urn:xmpp:spoiler:0'>Love story end</spoiler>";
|
||||
|
||||
Message message = new Message();
|
||||
Message message = StanzaBuilder.buildMessage().build();
|
||||
SpoilerElement.addSpoiler(message, "Love story end");
|
||||
|
||||
SpoilerElement withHint = message.getExtension(SpoilerElement.ELEMENT, SpoilerManager.NAMESPACE_0);
|
||||
|
|
@ -79,7 +80,7 @@ public class SpoilerTest extends SmackTestSuite {
|
|||
public void i18nHintSpoilerTest() throws Exception {
|
||||
final String xml = "<spoiler xml:lang='de' xmlns='urn:xmpp:spoiler:0'>Der Kuchen ist eine Lüge!</spoiler>";
|
||||
|
||||
Message message = new Message();
|
||||
Message message = StanzaBuilder.buildMessage().build();
|
||||
SpoilerElement.addSpoiler(message, "de", "Der Kuchen ist eine Lüge!");
|
||||
|
||||
SpoilerElement i18nHint = message.getExtension(SpoilerElement.ELEMENT, SpoilerManager.NAMESPACE_0);
|
||||
|
|
@ -98,7 +99,7 @@ public class SpoilerTest extends SmackTestSuite {
|
|||
|
||||
@Test
|
||||
public void getSpoilersTest() {
|
||||
Message m = new Message();
|
||||
Message m = StanzaBuilder.buildMessage().build();
|
||||
assertTrue(SpoilerElement.getSpoilers(m).isEmpty());
|
||||
|
||||
SpoilerElement.addSpoiler(m);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue