Search in sources :

Example 1 with Router

use of ninja.Router in project ninja by ninjaframework.

the class NinjaServletBootstrapTest method userSuppliedServletModuleInShiftedConfDirectory.

@Test
public void userSuppliedServletModuleInShiftedConfDirectory() {
    ninjaPropertiesImpl = Mockito.spy(new NinjaPropertiesImpl(NinjaMode.test));
    Mockito.when(ninjaPropertiesImpl.get(NinjaConstant.APPLICATION_MODULES_BASE_PACKAGE)).thenReturn("custom_base_package");
    Bootstrap bootstrap = new NinjaServletBootstrap(ninjaPropertiesImpl);
    bootstrap.boot();
    assertThat("Ninja Boostrap process picks up user supplied Guice servlet module in custom_base_package.conf.ServletModule", bootstrap.getInjector().getInstance(custom_base_package.conf.ServletModule.DummyInterfaceForTesting.class), is(instanceOf(custom_base_package.conf.ServletModule.DummyClassForTesting.class)));
    Router router = bootstrap.getInjector().getInstance(Router.class);
    Route route = router.getRouteFor("GET", "/custom_base_package");
    assertThat("custom_base_package.conf.Routes initialized properly. We get back the class we defined by the route.", route.getControllerClass(), is(instanceOf(controller.DummyControllerForTesting.class.getClass())));
}
Also used : NinjaPropertiesImpl(ninja.utils.NinjaPropertiesImpl) Bootstrap(ninja.Bootstrap) Router(ninja.Router) Route(ninja.Route) Test(org.junit.Test)

Example 2 with Router

use of ninja.Router in project ninja by ninjaframework.

the class NinjaServletBootstrapTest method userSuppliedServletModuleInConfDirectory.

@Test
public void userSuppliedServletModuleInConfDirectory() {
    ninjaPropertiesImpl = new NinjaPropertiesImpl(NinjaMode.test);
    Bootstrap bootstrap = new NinjaServletBootstrap(ninjaPropertiesImpl);
    bootstrap.boot();
    assertThat(bootstrap.getInjector().getInstance(Context.class), is(instanceOf(NinjaServletContext.class)));
    assertThat("Ninja Boostrap process picks up user supplied Guice servlet module in conf.ServletModule", bootstrap.getInjector().getInstance(conf.ServletModule.DummyInterfaceForTesting.class), is(instanceOf(conf.ServletModule.DummyClassForTesting.class)));
    Router router = bootstrap.getInjector().getInstance(Router.class);
    Route route = router.getRouteFor("GET", "/");
    assertThat("conf.Routes initialized properly. We get back the class we defined by the route.", route.getControllerClass(), is(instanceOf(controller.DummyControllerForTesting.class.getClass())));
}
Also used : NinjaPropertiesImpl(ninja.utils.NinjaPropertiesImpl) Context(ninja.Context) Bootstrap(ninja.Bootstrap) Router(ninja.Router) Route(ninja.Route) Test(org.junit.Test)

Example 3 with Router

use of ninja.Router in project ninja by ninjaframework.

the class NinjaServletListenerTest method testCreatingInjectorWithCustomModulesPackageWorks.

@Test
public void testCreatingInjectorWithCustomModulesPackageWorks() {
    // setup stuff
    NinjaPropertiesImpl ninjaProperties = new NinjaPropertiesImpl(NinjaMode.test);
    ninjaProperties.setProperty(NinjaConstant.APPLICATION_MODULES_BASE_PACKAGE, "ninja.servlet");
    NinjaServletListener ninjaServletListener = new NinjaServletListener();
    ninjaServletListener.setNinjaProperties(ninjaProperties);
    // start the injector:
    ninjaServletListener.contextInitialized(servletContextEvent);
    // test stuff
    Injector injector = ninjaServletListener.getInjector();
    Router router = injector.getInstance((Router.class));
    //router is initialized otherwise there will be exception that routes isn't compiled
    router.getRouteFor("GET", "/");
    //validate that main application module is initialized
    Boolean mainModuleConstant = injector.getInstance(Key.get(Boolean.class, Names.named(Module.TEST_CONSTANT_NAME)));
    assertThat(mainModuleConstant, is(true));
}
Also used : NinjaPropertiesImpl(ninja.utils.NinjaPropertiesImpl) Injector(com.google.inject.Injector) Router(ninja.Router) Test(org.junit.Test)

Aggregations

Router (ninja.Router)3 NinjaPropertiesImpl (ninja.utils.NinjaPropertiesImpl)3 Test (org.junit.Test)3 Bootstrap (ninja.Bootstrap)2 Route (ninja.Route)2 Injector (com.google.inject.Injector)1 Context (ninja.Context)1