diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jft/JingleFileTransferManager.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jft/JingleFileTransferManager.java index 391527825..3cbb5835e 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jft/JingleFileTransferManager.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jft/JingleFileTransferManager.java @@ -131,7 +131,7 @@ public final class JingleFileTransferManager extends Manager implements JingleDe public void notifyIncomingFileOfferListeners(JingleIncomingFileOffer offer) { LOGGER.log(Level.INFO, "Incoming File transfer: [" + offer.getNamespace() + ", " + offer.getParent().getTransport().getNamespace() + ", " - + offer.getParent().getSecurity().getNamespace()); + + (offer.getParent().getSecurity() != null ? offer.getParent().getSecurity().getNamespace() : "") + "]"); for (IncomingFileOfferListener l : offerListeners) { l.onIncomingFileOffer(offer); } diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/jingle/transport/JingleIBBTransportTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/jingle/transport/JingleTransportTest.java similarity index 70% rename from smack-integration-test/src/main/java/org/jivesoftware/smackx/jingle/transport/JingleIBBTransportTest.java rename to smack-integration-test/src/main/java/org/jivesoftware/smackx/jingle/transport/JingleTransportTest.java index e723eac38..4fa280164 100644 --- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/jingle/transport/JingleIBBTransportTest.java +++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/jingle/transport/JingleTransportTest.java @@ -26,9 +26,15 @@ import java.util.logging.Level; import org.jivesoftware.smack.util.Async; import org.jivesoftware.smackx.bytestreams.BytestreamSession; +import org.jivesoftware.smackx.jingle.JingleManager; import org.jivesoftware.smackx.jingle.callbacks.JingleTransportCallback; +import org.jivesoftware.smackx.jingle.components.JingleContent; import org.jivesoftware.smackx.jingle.components.JingleSession; +import org.jivesoftware.smackx.jingle.components.JingleTransport; +import org.jivesoftware.smackx.jingle.element.JingleContentElement; import org.jivesoftware.smackx.jingle.transport.jingle_ibb.JingleIBBTransport; +import org.jivesoftware.smackx.jingle.transport.jingle_s5b.JingleS5BTransport; +import org.jivesoftware.smackx.jingle.transport.jingle_s5b.JingleS5BTransportManager; import org.jivesoftware.smackx.jingle.util.Role; import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest; @@ -40,17 +46,36 @@ import org.junit.Assert; /** * Test the JingleIBBTransport in a very basic case. */ -public class JingleIBBTransportTest extends AbstractSmackIntegrationTest { +public class JingleTransportTest extends AbstractSmackIntegrationTest { - public JingleIBBTransportTest(SmackIntegrationTestEnvironment environment) { + public JingleTransportTest(SmackIntegrationTestEnvironment environment) { super(environment); } @SmackIntegrationTest - public void basicJIBBTTest() throws Exception { + public void JingleIBBTest() throws Exception { JingleIBBTransport sender = new JingleIBBTransport(); final JingleIBBTransport receiver = new JingleIBBTransport(sender.getSid(), sender.getBlockSize()); + basicTransportTest(sender, receiver); + } + + @SmackIntegrationTest + public void JingleS5BTest() throws Exception { + JingleSession sSession = new JingleSession(JingleManager.getInstanceFor(conOne), conOne.getUser().asFullJidOrThrow(), conTwo.getUser().asFullJidOrThrow(), Role.initiator, "session"); + JingleSession rSession = new JingleSession(JingleManager.getInstanceFor(conTwo), conTwo.getUser().asFullJidOrThrow(), conOne.getUser().asFullJidOrThrow(), Role.responder, "session"); + JingleContent sContent = new JingleContent(null, null, null, "content", null, JingleContentElement.Creator.initiator, JingleContentElement.Senders.initiator); + JingleContent rContent = new JingleContent(null, null, null, "content", null, JingleContentElement.Creator.initiator, JingleContentElement.Senders.initiator); + sSession.addContent(sContent); + rSession.addContent(rContent); + JingleS5BTransport sender = (JingleS5BTransport) JingleS5BTransportManager.getInstanceFor(conOne).createTransport(sContent); + JingleS5BTransport receiver = (JingleS5BTransport) JingleS5BTransportManager.getInstanceFor(conTwo).createTransport(rContent, sender); + + basicTransportTest(sender, receiver); + } + + + public void basicTransportTest(final JingleTransport sender, final JingleTransport receiver) throws Exception { JingleSession senderSession = new JingleSession(null, conTwo.getUser().asFullJidOrThrow(), conOne.getUser().asFullJidOrThrow(), Role.initiator, "sid"); JingleSession receiverSession = new JingleSession(null, conTwo.getUser().asFullJidOrThrow(), conOne.getUser().asFullJidOrThrow(), Role.responder, "sid"); @@ -71,7 +96,7 @@ public class JingleIBBTransportTest extends AbstractSmackIntegrationTest { try { InputStream inputStream = bytestreamSession.getInputStream(); - byte[] buf = new byte[receiver.getBlockSize()]; + byte[] buf = new byte[512]; int read = 0; while (read < size) { int r = inputStream.read(buf);