import junit.framework.TestCase; import org.jrack.Context; import org.jrack.JRack; import org.jrack.Rack; import org.jrack.context.MapContext; import org.jrack.utils.InvokerRack; public class InvokerTest extends TestCase { public void testHelloWorld() throws Exception { JRack rack = new InvokerRack("org.jrack.*"); Context<String> input = new MapContext<String>(); input.with(Rack.PATH_INFO, "org.jrack.examples.HelloWorldRack"); assertNotNull(rack.call(input)); } public void testInvalidMask() throws Exception { assertMask(false, "org.other.*", "org.jrack.tests.HelloWorldRack"); assertMask(false, "org.other.*", "org.otherproject.BadRack"); assertMask(true, "org.jrack.examples.*", "org.jrack.examples.HelloWorldRack"); assertMask(false, "org.*.nottests.*", "org.jrack.tests.HelloWorldRack"); } private void assertMask(boolean exceptMatch, String mask, String clazz) { JRack rack = new InvokerRack(mask); Context<String> input = new MapContext<String>(); input.with(Rack.PATH_INFO, clazz); Exception caught = null; try { rack.call(input); } catch (Exception e) { caught = e; } assertEquals(exceptMatch, caught == null); } }