/* vim: set ts=2 et sw=2 cindent fo=qroca: */
package com.globant.katari.core.web;
import static org.easymock.EasyMock.createMock;
import org.springframework.beans.DirectFieldAccessor;
import java.util.List;
import java.util.LinkedList;
import java.util.Locale;
import org.junit.Test;
import static org.junit.Assert.assertThat;
import static org.hamcrest.CoreMatchers.*;
import com.globant.katari.core.login.LoginConfigurationSetter;
import com.globant.katari.core.spring.KatariMessageSource;
public class ModuleContextRegistrarTest {
@Test
public void testGetNewModuleContext_withMenu() {
ModuleListenerProxy listener = new ModuleListenerProxy();
ModuleFilterProxy filter = new ModuleFilterProxy();
ModuleContainerServlet containerServlet = new ModuleContainerServlet();
MenuBar menuBar = new MenuBar();
LoginConfigurationSetter loginConfig;
loginConfig = createMock(LoginConfigurationSetter.class);
ModuleContextRegistrar registrar = new ModuleContextRegistrar(listener,
filter, containerServlet, new KatariMessageSource(Locale.US), menuBar,
loginConfig);
ModuleContext context = registrar.getNewModuleContext("test");
MenuBar contextMenuBar = (MenuBar) (new DirectFieldAccessor(context))
.getPropertyValue("menuBar");
assertThat(contextMenuBar, is(menuBar));
}
@Test
public void testGetNewModuleContext_ignoreMenu() {
ModuleListenerProxy listener = new ModuleListenerProxy();
ModuleFilterProxy filter = new ModuleFilterProxy();
ModuleContainerServlet containerServlet = new ModuleContainerServlet();
MenuBar menuBar = new MenuBar();
LoginConfigurationSetter loginConfig;
loginConfig = createMock(LoginConfigurationSetter.class);
ModuleContextRegistrar registrar = new ModuleContextRegistrar(listener,
filter, containerServlet, new KatariMessageSource(Locale.US), menuBar,
loginConfig);
List<String> moduleNames = new LinkedList<String>();
moduleNames.add("test");
registrar.setModuleMenusToIgnore(moduleNames);
ModuleContext context = registrar.getNewModuleContext("test");
MenuBar contextMenuBar = (MenuBar) (new DirectFieldAccessor(context))
.getPropertyValue("menuBar");
assertThat(contextMenuBar, is(nullValue()));
}
@Test
public void testGetNewModuleContext_ignoreAll() {
ModuleListenerProxy listener = new ModuleListenerProxy();
ModuleFilterProxy filter = new ModuleFilterProxy();
ModuleContainerServlet containerServlet = new ModuleContainerServlet();
MenuBar menuBar = new MenuBar();
LoginConfigurationSetter loginConfig;
loginConfig = createMock(LoginConfigurationSetter.class);
ModuleContextRegistrar registrar = new ModuleContextRegistrar(listener,
filter, containerServlet, new KatariMessageSource(Locale.US), menuBar,
loginConfig);
List<String> moduleNames = new LinkedList<String>();
moduleNames.add(".*");
registrar.setModuleMenusToIgnore(moduleNames);
ModuleContext context = registrar.getNewModuleContext("test");
MenuBar contextMenuBar = (MenuBar) (new DirectFieldAccessor(context))
.getPropertyValue("menuBar");
assertThat(contextMenuBar, is(nullValue()));
}
}