/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.mobicents.media.server.impl.naming; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import org.apache.log4j.Logger; import org.jboss.test.kernel.junit.MicrocontainerTest; import org.mobicents.media.server.spi.Endpoint; import org.mobicents.media.server.spi.ResourceUnavailableException; /** * * @author kulikov */ public class InnerNamingServiceTestCase extends MicrocontainerTest { Logger logger = Logger.getLogger(InnerNamingServiceTestCase.class); private InnerNamingService namingService; private final String name = "/media/aap/[1..10]"; private final String name2 = "/media/aap/[1..10]/[1..2]"; public InnerNamingServiceTestCase(String name) { super(name); } @Override public void setUp() throws Exception { super.setUp(); namingService = new InnerNamingService(); namingService.start(); } /** * Test of getNames method, of class InnerNamingService. */ public void testGetNames() { NameParser parser = new NameParser(); Iterator<NameToken> tokens = parser.parse(name).iterator(); ArrayList<String> prefixes = new ArrayList(); prefixes.add(""); Collection<String> names = namingService.getNames(prefixes, tokens.next(), tokens); Iterator<String> it = names.iterator(); for (int i = 1; i <= 10; i++) { assertEquals("/media/aap/" + i, it.next()); } } public void testGetNames2() { NameParser parser = new NameParser(); Iterator<NameToken> tokens = parser.parse(name2).iterator(); ArrayList<String> prefixes = new ArrayList(); prefixes.add(""); Collection<String> names = namingService.getNames(prefixes, tokens.next(), tokens); Iterator<String> it = names.iterator(); for (int i = 1; i <= 2; i++) { for (int j = 1; j <= 10; j++) { assertEquals("/media/aap/" + j + "/" + i, it.next()); } } } public void testFind() { namingService = (InnerNamingService) getBean("MediaServer"); try { Endpoint endPt = namingService.find("/mobicents/media/aap/1", true); assertNotNull(endPt); try { endPt = namingService.find("/mobicents/media/aap/1", false); fail("ResourceUnavailableException should have been thrown"); } catch (ResourceUnavailableException e) { logger.debug("Expected Error", e); } } catch (ResourceUnavailableException e) { e.printStackTrace(); fail("testFind failed"); } } public void testFindAny() { namingService = (InnerNamingService) getBean("MediaServer"); try { Endpoint endPt = namingService.lookup("/mobicents/media/aap/$", false); assertNotNull(endPt); Endpoint endPt1 = namingService.lookup("/mobicents/media/aap/$", false); assertNotNull(endPt1); assertNotSame(endPt.getLocalName(), endPt1.getLocalName()); } catch (ResourceUnavailableException e) { e.printStackTrace(); fail("testFind failed"); } } }