package org.limewire.xmpp.client.impl.messages.connectrequest;
import static org.limewire.xmpp.client.impl.messages.IQTestUtils.createParser;
import org.limewire.io.ConnectableImpl;
import org.limewire.io.GUID;
import org.limewire.net.ConnectBackRequest;
import org.limewire.util.BaseTestCase;
import org.limewire.xmpp.client.impl.messages.InvalidIQException;
import org.xmlpull.v1.XmlPullParserException;
public class ConnectBackRequestIQTest extends BaseTestCase {
public ConnectBackRequestIQTest(String name) {
super(name);
}
public void testParsesItsOwnOutput() throws Exception {
GUID guid = new GUID();
ConnectBackRequest connectRequest = new ConnectBackRequest(new ConnectableImpl("129.0.0.1", 5000, true), guid, 1);
ConnectBackRequest parsedRequest = new ConnectBackRequestIQ(createParser(new ConnectBackRequestIQ(connectRequest).getChildElementXML())).getConnectBackRequest();
assertEquals(connectRequest.getClientGuid(), parsedRequest.getClientGuid());
assertEquals(connectRequest.getAddress(), parsedRequest.getAddress());
assertEquals(connectRequest.getSupportedFWTVersion(), parsedRequest.getSupportedFWTVersion());
}
public void testThrowsOnMissingAddress() throws Exception {
try {
new ConnectBackRequestIQ(createParser("<connect-back-request xmlns=\"jabber:iq:lw-connect-request\" client-guid=\"" + new GUID() + "\" supported-fwt-version=\"0\"></connect-back-request>"));
fail("invalid iq exception expected");
} catch (XmlPullParserException e) {
fail(e);
} catch (InvalidIQException e) {
}
}
public void testThrowsOnInvalidGuid() throws Exception {
try {
new ConnectBackRequestIQ(createParser("<connect-back-request xmlns=\"jabber:iq:lw-connect-request\" client-guid=\"ffdfdd\" supported-fwt-version=\"0\"><address type=\"direct-connect\" value=\"AIEAAAETiAE=\"/></connect-back-request>"));
fail("invalid iq exception expected");
} catch (XmlPullParserException e) {
fail(e);
} catch (InvalidIQException e) {
}
}
public void testThrowsOnMissingGuid() throws Exception {
try {
new ConnectBackRequestIQ(createParser("<connect-back-request xmlns=\"jabber:iq:lw-connect-request\" supported-fwt-version=\"0\"><address type=\"direct-connect\" value=\"AIEAAAETiAE=\"/></connect-back-request>"));
fail("invalid iq exception expected");
} catch (XmlPullParserException e) {
fail(e);
} catch (InvalidIQException e) {
}
}
public void testThrowsOnMissingFWTVersion() throws Exception {
try {
new ConnectBackRequestIQ(createParser("<connect-back-request xmlns=\"jabber:iq:lw-connect-request\" client-guid=\"BD2BF8AA3D262F0957AF5F96B7F16600\"><address type=\"direct-connect\" value=\"AIEAAAETiAE=\"/></connect-back-request>"));
fail("invalid iq exception expected");
} catch (XmlPullParserException e) {
fail(e);
} catch (InvalidIQException e) {
}
}
public void testThrowsOnInvalidFWTVersion() throws Exception {
try {
new ConnectBackRequestIQ(createParser("<connect-back-request xmlns=\"jabber:iq:lw-connect-request\" client-guid=\"BD2BF8AA3D262F0957AF5F96B7F16600\" supported-fwt-version=\"A\"><address type=\"direct-connect\" value=\"AIEAAAETiAE=\"/></connect-back-request>"));
fail("invalid iq exception expected");
} catch (XmlPullParserException e) {
fail(e);
} catch (InvalidIQException e) {
}
}
}