diff --git a/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityObserver.java b/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityObserver.java
index 4c9acc3..adfe5e2 100644
--- a/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityObserver.java
+++ b/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityObserver.java
@@ -87,7 +87,8 @@ public class SecurityObserver implements Serializable {
clear();
FacesContext facesContext = Beans.getReference(FacesContext.class);
- if (!config.getLoginPage().equals(facesContext.getViewRoot().getViewId())) {
+ if (!config.getLoginPage()
+ .equals(facesContext.getViewRoot().getViewId())) {
getSavedParams().putAll(facesContext.getExternalContext().getRequestParameterMap());
savedViewId = facesContext.getViewRoot().getViewId();
}
diff --git a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/bootstrap/FacesBootstrapTest.java b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/bootstrap/FacesBootstrapTest.java
deleted file mode 100644
index 401df82..0000000
--- a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/bootstrap/FacesBootstrapTest.java
+++ /dev/null
@@ -1,72 +0,0 @@
-///*
-// * Demoiselle Framework
-// * Copyright (C) 2010 SERPRO
-// * ----------------------------------------------------------------------------
-// * This file is part of Demoiselle Framework.
-// *
-// * Demoiselle Framework is free software; you can redistribute it and/or
-// * modify it under the terms of the GNU Lesser General Public License version 3
-// * as published by the Free Software Foundation.
-// *
-// * This program is distributed in the hope that it will be useful,
-// * but WITHOUT ANY WARRANTY; without even the implied warranty of
-// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// * GNU General Public License for more details.
-// *
-// * You should have received a copy of the GNU Lesser General Public License version 3
-// * along with this program; if not, see
-// * or write to the Free Software Foundation, Inc., 51 Franklin Street,
-// * Fifth Floor, Boston, MA 02110-1301, USA.
-// * ----------------------------------------------------------------------------
-// * Este arquivo é parte do Framework Demoiselle.
-// *
-// * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou
-// * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação
-// * do Software Livre (FSF).
-// *
-// * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
-// * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou
-// * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português
-// * para maiores detalhes.
-// *
-// * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título
-// * "LICENCA.txt", junto com esse programa. Se não, acesse
-// * ou escreva para a Fundação do Software Livre (FSF) Inc.,
-// * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
-// */
-//package br.gov.frameworkdemoiselle.internal.bootstrap;
-//import org.junit.Ignore;
-//import static org.powermock.api.easymock.PowerMock.createMock;
-//import static org.powermock.api.easymock.PowerMock.replay;
-//import static org.powermock.api.easymock.PowerMock.verifyAll;
-//
-//import javax.enterprise.inject.spi.AfterBeanDiscovery;
-//
-//import org.easymock.EasyMock;
-//import org.junit.Before;
-//import org.junit.Test;
-//import org.junit.runner.RunWith;
-//import org.powermock.modules.junit4.PowerMockRunner;
-//
-//import br.gov.frameworkdemoiselle.internal.context.ViewContext;
-//@Ignore
-//@RunWith(PowerMockRunner.class)
-//public class FacesBootstrapTest {
-//
-// private JsfBootstrap bootstrap;
-//
-// @Before
-// public void before() {
-// bootstrap = new JsfBootstrap();
-// }
-//
-// @Test
-// public void testLoadContexts() {
-// AfterBeanDiscovery event = createMock(AfterBeanDiscovery.class);
-// event.addContext(EasyMock.anyObject(ViewContext.class));
-// replay(event);
-// bootstrap.loadContexts(event);
-// verifyAll();
-// }
-//
-//}
diff --git a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/bootstrap/JsfBootstrapTest.java b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/bootstrap/JsfBootstrapTest.java
new file mode 100644
index 0000000..7c0cfc2
--- /dev/null
+++ b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/bootstrap/JsfBootstrapTest.java
@@ -0,0 +1,131 @@
+/*
+ * Demoiselle Framework
+ * Copyright (C) 2010 SERPRO
+ * ----------------------------------------------------------------------------
+ * This file is part of Demoiselle Framework.
+ *
+ * Demoiselle Framework is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License version 3
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License version 3
+ * along with this program; if not, see
+ * or write to the Free Software Foundation, Inc., 51 Franklin Street,
+ * Fifth Floor, Boston, MA 02110-1301, USA.
+ * ----------------------------------------------------------------------------
+ * Este arquivo é parte do Framework Demoiselle.
+ *
+ * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou
+ * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação
+ * do Software Livre (FSF).
+ *
+ * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
+ * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou
+ * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português
+ * para maiores detalhes.
+ *
+ * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título
+ * "LICENCA.txt", junto com esse programa. Se não, acesse
+ * ou escreva para a Fundação do Software Livre (FSF) Inc.,
+ * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
+ */
+package br.gov.frameworkdemoiselle.internal.bootstrap;
+
+import static org.easymock.EasyMock.expect;
+import static org.powermock.api.easymock.PowerMock.createMock;
+import static org.powermock.api.easymock.PowerMock.mockStatic;
+import static org.powermock.api.easymock.PowerMock.replayAll;
+import static org.powermock.api.easymock.PowerMock.replay;
+import static org.powermock.api.easymock.PowerMock.verifyAll;
+import static org.powermock.api.easymock.PowerMock.verify;
+
+import java.lang.annotation.Annotation;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.AfterBeanDiscovery;
+import javax.enterprise.inject.spi.AfterDeploymentValidation;
+
+import junit.framework.Assert;
+
+import org.easymock.EasyMock;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+import org.junit.runner.RunWith;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+import org.powermock.reflect.Whitebox;
+
+import br.gov.frameworkdemoiselle.internal.context.Contexts;
+import br.gov.frameworkdemoiselle.internal.context.CustomContext;
+import br.gov.frameworkdemoiselle.internal.context.ViewContext;
+import br.gov.frameworkdemoiselle.lifecycle.AfterShutdownProccess;
+import br.gov.frameworkdemoiselle.util.Beans;
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest({ Beans.class, Contexts.class })
+public class JsfBootstrapTest {
+
+ private JsfBootstrap bootstrap;
+
+ private AfterBeanDiscovery event;
+
+ @Before
+ public void before() {
+ event = createMock(AfterBeanDiscovery.class);
+ mockStatic(Beans.class);
+ expect(Beans.getReference(Locale.class)).andReturn(Locale.getDefault()).anyTimes();
+ replay(Beans.class);
+ bootstrap = new JsfBootstrap();
+ }
+
+ @Test
+ public void testStoreContexts() {
+ bootstrap.storeContexts(event);
+ replay(event);
+
+ Assert.assertEquals(event, Whitebox.getInternalState(bootstrap, "afterBeanDiscoveryEvent"));
+ List context = Whitebox.getInternalState(bootstrap, "tempContexts");
+ Assert.assertEquals(1, context.size());
+ verifyAll();
+ }
+
+ @Test
+ public void testAddContexts() {
+ List tempContexts = new ArrayList();
+ CustomContext tempContext = new ViewContext();
+ tempContexts.add(tempContext);
+ Whitebox.setInternalState(bootstrap, "tempContexts", tempContexts);
+ Whitebox.setInternalState(bootstrap, "afterBeanDiscoveryEvent", event);
+
+ AfterDeploymentValidation afterDeploymentValidation = createMock(AfterDeploymentValidation.class);
+
+ event.addContext(tempContext);
+
+ replay(event, afterDeploymentValidation);
+
+ bootstrap.addContexts(afterDeploymentValidation);
+ verifyAll();
+ }
+
+ @Test
+ public void testRemoveContexts() {
+ bootstrap.storeContexts(event);
+
+ AfterShutdownProccess afterShutdownProccess = createMock(AfterShutdownProccess.class);
+ replay(event, afterShutdownProccess);
+ bootstrap.removeContexts(afterShutdownProccess);
+
+ verifyAll();
+ }
+
+}
diff --git a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/configuration/ExceptionHandlerConfigTest.java b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/configuration/ExceptionHandlerConfigTest.java
new file mode 100644
index 0000000..2473385
--- /dev/null
+++ b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/configuration/ExceptionHandlerConfigTest.java
@@ -0,0 +1,27 @@
+package br.gov.frameworkdemoiselle.internal.configuration;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class ExceptionHandlerConfigTest {
+
+ private ExceptionHandlerConfig config;
+
+ @Before
+ public void setUP() throws Exception {
+ this.config = new ExceptionHandlerConfig();
+ }
+
+ @Test
+ public void testGetExceptionPage() {
+ assertEquals("/application_error", config.getExceptionPage());
+ }
+
+ @Test
+ public void testIsHandleApplicationException() {
+ assertEquals(true, config.isHandleApplicationException());
+ }
+
+}
diff --git a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/configuration/JsfSecurityConfigTest.java b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/configuration/JsfSecurityConfigTest.java
new file mode 100644
index 0000000..70225de
--- /dev/null
+++ b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/configuration/JsfSecurityConfigTest.java
@@ -0,0 +1,38 @@
+package br.gov.frameworkdemoiselle.internal.configuration;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Before;
+import org.junit.Test;
+
+
+public class JsfSecurityConfigTest {
+
+ private JsfSecurityConfig config;
+
+ @Before
+ public void setUp() throws Exception {
+ this.config = new JsfSecurityConfig();
+ }
+
+ @Test
+ public void testGetLoginPage() {
+ assertEquals("/login", config.getLoginPage());
+ }
+
+ @Test
+ public void testGetRedirectAfterLogin() {
+ assertEquals("/index", config.getRedirectAfterLogin());
+ }
+
+ @Test
+ public void testGetRedirectAfterLogout() {
+ assertEquals("/login", config.getRedirectAfterLogout());
+ }
+
+ @Test
+ public void testIsRedirectEnabled() {
+ assertEquals(true, config.isRedirectEnabled());
+ }
+
+}
diff --git a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/ApplicationExceptionHandlerTest.java b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/ApplicationExceptionHandlerTest.java
index c878cd2..890c685 100644
--- a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/ApplicationExceptionHandlerTest.java
+++ b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/ApplicationExceptionHandlerTest.java
@@ -35,7 +35,7 @@
* 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
*/
package br.gov.frameworkdemoiselle.internal.implementation;
-import org.junit.Ignore;
+
import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue;
import static org.easymock.EasyMock.expect;
@@ -66,7 +66,6 @@ import br.gov.frameworkdemoiselle.internal.configuration.ExceptionHandlerConfig;
import br.gov.frameworkdemoiselle.util.Beans;
import br.gov.frameworkdemoiselle.util.Faces;
-@Ignore
@RunWith(PowerMockRunner.class)
@PrepareForTest({ Beans.class, FacesContext.class, Faces.class })
public class ApplicationExceptionHandlerTest {
@@ -142,10 +141,10 @@ public class ApplicationExceptionHandlerTest {
public void testHandleAnApplicationExceptionOnRenderResponse() {
AnnotatedAppException exception = new AnnotatedAppException();
-// PhaseId phaseId = PhaseId.RENDER_RESPONSE;
+ // PhaseId phaseId = PhaseId.RENDER_RESPONSE;
expect(eventContext.getException()).andReturn(exception);
-// expect(facesContext.getCurrentPhaseId()).andReturn(phaseId);
+ // expect(facesContext.getCurrentPhaseId()).andReturn(phaseId);
expect(config.isHandleApplicationException()).andReturn(false);
handler.getWrapped().handle();
@@ -165,10 +164,10 @@ public class ApplicationExceptionHandlerTest {
public void testHandleAnyException() {
SomeException exception = new SomeException();
-// PhaseId phaseId = PowerMock.createMock(PhaseId.class);
+ // PhaseId phaseId = PowerMock.createMock(PhaseId.class);
expect(eventContext.getException()).andReturn(exception);
-// expect(facesContext.getCurrentPhaseId()).andReturn(phaseId);
+ // expect(facesContext.getCurrentPhaseId()).andReturn(phaseId);
expect(config.isHandleApplicationException()).andReturn(true);
handler.getWrapped().handle();
@@ -204,5 +203,4 @@ public class ApplicationExceptionHandlerTest {
verifyAll();
}
-
}
diff --git a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/AuthorizationExceptionHandlerTest.java b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/AuthorizationExceptionHandlerTest.java
index d0291f0..eb5a66d 100644
--- a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/AuthorizationExceptionHandlerTest.java
+++ b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/AuthorizationExceptionHandlerTest.java
@@ -1,171 +1,171 @@
-///*
-// * Demoiselle Framework
-// * Copyright (C) 2010 SERPRO
-// * ----------------------------------------------------------------------------
-// * This file is part of Demoiselle Framework.
-// *
-// * Demoiselle Framework is free software; you can redistribute it and/or
-// * modify it under the terms of the GNU Lesser General Public License version 3
-// * as published by the Free Software Foundation.
-// *
-// * This program is distributed in the hope that it will be useful,
-// * but WITHOUT ANY WARRANTY; without even the implied warranty of
-// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// * GNU General Public License for more details.
-// *
-// * You should have received a copy of the GNU Lesser General Public License version 3
-// * along with this program; if not, see
-// * or write to the Free Software Foundation, Inc., 51 Franklin Street,
-// * Fifth Floor, Boston, MA 02110-1301, USA.
-// * ----------------------------------------------------------------------------
-// * Este arquivo é parte do Framework Demoiselle.
-// *
-// * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou
-// * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação
-// * do Software Livre (FSF).
-// *
-// * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
-// * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou
-// * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português
-// * para maiores detalhes.
-// *
-// * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título
-// * "LICENCA.txt", junto com esse programa. Se não, acesse
-// * ou escreva para a Fundação do Software Livre (FSF) Inc.,
-// * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
-// */
-//package br.gov.frameworkdemoiselle.internal.implementation;
-//
-//import static junit.framework.Assert.assertFalse;
-//import static junit.framework.Assert.assertTrue;
-//import static org.easymock.EasyMock.expect;
-//import static org.powermock.api.easymock.PowerMock.createMock;
-//import static org.powermock.api.easymock.PowerMock.expectLastCall;
-//import static org.powermock.api.easymock.PowerMock.mockStatic;
-//import static org.powermock.api.easymock.PowerMock.replayAll;
-//import static org.powermock.api.easymock.PowerMock.verifyAll;
-//
-//import java.util.ArrayList;
-//import java.util.Collection;
-//
-//import javax.faces.context.ExceptionHandler;
-//import javax.faces.context.FacesContext;
-//import javax.faces.event.ExceptionQueuedEvent;
-//import javax.faces.event.ExceptionQueuedEventContext;
-//import javax.faces.event.PhaseId;
-//
-//import org.junit.Before;
-//import org.junit.Test;
-//import org.junit.runner.RunWith;
-//import org.powermock.api.easymock.PowerMock;
-//import org.powermock.core.classloader.annotations.PrepareForTest;
-//import org.powermock.modules.junit4.PowerMockRunner;
-//
-//import br.gov.frameworkdemoiselle.security.AuthorizationException;
-//import br.gov.frameworkdemoiselle.util.Faces;
-//
-//@RunWith(PowerMockRunner.class)
-//@PrepareForTest({ FacesContext.class, CoreBundle.class, Faces.class })
-//public class AuthorizationExceptionHandlerTest {
-//
-// private AuthorizationExceptionHandler handler;
-//
-// private ExceptionQueuedEventContext eventContext;
-//
-// private Collection events;
-//
-// private FacesContext facesContext;
-//
-// @Before
-// public void setUp() {
-//
-// mockStatic(FacesContext.class);
-//
-// events = new ArrayList();
-// ExceptionHandler jsfExceptionHandler = createMock(ExceptionHandler.class);
-// handler = new AuthorizationExceptionHandler(jsfExceptionHandler);
-// eventContext = createMock(ExceptionQueuedEventContext.class);
-// ExceptionQueuedEvent event = createMock(ExceptionQueuedEvent.class);
-// facesContext = PowerMock.createMock(FacesContext.class);
-//
-// expect(event.getSource()).andReturn(eventContext);
-// events.add(event);
-// expect(handler.getUnhandledExceptionQueuedEvents()).andReturn(events).times(2);
-// expect(FacesContext.getCurrentInstance()).andReturn(facesContext).anyTimes();
-//
-//
-// }
-//
-// @Test
-// public void testHandleAnAuthorizationExceptionNotOnRenderResponse() {
-//
-// mockStatic(Faces.class);
-//
-//// ResourceBundle bundle = new ResourceBundle(ResourceBundle.getBundle("demoiselle-core-bundle"));
-//
-// AuthorizationException exception = new AuthorizationException("");
-// PhaseId phaseId = PowerMock.createMock(PhaseId.class);
-//
-// expect(eventContext.getException()).andReturn(exception);
-// expect(facesContext.getCurrentPhaseId()).andReturn(phaseId);
-//
-// Faces.addMessage(exception);
-// expectLastCall();
-//
-// replayAll();
-//
-// handler.handle();
-//
-// assertTrue(events.isEmpty());
-//
-// verifyAll();
-//
-// }
-//
-// @Test
-// public void testHandleAnAuthorizationExceptionOnRenderResponse() {
-//
-//// ResourceBundle bundle = new ResourceBundle(ResourceBundle.getBundle("demoiselle-core-bundle"));
-//
-// AuthorizationException exception = new AuthorizationException("");
-// PhaseId phaseId = PhaseId.RENDER_RESPONSE;
-//
-// expect(eventContext.getException()).andReturn(exception);
-// expect(facesContext.getCurrentPhaseId()).andReturn(phaseId);
-//
-// handler.getWrapped().handle();
-// expectLastCall();
-//
-// replayAll();
-//
-// handler.handle();
-//
-// assertFalse(events.isEmpty());
-//
-// verifyAll();
-//
-// }
-//
-// @Test
-// public void testHandleAnyException() {
-//
-// Exception exception = new Exception();
-// PhaseId phaseId = PowerMock.createMock(PhaseId.class);
-//
-// expect(eventContext.getException()).andReturn(exception);
-// expect(facesContext.getCurrentPhaseId()).andReturn(phaseId);
-//
-// handler.getWrapped().handle();
-// expectLastCall();
-//
-// replayAll();
-//
-// handler.handle();
-//
-// assertFalse(events.isEmpty());
-//
-// verifyAll();
-//
-// }
-//
-//}
+/*
+ * Demoiselle Framework
+ * Copyright (C) 2010 SERPRO
+ * ----------------------------------------------------------------------------
+ * This file is part of Demoiselle Framework.
+ *
+ * Demoiselle Framework is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License version 3
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License version 3
+ * along with this program; if not, see
+ * or write to the Free Software Foundation, Inc., 51 Franklin Street,
+ * Fifth Floor, Boston, MA 02110-1301, USA.
+ * ----------------------------------------------------------------------------
+ * Este arquivo é parte do Framework Demoiselle.
+ *
+ * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou
+ * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação
+ * do Software Livre (FSF).
+ *
+ * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
+ * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou
+ * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português
+ * para maiores detalhes.
+ *
+ * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título
+ * "LICENCA.txt", junto com esse programa. Se não, acesse
+ * ou escreva para a Fundação do Software Livre (FSF) Inc.,
+ * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
+ */
+package br.gov.frameworkdemoiselle.internal.implementation;
+
+import static junit.framework.Assert.assertFalse;
+import static junit.framework.Assert.assertTrue;
+import static org.easymock.EasyMock.expect;
+import static org.powermock.api.easymock.PowerMock.createMock;
+import static org.powermock.api.easymock.PowerMock.expectLastCall;
+import static org.powermock.api.easymock.PowerMock.mockStatic;
+import static org.powermock.api.easymock.PowerMock.replayAll;
+import static org.powermock.api.easymock.PowerMock.verifyAll;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import javax.faces.context.ExceptionHandler;
+import javax.faces.context.FacesContext;
+import javax.faces.event.ExceptionQueuedEvent;
+import javax.faces.event.ExceptionQueuedEventContext;
+import javax.faces.event.PhaseId;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.powermock.api.easymock.PowerMock;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+import br.gov.frameworkdemoiselle.security.AuthorizationException;
+import br.gov.frameworkdemoiselle.util.Faces;
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest({ FacesContext.class, Faces.class })
+public class AuthorizationExceptionHandlerTest {
+
+ private AuthorizationExceptionHandler handler;
+
+ private ExceptionQueuedEventContext eventContext;
+
+ private Collection events;
+
+ private FacesContext facesContext;
+
+ @Before
+ public void setUp() {
+
+ mockStatic(FacesContext.class);
+
+ events = new ArrayList();
+ ExceptionHandler jsfExceptionHandler = createMock(ExceptionHandler.class);
+ handler = new AuthorizationExceptionHandler(jsfExceptionHandler);
+ eventContext = createMock(ExceptionQueuedEventContext.class);
+ ExceptionQueuedEvent event = createMock(ExceptionQueuedEvent.class);
+ facesContext = PowerMock.createMock(FacesContext.class);
+
+ expect(event.getSource()).andReturn(eventContext);
+ events.add(event);
+ expect(handler.getUnhandledExceptionQueuedEvents()).andReturn(events).times(2);
+ expect(FacesContext.getCurrentInstance()).andReturn(facesContext).anyTimes();
+
+
+ }
+
+ @Test
+ public void testHandleAnAuthorizationExceptionNotOnRenderResponse() {
+
+ mockStatic(Faces.class);
+
+// ResourceBundle bundle = new ResourceBundle(ResourceBundle.getBundle("demoiselle-core-bundle"));
+
+ AuthorizationException exception = new AuthorizationException("");
+ PhaseId phaseId = PowerMock.createMock(PhaseId.class);
+
+ expect(eventContext.getException()).andReturn(exception);
+ expect(facesContext.getCurrentPhaseId()).andReturn(phaseId);
+
+ Faces.addMessage(exception);
+ expectLastCall();
+
+ replayAll();
+
+ handler.handle();
+
+ assertTrue(events.isEmpty());
+
+ verifyAll();
+
+ }
+
+ @Test
+ public void testHandleAnAuthorizationExceptionOnRenderResponse() {
+
+// ResourceBundle bundle = new ResourceBundle(ResourceBundle.getBundle("demoiselle-core-bundle"));
+
+ AuthorizationException exception = new AuthorizationException("");
+ PhaseId phaseId = PhaseId.RENDER_RESPONSE;
+
+ expect(eventContext.getException()).andReturn(exception);
+ expect(facesContext.getCurrentPhaseId()).andReturn(phaseId);
+
+ handler.getWrapped().handle();
+ expectLastCall();
+
+ replayAll();
+
+ handler.handle();
+
+ assertFalse(events.isEmpty());
+
+ verifyAll();
+
+ }
+
+ @Test
+ public void testHandleAnyException() {
+
+ Exception exception = new Exception();
+ PhaseId phaseId = PowerMock.createMock(PhaseId.class);
+
+ expect(eventContext.getException()).andReturn(exception);
+ expect(facesContext.getCurrentPhaseId()).andReturn(phaseId);
+
+ handler.getWrapped().handle();
+ expectLastCall();
+
+ replayAll();
+
+ handler.handle();
+
+ assertFalse(events.isEmpty());
+
+ verifyAll();
+
+ }
+
+}
diff --git a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/FileRendererImplTest.java b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/FileRendererImplTest.java
index f214f63..2b1a5d5 100644
--- a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/FileRendererImplTest.java
+++ b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/FileRendererImplTest.java
@@ -35,7 +35,7 @@
* 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
*/
package br.gov.frameworkdemoiselle.internal.implementation;
-import org.junit.Ignore;
+
import java.io.IOException;
import javax.faces.context.FacesContext;
@@ -57,7 +57,7 @@ import org.slf4j.Logger;
import br.gov.frameworkdemoiselle.util.Faces;
import br.gov.frameworkdemoiselle.util.FileRenderer;
import br.gov.frameworkdemoiselle.util.FileRenderer.ContentType;
-@Ignore
+
@RunWith(PowerMockRunner.class)
@PrepareForTest({ Faces.class })
public class FileRendererImplTest {
diff --git a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/producer/FacesContextProducerTest.java b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/producer/FacesContextProducerTest.java
index 25c99d4..cda16b3 100644
--- a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/producer/FacesContextProducerTest.java
+++ b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/producer/FacesContextProducerTest.java
@@ -35,7 +35,6 @@
* 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
*/
package br.gov.frameworkdemoiselle.internal.producer;
-import org.junit.Ignore;
import static org.easymock.EasyMock.expect;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
@@ -53,7 +52,6 @@ import org.powermock.api.easymock.PowerMock;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
-@Ignore
@RunWith(PowerMockRunner.class)
@PrepareForTest({ FacesContext.class })
public class FacesContextProducerTest {
diff --git a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractEditPageBeanTest.java b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractEditPageBeanTest.java
index a3959b9..fb605a3 100644
--- a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractEditPageBeanTest.java
+++ b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractEditPageBeanTest.java
@@ -35,7 +35,7 @@
* 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
*/
package br.gov.frameworkdemoiselle.template;
-import org.junit.Ignore;
+
import static org.easymock.EasyMock.expect;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -70,7 +70,7 @@ import br.gov.frameworkdemoiselle.util.Reflections;
import br.gov.frameworkdemoiselle.util.ResourceBundle;
import com.sun.faces.util.Util;
-@Ignore
+
@RunWith(PowerMockRunner.class)
@PrepareForTest({ Parameter.class, Beans.class, Reflections.class, Converter.class, FacesContext.class, Util.class,
Faces.class })
diff --git a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractListPageBeanTest.java b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractListPageBeanTest.java
index 9cc5f1f..14d3d58 100644
--- a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractListPageBeanTest.java
+++ b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractListPageBeanTest.java
@@ -162,6 +162,21 @@ public class AbstractListPageBeanTest {
verifyAll();
}
+ @Test
+ public void testClearSelection() {
+ pageBean.clearSelection();
+ assertEquals(true, pageBean.getSelectedList().isEmpty());
+ }
+
+ @Test
+ public void testGetSelectedList() {
+ Map map = new HashMap();
+ map.put(1L, true);
+ map.put(2L, true);
+ pageBean.setSelection(map);
+ assertEquals(2, pageBean.getSelectedList().size());
+ }
+
}
@SuppressWarnings("serial")
diff --git a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractPageTest.java b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractPageTest.java
index 7c3b3a1..51183a8 100644
--- a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractPageTest.java
+++ b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractPageTest.java
@@ -35,7 +35,7 @@
* 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
*/
package br.gov.frameworkdemoiselle.template;
-import org.junit.Ignore;
+
import static org.easymock.EasyMock.expect;
import static org.junit.Assert.assertEquals;
import static org.powermock.api.easymock.PowerMock.replayAll;
@@ -55,7 +55,7 @@ import org.powermock.reflect.Whitebox;
import br.gov.frameworkdemoiselle.annotation.NextView;
import br.gov.frameworkdemoiselle.annotation.PreviousView;
import br.gov.frameworkdemoiselle.message.MessageContext;
-@Ignore
+
@RunWith(PowerMockRunner.class)
@PrepareForTest({ MessageContext.class })
public class AbstractPageTest {
diff --git a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/util/FacesTest.java b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/util/FacesTest.java
index e5a7e44..b0a5fee 100644
--- a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/util/FacesTest.java
+++ b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/util/FacesTest.java
@@ -35,7 +35,7 @@
* 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
*/
package br.gov.frameworkdemoiselle.util;
-import org.junit.Ignore;
+
import static junit.framework.Assert.assertEquals;
import static org.easymock.EasyMock.expect;
import static org.powermock.api.easymock.PowerMock.replayAll;
@@ -66,7 +66,7 @@ import br.gov.frameworkdemoiselle.message.Message;
import br.gov.frameworkdemoiselle.message.SeverityType;
import com.sun.faces.util.Util;
-@Ignore
+
@RunWith(PowerMockRunner.class)
@PrepareForTest({ Beans.class, Strings.class, Converter.class, Util.class, ResourceBundle.class })
public class FacesTest {
@@ -184,7 +184,7 @@ public class FacesTest {
expect(Beans.getReference(FacesContext.class)).andReturn(facesContext);
expect(facesContext.getApplication()).andReturn(application);
expect(application.createConverter(getClass())).andReturn(converter);
-
+
replayAll();
assertEquals(converter, faces.getConverter(getClass()));
verifyAll();
--
libgit2 0.21.2