package net.rubyeye.xmemcached.test.unittest.utils; import java.net.InetSocketAddress; import java.util.List; import java.util.Map; import junit.framework.TestCase; import net.rubyeye.xmemcached.utils.AddrUtil; import org.junit.Test; public class AddrUtilTest extends TestCase { public void testGetAddresses() { try { AddrUtil.getAddresses(null); fail(); } catch (NullPointerException e) { assertEquals("Null host list", e.getMessage()); } try { AddrUtil.getAddresses(" "); fail(); } catch (IllegalArgumentException e) { assertEquals("No hosts in list: ``" + " " + "''", e.getMessage()); } List<InetSocketAddress> addresses = AddrUtil .getAddresses("localhost:12000 192.168.0.98:12000"); assertEquals(2, addresses.size()); assertEquals("localhost", addresses.get(0).getHostName()); // assertEquals("192.168.0.98",addresses.get(1).getHostName()); assertEquals(12000, addresses.get(0).getPort()); assertEquals(12000, addresses.get(1).getPort()); } public void testOneAddress() { try { AddrUtil.getOneAddress(null); fail(); } catch (NullPointerException e) { assertEquals("Null host", e.getMessage()); } try { AddrUtil.getOneAddress(" "); fail(); } catch (IllegalArgumentException e) { assertEquals("No hosts in: ``" + " " + "''", e.getMessage()); } try { AddrUtil.getOneAddress("localhost"); fail(); } catch (IllegalArgumentException e) { assertEquals("Invalid server ``localhost''", e.getMessage()); } InetSocketAddress addresses = AddrUtil.getOneAddress("localhost:12000"); assertEquals("localhost", addresses.getHostName()); // assertEquals("192.168.0.98",addresses.get(1).getHostName()); assertEquals(12000, addresses.getPort()); } @Test public void testGetAddressMap_IllegalArgument() { try { AddrUtil.getAddressMap(", localhost:12000,localhost:12001"); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } try { AddrUtil.getAddressMap(" "); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } } @Test public void testGetAddressMap_OnlyMainAddr() { Map<InetSocketAddress, InetSocketAddress> addressMap = AddrUtil .getAddressMap("localhost:12000 localhost:12001 localhost:12002 "); assertEquals(3, addressMap.size()); assertNull(addressMap.get(new InetSocketAddress("localhost", 12002))); assertNull(addressMap.get(new InetSocketAddress("localhost", 12000))); assertNull(addressMap.get(new InetSocketAddress("localhost", 12001))); } @Test public void testGetAddressMap() { Map<InetSocketAddress, InetSocketAddress> addressMap = AddrUtil .getAddressMap("localhost:12000,localhost:12001 localhost:12002 localhost:12001,localhost:12003"); assertEquals(3, addressMap.size()); assertEquals(new InetSocketAddress("localhost", 12001), addressMap .get(new InetSocketAddress("localhost", 12000))); assertNull(addressMap.get(new InetSocketAddress("localhost", 12002))); assertEquals(addressMap.get(new InetSocketAddress("localhost", 12001)), new InetSocketAddress("localhost", 12003)); } public void testGetAddress() { try { AddrUtil.getOneAddress(null); fail(); } catch (NullPointerException e) { assertEquals("Null host", e.getMessage()); } try { AddrUtil.getOneAddress(" "); fail(); } catch (IllegalArgumentException e) { assertEquals("No hosts in: ``" + " " + "''", e.getMessage()); } try { AddrUtil.getOneAddress("localhost"); fail(); } catch (IllegalArgumentException e) { assertEquals("Invalid server ``localhost''", e.getMessage()); } InetSocketAddress addresses = AddrUtil.getOneAddress("localhost:12000"); assertEquals("localhost", addresses.getHostName()); // assertEquals("192.168.0.98",addresses.get(1).getHostName()); assertEquals(12000, addresses.getPort()); } }