package com.limegroup.gnutella.routing;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import junit.framework.Test;
import com.limegroup.gnutella.messages.BadPacketException;
import com.limegroup.gnutella.messages.Message;
import com.limegroup.gnutella.util.BaseTestCase;
/**
* Unit tests for RouteTableMessage
*/
public class RouteTableMessageTest extends BaseTestCase {
public RouteTableMessageTest(String name) {
super(name);
}
public static Test suite() {
return buildTestSuite(RouteTableMessageTest.class);
}
public static void main(String[] args) {
junit.textui.TestRunner.run(suite());
}
public void testLegacy() throws Exception {
//Read bytes with bad variant
byte[] message=new byte[23+2];
message[16]=Message.F_ROUTE_TABLE_UPDATE; //function code
message[17]=(byte)3; //TTL
message[19]=(byte)2; //payload length
message[23+0]=(byte)0xFF; //bogus variant
InputStream in=new ByteArrayInputStream(message);
try {
Message m=(ResetTableMessage)Message.read(in);
fail("exception should have been thrown");
} catch (BadPacketException e) {
}
}
}