package com.voxeo.moho.util; import java.math.BigInteger; import org.junit.Test; import static org.junit.Assert.*; import com.eaio.uuid.UUID; import com.voxeo.moho.remotejoin.RemoteParticipant; public class ParticipantIDParserTest { @Test public void testEncodeIPs() { assertEquals(ParticipantIDParser.ipToNormalizedLongString("127.0.0.1"), "127000000001"); assertEquals(ParticipantIDParser.ipToNormalizedLongString("12.0.20.1"), "012000020001"); assertEquals(ParticipantIDParser.ipToNormalizedLongString("1.0.0.1"), "001000000001"); assertEquals(ParticipantIDParser.ipToNormalizedLongString("127.120.202.221"), "127120202221"); assertEquals(ParticipantIDParser.ipToNormalizedLongString("12.120.22.221"), "012120022221"); } @Test public void testEncodePorts() { assertEquals(ParticipantIDParser.portToNormalizedLongString("20"), "00020"); assertEquals(ParticipantIDParser.portToNormalizedLongString("200"), "00200"); assertEquals(ParticipantIDParser.portToNormalizedLongString("2000"), "02000"); assertEquals(ParticipantIDParser.portToNormalizedLongString("20000"), "20000"); } @Test public void testEncodeType() { assertEquals(ParticipantIDParser.getNumericType( RemoteParticipant.RemoteParticipant_TYPE_CALL), ParticipantIDParser.TYPE_CALL); assertEquals(ParticipantIDParser.getNumericType( RemoteParticipant.RemoteParticipant_TYPE_CONFERENCE), ParticipantIDParser.TYPE_CONFERENCE); assertEquals(ParticipantIDParser.getNumericType( RemoteParticipant.RemoteParticipant_TYPE_DIALOG), ParticipantIDParser.TYPE_DIALOG); } @Test public void testShorten() { assertEquals(new BigInteger("1"), ParticipantIDParser.unshort(ParticipantIDParser.shorten(new BigInteger("1")))); assertEquals(new BigInteger("23"), ParticipantIDParser.unshort(ParticipantIDParser.shorten(new BigInteger("23")))); assertEquals(new BigInteger("234"), ParticipantIDParser.unshort(ParticipantIDParser.shorten(new BigInteger("234")))); assertEquals(new BigInteger("45234"), ParticipantIDParser.unshort(ParticipantIDParser.shorten(new BigInteger("45234")))); assertEquals(new BigInteger("98045234"), ParticipantIDParser.unshort(ParticipantIDParser.shorten(new BigInteger("98045234")))); assertEquals(new BigInteger("25698045234"), ParticipantIDParser.unshort(ParticipantIDParser.shorten(new BigInteger("25698045234")))); } @Test public void testEncode() { String raw = "moho://127.0.0.1:8080/call/" + Math.abs(new UUID().getTime()); assertEquals(raw, ParticipantIDParser.decode(ParticipantIDParser.encode(raw))); raw = "moho://34.67.128.98:80/call/" + Math.abs(new UUID().getTime()); assertEquals(raw, ParticipantIDParser.decode(ParticipantIDParser.encode(raw))); raw = "moho://10.0.0.2:23490/call/" + Math.abs(new UUID().getTime()); assertEquals(raw, ParticipantIDParser.decode(ParticipantIDParser.encode(raw))); } }