package org.mobicents.media.server.impl.rtp; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; import java.net.SocketException; import java.util.HashMap; import java.util.Map; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.mobicents.media.Format; import org.mobicents.media.format.AudioFormat; import org.mobicents.media.server.impl.clock.TimerImpl; import org.mobicents.media.server.spi.Timer; /** * * @author amit bhayani * */ public class RtpFactoryTest { private static final int HEART_BEAT = 20; private static final AudioFormat PCMA = new AudioFormat(AudioFormat.ALAW, 8000, 8, 1); private static final AudioFormat PCMU = new AudioFormat(AudioFormat.ULAW, 8000, 8, 1); private static Map<Integer, Format> formatMap = new HashMap<Integer, Format>(); static { formatMap.put(0, PCMU); formatMap.put(8, PCMA); } private RtpFactory factory = null; @BeforeClass public static void setUpClass() throws Exception { } @AfterClass public static void tearDownClass() throws Exception { } @Before public void setUp() throws Exception { factory = new RtpFactory(); factory.setFormatMap(formatMap); Timer timer = new TimerImpl(); timer.setHeartBeat(HEART_BEAT); factory.setTimer(timer); factory.setJitter(80); factory.setBindAddress("127.0.0.1"); factory.setLocalPort(9201); factory.start(); } @After public void tearDown() { // Dont close the Factory as it will stop the RtpSocket.readerThread and // RtpSocketTest will be screwed // factory.stop(); } @Test public void getRTPSocketTest() throws Exception { RtpSocket rtpSocket = factory.getRTPSocket(); int port = rtpSocket.getLocalPort(); assertEquals(9201, port); assertEquals(80, rtpSocket.getJitter()); HashMap<Integer, Format> format = rtpSocket.getRtpMap(); assertEquals(2, format.size()); format.remove(0); rtpSocket.setRtpMap(format); assertEquals(1, rtpSocket.getRtpMap().size()); rtpSocket.release(); RtpSocket rtpSocket2 = factory.getRTPSocket(); assertEquals(2, rtpSocket2.getRtpMap().size()); } }