mirror of
https://github.com/vanitasvitae/Smack.git
synced 2024-11-27 14:32:06 +01:00
More Jingle IBB tests
This commit is contained in:
parent
efaa3c27a9
commit
4b8ac5a1ab
5 changed files with 32 additions and 12 deletions
|
@ -47,6 +47,9 @@ public class JingleIBBTransport extends JingleTransport<JingleIBBTransportElemen
|
||||||
public static final String NAMESPACE_V1 = "urn:xmpp:jingle:transports:ibb:1";
|
public static final String NAMESPACE_V1 = "urn:xmpp:jingle:transports:ibb:1";
|
||||||
public static final String NAMESPACE = NAMESPACE_V1;
|
public static final String NAMESPACE = NAMESPACE_V1;
|
||||||
|
|
||||||
|
public static final Short DEFAULT_BLOCK_SIZE = 4096;
|
||||||
|
public static final Short MAX_BLOCKSIZE = 8192;
|
||||||
|
|
||||||
private final String streamId;
|
private final String streamId;
|
||||||
private Short blockSize;
|
private Short blockSize;
|
||||||
|
|
||||||
|
@ -56,7 +59,7 @@ public class JingleIBBTransport extends JingleTransport<JingleIBBTransportElemen
|
||||||
}
|
}
|
||||||
|
|
||||||
public JingleIBBTransport() {
|
public JingleIBBTransport() {
|
||||||
this(StringUtils.randomString(10), JingleIBBTransportElement.DEFAULT_BLOCK_SIZE);
|
this(StringUtils.randomString(10), DEFAULT_BLOCK_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Short getBlockSize() {
|
public Short getBlockSize() {
|
||||||
|
|
|
@ -33,8 +33,6 @@ import org.jivesoftware.smackx.jingle.transport.jingle_ibb.provider.JingleIBBTra
|
||||||
*/
|
*/
|
||||||
public final class JingleIBBTransportManager extends Manager implements JingleTransportManager {
|
public final class JingleIBBTransportManager extends Manager implements JingleTransportManager {
|
||||||
|
|
||||||
public static final short MAX_BLOCKSIZE = 8192;
|
|
||||||
|
|
||||||
private static final WeakHashMap<XMPPConnection, JingleIBBTransportManager> INSTANCES = new WeakHashMap<>();
|
private static final WeakHashMap<XMPPConnection, JingleIBBTransportManager> INSTANCES = new WeakHashMap<>();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
@ -73,7 +71,7 @@ public final class JingleIBBTransportManager extends Manager implements JingleTr
|
||||||
@Override
|
@Override
|
||||||
public JingleTransport<?> createTransportForResponder(JingleContent content, JingleTransport<?> peersTransport) {
|
public JingleTransport<?> createTransportForResponder(JingleContent content, JingleTransport<?> peersTransport) {
|
||||||
JingleIBBTransport other = (JingleIBBTransport) peersTransport;
|
JingleIBBTransport other = (JingleIBBTransport) peersTransport;
|
||||||
return new JingleIBBTransport(other.getStreamId(), (short) Math.min(other.getBlockSize(), MAX_BLOCKSIZE));
|
return new JingleIBBTransport(other.getStreamId(), (short) Math.min(other.getBlockSize(), JingleIBBTransport.MAX_BLOCKSIZE));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -27,15 +27,13 @@ public class JingleIBBTransportElement extends JingleContentTransportElement {
|
||||||
public static final String ATTR_BLOCK_SIZE = "block-size";
|
public static final String ATTR_BLOCK_SIZE = "block-size";
|
||||||
public static final String ATTR_SID = "sid";
|
public static final String ATTR_SID = "sid";
|
||||||
|
|
||||||
public static final Short DEFAULT_BLOCK_SIZE = 4096;
|
|
||||||
|
|
||||||
private final String sid;
|
private final String sid;
|
||||||
private final Short blockSize;
|
private final Short blockSize;
|
||||||
|
|
||||||
public JingleIBBTransportElement(String streamId, Short blockSize) {
|
public JingleIBBTransportElement(String streamId, Short blockSize) {
|
||||||
super(null);
|
super(null);
|
||||||
this.sid = streamId;
|
this.sid = streamId;
|
||||||
this.blockSize = blockSize != null ? blockSize : DEFAULT_BLOCK_SIZE;
|
this.blockSize = blockSize != null ? blockSize : JingleIBBTransport.DEFAULT_BLOCK_SIZE;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Short getBlockSize() {
|
public Short getBlockSize() {
|
||||||
|
|
|
@ -32,6 +32,7 @@ import org.jivesoftware.smackx.jingle.element.JingleContentElement;
|
||||||
import org.jivesoftware.smackx.jingle.element.JingleElement;
|
import org.jivesoftware.smackx.jingle.element.JingleElement;
|
||||||
import org.jivesoftware.smackx.jingle.element.JingleReasonElement;
|
import org.jivesoftware.smackx.jingle.element.JingleReasonElement;
|
||||||
import org.jivesoftware.smackx.jingle.provider.JingleProvider;
|
import org.jivesoftware.smackx.jingle.provider.JingleProvider;
|
||||||
|
import org.jivesoftware.smackx.jingle.transport.jingle_ibb.JingleIBBTransport;
|
||||||
import org.jivesoftware.smackx.jingle.transport.jingle_ibb.element.JingleIBBTransportElement;
|
import org.jivesoftware.smackx.jingle.transport.jingle_ibb.element.JingleIBBTransportElement;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
@ -290,7 +291,7 @@ public class JingleElementTest extends SmackTestSuite {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void createTransportAcceptTest() throws IOException, SAXException {
|
public void createTransportAcceptTest() throws IOException, SAXException {
|
||||||
JingleElement transportAccept = JingleElement.createTransportAccept(juliet, romeo, "transAcc", JingleContentElement.Creator.initiator, "cname", new JingleIBBTransportElement("transid", JingleIBBTransportElement.DEFAULT_BLOCK_SIZE));
|
JingleElement transportAccept = JingleElement.createTransportAccept(juliet, romeo, "transAcc", JingleContentElement.Creator.initiator, "cname", new JingleIBBTransportElement("transid", JingleIBBTransport.DEFAULT_BLOCK_SIZE));
|
||||||
String jingleXML =
|
String jingleXML =
|
||||||
"<jingle xmlns='urn:xmpp:jingle:1' " +
|
"<jingle xmlns='urn:xmpp:jingle:1' " +
|
||||||
"action='transport-accept' " +
|
"action='transport-accept' " +
|
||||||
|
@ -298,7 +299,7 @@ public class JingleElementTest extends SmackTestSuite {
|
||||||
"sid='transAcc'>" +
|
"sid='transAcc'>" +
|
||||||
"<content creator='initiator' name='cname'>" +
|
"<content creator='initiator' name='cname'>" +
|
||||||
"<transport xmlns='urn:xmpp:jingle:transports:ibb:1' " +
|
"<transport xmlns='urn:xmpp:jingle:transports:ibb:1' " +
|
||||||
"block-size='" + JingleIBBTransportElement.DEFAULT_BLOCK_SIZE + "' " +
|
"block-size='" + JingleIBBTransport.DEFAULT_BLOCK_SIZE + "' " +
|
||||||
"sid='transid'/>" +
|
"sid='transid'/>" +
|
||||||
"</content>" +
|
"</content>" +
|
||||||
"</jingle>";
|
"</jingle>";
|
||||||
|
@ -315,7 +316,7 @@ public class JingleElementTest extends SmackTestSuite {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void createTransportReplaceTest() throws IOException, SAXException {
|
public void createTransportReplaceTest() throws IOException, SAXException {
|
||||||
JingleElement transportReplace = JingleElement.createTransportReplace(juliet, romeo, "transAcc", JingleContentElement.Creator.initiator, "cname", new JingleIBBTransportElement("transid", JingleIBBTransportElement.DEFAULT_BLOCK_SIZE));
|
JingleElement transportReplace = JingleElement.createTransportReplace(juliet, romeo, "transAcc", JingleContentElement.Creator.initiator, "cname", new JingleIBBTransportElement("transid", JingleIBBTransport.DEFAULT_BLOCK_SIZE));
|
||||||
String jingleXML =
|
String jingleXML =
|
||||||
"<jingle xmlns='urn:xmpp:jingle:1' " +
|
"<jingle xmlns='urn:xmpp:jingle:1' " +
|
||||||
"action='transport-replace' " +
|
"action='transport-replace' " +
|
||||||
|
@ -323,7 +324,7 @@ public class JingleElementTest extends SmackTestSuite {
|
||||||
"sid='transAcc'>" +
|
"sid='transAcc'>" +
|
||||||
"<content creator='initiator' name='cname'>" +
|
"<content creator='initiator' name='cname'>" +
|
||||||
"<transport xmlns='urn:xmpp:jingle:transports:ibb:1' " +
|
"<transport xmlns='urn:xmpp:jingle:transports:ibb:1' " +
|
||||||
"block-size='" + JingleIBBTransportElement.DEFAULT_BLOCK_SIZE + "' " +
|
"block-size='" + JingleIBBTransport.DEFAULT_BLOCK_SIZE + "' " +
|
||||||
"sid='transid'/>" +
|
"sid='transid'/>" +
|
||||||
"</content>" +
|
"</content>" +
|
||||||
"</jingle>";
|
"</jingle>";
|
||||||
|
|
|
@ -20,6 +20,7 @@ import static junit.framework.TestCase.assertEquals;
|
||||||
import static junit.framework.TestCase.assertFalse;
|
import static junit.framework.TestCase.assertFalse;
|
||||||
import static junit.framework.TestCase.assertTrue;
|
import static junit.framework.TestCase.assertTrue;
|
||||||
|
|
||||||
|
import org.jivesoftware.smack.DummyConnection;
|
||||||
import org.jivesoftware.smack.test.util.SmackTestSuite;
|
import org.jivesoftware.smack.test.util.SmackTestSuite;
|
||||||
import org.jivesoftware.smack.test.util.TestUtils;
|
import org.jivesoftware.smack.test.util.TestUtils;
|
||||||
import org.jivesoftware.smack.util.StringUtils;
|
import org.jivesoftware.smack.util.StringUtils;
|
||||||
|
@ -52,7 +53,7 @@ public class JingleIBBTransportTest extends SmackTestSuite {
|
||||||
assertEquals(xml, parsed.toXML().toString());
|
assertEquals(xml, parsed.toXML().toString());
|
||||||
|
|
||||||
JingleIBBTransport transport1 = new JingleIBBTransport();
|
JingleIBBTransport transport1 = new JingleIBBTransport();
|
||||||
assertEquals(JingleIBBTransportElement.DEFAULT_BLOCK_SIZE, transport1.getBlockSize());
|
assertEquals(JingleIBBTransport.DEFAULT_BLOCK_SIZE, transport1.getBlockSize());
|
||||||
|
|
||||||
assertFalse(transport.equals(null));
|
assertFalse(transport.equals(null));
|
||||||
|
|
||||||
|
@ -63,4 +64,23 @@ public class JingleIBBTransportTest extends SmackTestSuite {
|
||||||
transport1.handleSessionAccept(transport2.getElement(), null);
|
transport1.handleSessionAccept(transport2.getElement(), null);
|
||||||
assertEquals(transport2.getBlockSize(), transport1.getBlockSize());
|
assertEquals(transport2.getBlockSize(), transport1.getBlockSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void jingleIBBTransportManagerTest() {
|
||||||
|
JingleIBBTransportManager manager = JingleIBBTransportManager.getInstanceFor(new DummyConnection());
|
||||||
|
|
||||||
|
JingleIBBTransport transport1 = (JingleIBBTransport) manager.createTransportForInitiator(null);
|
||||||
|
assertEquals(JingleIBBTransport.DEFAULT_BLOCK_SIZE, transport1.getBlockSize());
|
||||||
|
|
||||||
|
JingleIBBTransport transport2 = new JingleIBBTransport("sid", (short) 256);
|
||||||
|
|
||||||
|
JingleIBBTransport transport3 = (JingleIBBTransport) manager.createTransportForResponder(null, transport2);
|
||||||
|
assertEquals((Short) (short) 256, transport3.getBlockSize());
|
||||||
|
|
||||||
|
JingleIBBTransport transport4 = new JingleIBBTransport("sod", Short.MAX_VALUE);
|
||||||
|
assertEquals((Short) Short.MAX_VALUE, transport4.getBlockSize());
|
||||||
|
|
||||||
|
JingleIBBTransport transport5 = (JingleIBBTransport) manager.createTransportForResponder(null, transport4);
|
||||||
|
assertEquals(JingleIBBTransport.MAX_BLOCKSIZE, transport5.getBlockSize());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue