mirror of
https://github.com/vanitasvitae/Smack.git
synced 2024-11-23 20:42:06 +01:00
More tests
This commit is contained in:
parent
e271532804
commit
63d71230cc
2 changed files with 71 additions and 17 deletions
|
@ -249,7 +249,7 @@ public class JingleUtil {
|
||||||
JingleContent.Creator contentCreator, String contentName) {
|
JingleContent.Creator contentCreator, String contentName) {
|
||||||
Jingle.Builder jb = Jingle.getBuilder();
|
Jingle.Builder jb = Jingle.getBuilder();
|
||||||
jb.setAction(JingleAction.session_terminate)
|
jb.setAction(JingleAction.session_terminate)
|
||||||
.setSessionId(sessionId);
|
.setSessionId(sessionId).setReason(JingleReason.Reason.cancel);
|
||||||
|
|
||||||
JingleContent.Builder cb = JingleContent.getBuilder();
|
JingleContent.Builder cb = JingleContent.getBuilder();
|
||||||
cb.setCreator(contentCreator).setName(contentName);
|
cb.setCreator(contentCreator).setName(contentName);
|
||||||
|
@ -497,8 +497,16 @@ public class JingleUtil {
|
||||||
connection.sendStanza(createErrorOutOfOrder(request));
|
connection.sendStanza(createErrorOutOfOrder(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* XEP-0166 Ex. 16
|
||||||
|
* @param request
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public IQ createErrorMalformedRequest(Jingle request) {
|
public IQ createErrorMalformedRequest(Jingle request) {
|
||||||
return IQ.createErrorResponse(request, XMPPError.Condition.bad_request);
|
XMPPError.Builder error = XMPPError.getBuilder();
|
||||||
|
error.setType(XMPPError.Type.CANCEL);
|
||||||
|
error.setCondition(XMPPError.Condition.bad_request);
|
||||||
|
return IQ.createErrorResponse(request, error);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendErrorMalformedRequest(Jingle request)
|
public void sendErrorMalformedRequest(Jingle request)
|
||||||
|
|
|
@ -28,6 +28,7 @@ import org.jivesoftware.smack.test.util.SmackTestSuite;
|
||||||
import org.jivesoftware.smack.test.util.TestUtils;
|
import org.jivesoftware.smack.test.util.TestUtils;
|
||||||
import org.jivesoftware.smackx.jingle.element.Jingle;
|
import org.jivesoftware.smackx.jingle.element.Jingle;
|
||||||
import org.jivesoftware.smackx.jingle.element.JingleAction;
|
import org.jivesoftware.smackx.jingle.element.JingleAction;
|
||||||
|
import org.jivesoftware.smackx.jingle.element.JingleContent;
|
||||||
import org.jivesoftware.smackx.jingle.element.JingleReason;
|
import org.jivesoftware.smackx.jingle.element.JingleReason;
|
||||||
import org.jivesoftware.smackx.jingle.provider.JingleProvider;
|
import org.jivesoftware.smackx.jingle.provider.JingleProvider;
|
||||||
|
|
||||||
|
@ -54,8 +55,8 @@ public class JingleUtilTest extends SmackTestSuite {
|
||||||
|
|
||||||
connection = new DummyConnection(
|
connection = new DummyConnection(
|
||||||
DummyConnection.getDummyConfigurationBuilder()
|
DummyConnection.getDummyConfigurationBuilder()
|
||||||
.setUsernameAndPassword("romeo@montague.lit",
|
.setUsernameAndPassword("romeo@montague.lit",
|
||||||
"iluvJulibabe13").build());
|
"iluvJulibabe13").build());
|
||||||
JingleManager jm = JingleManager.getInstanceFor(connection);
|
JingleManager jm = JingleManager.getInstanceFor(connection);
|
||||||
jutil = new JingleUtil(connection);
|
jutil = new JingleUtil(connection);
|
||||||
romeo = connection.getUser().asFullJidOrThrow();
|
romeo = connection.getUser().asFullJidOrThrow();
|
||||||
|
@ -75,12 +76,12 @@ public class JingleUtilTest extends SmackTestSuite {
|
||||||
Jingle terminate = jutil.createSessionTerminateDecline(juliet, "thisismadness");
|
Jingle terminate = jutil.createSessionTerminateDecline(juliet, "thisismadness");
|
||||||
String jingleXML =
|
String jingleXML =
|
||||||
"<jingle xmlns='urn:xmpp:jingle:1' " +
|
"<jingle xmlns='urn:xmpp:jingle:1' " +
|
||||||
"action='session-terminate' " +
|
"action='session-terminate' " +
|
||||||
"sid='thisismadness'>" +
|
"sid='thisismadness'>" +
|
||||||
"<reason>" +
|
"<reason>" +
|
||||||
"<decline/>" +
|
"<decline/>" +
|
||||||
"</reason>" +
|
"</reason>" +
|
||||||
"</jingle>";
|
"</jingle>";
|
||||||
String xml = getIQXML(romeo, juliet, terminate.getStanzaId(), jingleXML);
|
String xml = getIQXML(romeo, juliet, terminate.getStanzaId(), jingleXML);
|
||||||
assertXMLEqual(xml, terminate.toXML().toString());
|
assertXMLEqual(xml, terminate.toXML().toString());
|
||||||
Jingle jingle = new JingleProvider().parse(TestUtils.getParser(jingleXML));
|
Jingle jingle = new JingleProvider().parse(TestUtils.getParser(jingleXML));
|
||||||
|
@ -94,12 +95,12 @@ public class JingleUtilTest extends SmackTestSuite {
|
||||||
Jingle success = jutil.createSessionTerminateSuccess(juliet, "thisissparta");
|
Jingle success = jutil.createSessionTerminateSuccess(juliet, "thisissparta");
|
||||||
String jingleXML =
|
String jingleXML =
|
||||||
"<jingle xmlns='urn:xmpp:jingle:1' " +
|
"<jingle xmlns='urn:xmpp:jingle:1' " +
|
||||||
"action='session-terminate' " +
|
"action='session-terminate' " +
|
||||||
"sid='thisissparta'>" +
|
"sid='thisissparta'>" +
|
||||||
"<reason>" +
|
"<reason>" +
|
||||||
"<success/>" +
|
"<success/>" +
|
||||||
"</reason>" +
|
"</reason>" +
|
||||||
"</jingle>";
|
"</jingle>";
|
||||||
String xml = getIQXML(romeo, juliet, success.getStanzaId(), jingleXML);
|
String xml = getIQXML(romeo, juliet, success.getStanzaId(), jingleXML);
|
||||||
assertXMLEqual(xml, success.toXML().toString());
|
assertXMLEqual(xml, success.toXML().toString());
|
||||||
Jingle jingle = new JingleProvider().parse(TestUtils.getParser(jingleXML));
|
Jingle jingle = new JingleProvider().parse(TestUtils.getParser(jingleXML));
|
||||||
|
@ -221,10 +222,55 @@ public class JingleUtilTest extends SmackTestSuite {
|
||||||
assertEquals(JingleAction.session_info, jingle.getAction());
|
assertEquals(JingleAction.session_info, jingle.getAction());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void createSessionTerminateContentCancelTest() throws Exception {
|
||||||
|
Jingle cancel = jutil.createSessionTerminateContentCancel(juliet, "thisismumbo#5", JingleContent.Creator.initiator, "content123");
|
||||||
|
String jingleXML =
|
||||||
|
"<jingle xmlns='urn:xmpp:jingle:1' " +
|
||||||
|
"action='session-terminate' " +
|
||||||
|
"sid='thisismumbo#5'>" +
|
||||||
|
"<content creator='initiator' name='content123'/>" +
|
||||||
|
"<reason>" +
|
||||||
|
"<cancel/>" +
|
||||||
|
"</reason>" +
|
||||||
|
"</jingle>";
|
||||||
|
String xml = getIQXML(romeo, juliet, cancel.getStanzaId(), jingleXML);
|
||||||
|
assertXMLEqual(xml, cancel.toXML().toString());
|
||||||
|
Jingle jingle = new JingleProvider().parse(TestUtils.getParser(jingleXML));
|
||||||
|
assertNotNull(jingle);
|
||||||
|
assertEquals(JingleAction.session_terminate, jingle.getAction());
|
||||||
|
assertEquals(JingleReason.Reason.cancel, jingle.getReason().asEnum());
|
||||||
|
assertEquals("thisismumbo#5", jingle.getSid());
|
||||||
|
JingleContent content = jingle.getContents().get(0);
|
||||||
|
assertNotNull(content);
|
||||||
|
assertEquals("content123", content.getName());
|
||||||
|
assertEquals(JingleContent.Creator.initiator, content.getCreator());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void createErrorMalformedRequestTest() throws Exception {
|
||||||
|
Jingle j = defaultJingle(romeo, "error123");
|
||||||
|
IQ error = jutil.createErrorMalformedRequest(j);
|
||||||
|
String xml =
|
||||||
|
"<iq " +
|
||||||
|
"to='" + romeo + "' " +
|
||||||
|
"from='" + romeo +"' " +
|
||||||
|
"id='" + j.getStanzaId() + "' " +
|
||||||
|
"type='error'>" +
|
||||||
|
"<error type='cancel'>" +
|
||||||
|
"<bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>" +
|
||||||
|
"</error>" +
|
||||||
|
"</iq>";
|
||||||
|
assertXMLEqual(xml, error.toXML().toString());
|
||||||
|
}
|
||||||
|
|
||||||
private String getIQXML(FullJid from, FullJid to, String stanzaId, String jingleXML) {
|
private String getIQXML(FullJid from, FullJid to, String stanzaId, String jingleXML) {
|
||||||
return
|
return "<iq from='" + from + "' id='" + stanzaId + "' to='" + to + "' type='set'>" +
|
||||||
"<iq from='" + from + "' id='" + stanzaId + "' to='" + to + "' type='set'>" +
|
jingleXML +
|
||||||
jingleXML +
|
|
||||||
"</iq>";
|
"</iq>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Jingle defaultJingle(FullJid recipient, String sessionId) {
|
||||||
|
return jutil.createSessionPing(recipient, sessionId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue