Commit 0633ded6d6aa3d75f604845b6656b823fd269ea4
1 parent
ea9c617b
Exists in
master
IN PROGRESS - issue FWK-92: Redirecionamento ao usar
securityContext.hasRole/hasPermissions com propriedade desativada https://demoiselle.atlassian.net/browse/FWK-92
Showing
30 changed files
with
529 additions
and
415 deletions
Show diff stats
impl/core/src/main/java/br/gov/frameworkdemoiselle/security/NotLoggedInException.java
| @@ -44,7 +44,7 @@ package br.gov.frameworkdemoiselle.security; | @@ -44,7 +44,7 @@ package br.gov.frameworkdemoiselle.security; | ||
| 44 | public class NotLoggedInException extends AuthenticationException { | 44 | public class NotLoggedInException extends AuthenticationException { |
| 45 | 45 | ||
| 46 | private static final long serialVersionUID = 1L; | 46 | private static final long serialVersionUID = 1L; |
| 47 | - | 47 | + |
| 48 | /** | 48 | /** |
| 49 | * Constructs an <code>NotLoggedInException</code> with a message. | 49 | * Constructs an <code>NotLoggedInException</code> with a message. |
| 50 | */ | 50 | */ |
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/AuthenticationExceptionHandler.java
| @@ -36,14 +36,20 @@ | @@ -36,14 +36,20 @@ | ||
| 36 | */ | 36 | */ |
| 37 | package br.gov.frameworkdemoiselle.internal.implementation; | 37 | package br.gov.frameworkdemoiselle.internal.implementation; |
| 38 | 38 | ||
| 39 | +import static org.apache.http.HttpStatus.SC_FORBIDDEN; | ||
| 40 | + | ||
| 39 | import javax.faces.context.ExceptionHandler; | 41 | import javax.faces.context.ExceptionHandler; |
| 40 | import javax.faces.context.FacesContext; | 42 | import javax.faces.context.FacesContext; |
| 43 | +import javax.servlet.http.HttpServletResponse; | ||
| 41 | 44 | ||
| 45 | +import br.gov.frameworkdemoiselle.internal.configuration.JsfSecurityConfig; | ||
| 42 | import br.gov.frameworkdemoiselle.security.NotLoggedInException; | 46 | import br.gov.frameworkdemoiselle.security.NotLoggedInException; |
| 43 | import br.gov.frameworkdemoiselle.util.Beans; | 47 | import br.gov.frameworkdemoiselle.util.Beans; |
| 44 | 48 | ||
| 45 | public class AuthenticationExceptionHandler extends AbstractExceptionHandler { | 49 | public class AuthenticationExceptionHandler extends AbstractExceptionHandler { |
| 46 | 50 | ||
| 51 | + private transient JsfSecurityConfig config; | ||
| 52 | + | ||
| 47 | public AuthenticationExceptionHandler(final ExceptionHandler wrapped) { | 53 | public AuthenticationExceptionHandler(final ExceptionHandler wrapped) { |
| 48 | super(wrapped); | 54 | super(wrapped); |
| 49 | } | 55 | } |
| @@ -53,10 +59,25 @@ public class AuthenticationExceptionHandler extends AbstractExceptionHandler { | @@ -53,10 +59,25 @@ public class AuthenticationExceptionHandler extends AbstractExceptionHandler { | ||
| 53 | 59 | ||
| 54 | if (cause instanceof NotLoggedInException) { | 60 | if (cause instanceof NotLoggedInException) { |
| 55 | handled = true; | 61 | handled = true; |
| 56 | - //TODO Inter [NQ]: remover referência a SecurityObserver criando uma classe comum que faz o redirecionamento e que é compartilhada entre elas. | ||
| 57 | - Beans.getReference(SecurityObserver.class).redirectToLoginPage(); | 62 | + // TODO Inter [NQ]: remover referência a SecurityObserver criando uma classe comum que faz o |
| 63 | + // redirecionamento e que é compartilhada entre elas. | ||
| 64 | + | ||
| 65 | + if (getConfig().isRedirectEnabled()) { | ||
| 66 | + Beans.getReference(SecurityObserver.class).redirectToLoginPage(); | ||
| 67 | + } else { | ||
| 68 | + HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse(); | ||
| 69 | + response.setStatus(SC_FORBIDDEN); | ||
| 70 | + } | ||
| 58 | } | 71 | } |
| 59 | 72 | ||
| 60 | return handled; | 73 | return handled; |
| 61 | } | 74 | } |
| 75 | + | ||
| 76 | + public JsfSecurityConfig getConfig() { | ||
| 77 | + if (this.config == null) { | ||
| 78 | + this.config = Beans.getReference(JsfSecurityConfig.class); | ||
| 79 | + } | ||
| 80 | + | ||
| 81 | + return this.config; | ||
| 82 | + } | ||
| 62 | } | 83 | } |
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/AuthorizationExceptionHandler.java
| @@ -36,9 +36,12 @@ | @@ -36,9 +36,12 @@ | ||
| 36 | */ | 36 | */ |
| 37 | package br.gov.frameworkdemoiselle.internal.implementation; | 37 | package br.gov.frameworkdemoiselle.internal.implementation; |
| 38 | 38 | ||
| 39 | +import static org.apache.http.HttpStatus.SC_UNAUTHORIZED; | ||
| 40 | + | ||
| 39 | import javax.faces.context.ExceptionHandler; | 41 | import javax.faces.context.ExceptionHandler; |
| 40 | import javax.faces.context.FacesContext; | 42 | import javax.faces.context.FacesContext; |
| 41 | import javax.faces.event.PhaseId; | 43 | import javax.faces.event.PhaseId; |
| 44 | +import javax.servlet.http.HttpServletResponse; | ||
| 42 | 45 | ||
| 43 | import br.gov.frameworkdemoiselle.security.AuthorizationException; | 46 | import br.gov.frameworkdemoiselle.security.AuthorizationException; |
| 44 | import br.gov.frameworkdemoiselle.util.Faces; | 47 | import br.gov.frameworkdemoiselle.util.Faces; |
| @@ -53,9 +56,15 @@ public class AuthorizationExceptionHandler extends AbstractExceptionHandler { | @@ -53,9 +56,15 @@ public class AuthorizationExceptionHandler extends AbstractExceptionHandler { | ||
| 53 | boolean handled = false; | 56 | boolean handled = false; |
| 54 | boolean rendering = PhaseId.RENDER_RESPONSE.equals(facesContext.getCurrentPhaseId()); | 57 | boolean rendering = PhaseId.RENDER_RESPONSE.equals(facesContext.getCurrentPhaseId()); |
| 55 | 58 | ||
| 56 | - if (!rendering && cause instanceof AuthorizationException) { | ||
| 57 | - Faces.addMessage(cause); | 59 | + if (cause instanceof AuthorizationException) { |
| 58 | handled = true; | 60 | handled = true; |
| 61 | + | ||
| 62 | + if (rendering) { | ||
| 63 | + HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse(); | ||
| 64 | + response.setStatus(SC_UNAUTHORIZED); | ||
| 65 | + } else { | ||
| 66 | + Faces.addMessage(cause); | ||
| 67 | + } | ||
| 59 | } | 68 | } |
| 60 | 69 | ||
| 61 | return handled; | 70 | return handled; |
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/template/AbstractEditPageBean.java
| @@ -49,7 +49,7 @@ import br.gov.frameworkdemoiselle.util.Reflections; | @@ -49,7 +49,7 @@ import br.gov.frameworkdemoiselle.util.Reflections; | ||
| 49 | import br.gov.frameworkdemoiselle.util.ResourceBundle; | 49 | import br.gov.frameworkdemoiselle.util.ResourceBundle; |
| 50 | 50 | ||
| 51 | /** | 51 | /** |
| 52 | - * Template Managed Bean class that implements the methods defined by the interface EditPageBean. | 52 | + * Template Managed AuthenticationBean class that implements the methods defined by the interface EditPageBean. |
| 53 | * | 53 | * |
| 54 | * @param <T> | 54 | * @param <T> |
| 55 | * bean object type | 55 | * bean object type |
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/template/AbstractListPageBean.java
| @@ -50,7 +50,7 @@ import br.gov.frameworkdemoiselle.pagination.Pagination; | @@ -50,7 +50,7 @@ import br.gov.frameworkdemoiselle.pagination.Pagination; | ||
| 50 | import br.gov.frameworkdemoiselle.pagination.PaginationContext; | 50 | import br.gov.frameworkdemoiselle.pagination.PaginationContext; |
| 51 | import br.gov.frameworkdemoiselle.util.Reflections; | 51 | import br.gov.frameworkdemoiselle.util.Reflections; |
| 52 | /** | 52 | /** |
| 53 | - * Template Managed Bean class that implements the methods defined by the interface ListPageBean. | 53 | + * Template Managed AuthenticationBean class that implements the methods defined by the interface ListPageBean. |
| 54 | * | 54 | * |
| 55 | * @param <T> | 55 | * @param <T> |
| 56 | * bean object type | 56 | * bean object type |
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/template/AbstractPageBean.java
| @@ -43,7 +43,7 @@ import br.gov.frameworkdemoiselle.annotation.NextView; | @@ -43,7 +43,7 @@ import br.gov.frameworkdemoiselle.annotation.NextView; | ||
| 43 | import br.gov.frameworkdemoiselle.annotation.PreviousView; | 43 | import br.gov.frameworkdemoiselle.annotation.PreviousView; |
| 44 | 44 | ||
| 45 | /** | 45 | /** |
| 46 | - * Template Managed Bean class that implements the methods defined by the interface PageBean. | 46 | + * Template Managed AuthenticationBean class that implements the methods defined by the interface PageBean. |
| 47 | * | 47 | * |
| 48 | * @author SERPRO | 48 | * @author SERPRO |
| 49 | * @see PageBean | 49 | * @see PageBean |
impl/extension/jsf/src/test/java/exception/handler/authentication/AuthenticationBean.java
| @@ -46,9 +46,7 @@ public class AuthenticationBean implements Serializable { | @@ -46,9 +46,7 @@ public class AuthenticationBean implements Serializable { | ||
| 46 | 46 | ||
| 47 | private static final long serialVersionUID = 1L; | 47 | private static final long serialVersionUID = 1L; |
| 48 | 48 | ||
| 49 | - private String msg = "Authentication Exception"; | ||
| 50 | - | ||
| 51 | public String getMsg() { | 49 | public String getMsg() { |
| 52 | - throw new NotLoggedInException(msg); | 50 | + throw new NotLoggedInException(""); |
| 53 | } | 51 | } |
| 54 | } | 52 | } |
impl/extension/jsf/src/test/java/exception/handler/authentication/AuthenticationExceptionTest.java
| @@ -1,89 +0,0 @@ | @@ -1,89 +0,0 @@ | ||
| 1 | -/* | ||
| 2 | - * Demoiselle Framework | ||
| 3 | - * Copyright (C) 2010 SERPRO | ||
| 4 | - * ---------------------------------------------------------------------------- | ||
| 5 | - * This file is part of Demoiselle Framework. | ||
| 6 | - * | ||
| 7 | - * Demoiselle Framework is free software; you can redistribute it and/or | ||
| 8 | - * modify it under the terms of the GNU Lesser General Public License version 3 | ||
| 9 | - * as published by the Free Software Foundation. | ||
| 10 | - * | ||
| 11 | - * This program is distributed in the hope that it will be useful, | ||
| 12 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | - * GNU General Public License for more details. | ||
| 15 | - * | ||
| 16 | - * You should have received a copy of the GNU Lesser General Public License version 3 | ||
| 17 | - * along with this program; if not, see <http://www.gnu.org/licenses/> | ||
| 18 | - * or write to the Free Software Foundation, Inc., 51 Franklin Street, | ||
| 19 | - * Fifth Floor, Boston, MA 02110-1301, USA. | ||
| 20 | - * ---------------------------------------------------------------------------- | ||
| 21 | - * Este arquivo é parte do Framework Demoiselle. | ||
| 22 | - * | ||
| 23 | - * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou | ||
| 24 | - * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação | ||
| 25 | - * do Software Livre (FSF). | ||
| 26 | - * | ||
| 27 | - * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA | ||
| 28 | - * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou | ||
| 29 | - * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português | ||
| 30 | - * para maiores detalhes. | ||
| 31 | - * | ||
| 32 | - * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título | ||
| 33 | - * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/> | ||
| 34 | - * ou escreva para a Fundação do Software Livre (FSF) Inc., | ||
| 35 | - * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. | ||
| 36 | - */ | ||
| 37 | -package exception.handler.authentication; | ||
| 38 | - | ||
| 39 | -import static org.junit.Assert.assertTrue; | ||
| 40 | - | ||
| 41 | -import java.io.IOException; | ||
| 42 | -import java.net.URL; | ||
| 43 | - | ||
| 44 | -import org.apache.commons.httpclient.HttpClient; | ||
| 45 | -import org.apache.commons.httpclient.HttpException; | ||
| 46 | -import org.apache.commons.httpclient.methods.GetMethod; | ||
| 47 | -import org.jboss.arquillian.container.test.api.Deployment; | ||
| 48 | -import org.jboss.arquillian.junit.Arquillian; | ||
| 49 | -import org.jboss.arquillian.test.api.ArquillianResource; | ||
| 50 | -import org.jboss.shrinkwrap.api.spec.WebArchive; | ||
| 51 | -import org.junit.Test; | ||
| 52 | -import org.junit.runner.RunWith; | ||
| 53 | - | ||
| 54 | -import test.Tests; | ||
| 55 | - | ||
| 56 | -@RunWith(Arquillian.class) | ||
| 57 | -public class AuthenticationExceptionTest { | ||
| 58 | - | ||
| 59 | - @ArquillianResource | ||
| 60 | - private URL deploymentUrl; | ||
| 61 | - | ||
| 62 | - private static final String PATH = "src/test/resources/exception-handler-authentication"; | ||
| 63 | - | ||
| 64 | - @Deployment(testable = false) | ||
| 65 | - public static WebArchive createDeployment() { | ||
| 66 | - return Tests.createDeployment().addClass(AuthenticationExceptionTest.class).addClass(AuthenticationBean.class) | ||
| 67 | - .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") | ||
| 68 | - .addAsWebResource(Tests.createFileAsset(PATH + "/login.xhtml"), "login.xhtml") | ||
| 69 | - .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml"); | ||
| 70 | - } | ||
| 71 | - | ||
| 72 | - @Test | ||
| 73 | - public void authenticationException() { | ||
| 74 | - HttpClient client = new HttpClient(); | ||
| 75 | - GetMethod method = new GetMethod(deploymentUrl + "/index.jsf"); | ||
| 76 | - | ||
| 77 | - try { | ||
| 78 | - client.executeMethod(method); | ||
| 79 | - String message = method.getResponseBodyAsString(); | ||
| 80 | - System.out.println("MESAGE: " + message); | ||
| 81 | - assertTrue(message.contains("Called the page /login")); | ||
| 82 | - | ||
| 83 | - } catch (HttpException e) { | ||
| 84 | - e.printStackTrace(); | ||
| 85 | - } catch (IOException e) { | ||
| 86 | - e.printStackTrace(); | ||
| 87 | - } | ||
| 88 | - } | ||
| 89 | -} |
impl/extension/jsf/src/test/java/exception/handler/authentication/HandledAuthenticationExceptionTest.java
0 → 100644
| @@ -0,0 +1,81 @@ | @@ -0,0 +1,81 @@ | ||
| 1 | +/* | ||
| 2 | + * Demoiselle Framework | ||
| 3 | + * Copyright (C) 2010 SERPRO | ||
| 4 | + * ---------------------------------------------------------------------------- | ||
| 5 | + * This file is part of Demoiselle Framework. | ||
| 6 | + * | ||
| 7 | + * Demoiselle Framework is free software; you can redistribute it and/or | ||
| 8 | + * modify it under the terms of the GNU Lesser General Public License version 3 | ||
| 9 | + * as published by the Free Software Foundation. | ||
| 10 | + * | ||
| 11 | + * This program is distributed in the hope that it will be useful, | ||
| 12 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | + * GNU General Public License for more details. | ||
| 15 | + * | ||
| 16 | + * You should have received a copy of the GNU Lesser General Public License version 3 | ||
| 17 | + * along with this program; if not, see <http://www.gnu.org/licenses/> | ||
| 18 | + * or write to the Free Software Foundation, Inc., 51 Franklin Street, | ||
| 19 | + * Fifth Floor, Boston, MA 02110-1301, USA. | ||
| 20 | + * ---------------------------------------------------------------------------- | ||
| 21 | + * Este arquivo é parte do Framework Demoiselle. | ||
| 22 | + * | ||
| 23 | + * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou | ||
| 24 | + * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação | ||
| 25 | + * do Software Livre (FSF). | ||
| 26 | + * | ||
| 27 | + * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA | ||
| 28 | + * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou | ||
| 29 | + * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português | ||
| 30 | + * para maiores detalhes. | ||
| 31 | + * | ||
| 32 | + * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título | ||
| 33 | + * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/> | ||
| 34 | + * ou escreva para a Fundação do Software Livre (FSF) Inc., | ||
| 35 | + * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. | ||
| 36 | + */ | ||
| 37 | +package exception.handler.authentication; | ||
| 38 | + | ||
| 39 | +import static org.junit.Assert.assertTrue; | ||
| 40 | + | ||
| 41 | +import java.io.IOException; | ||
| 42 | +import java.net.URL; | ||
| 43 | + | ||
| 44 | +import org.apache.commons.httpclient.HttpClient; | ||
| 45 | +import org.apache.commons.httpclient.HttpException; | ||
| 46 | +import org.apache.commons.httpclient.methods.GetMethod; | ||
| 47 | +import org.jboss.arquillian.container.test.api.Deployment; | ||
| 48 | +import org.jboss.arquillian.junit.Arquillian; | ||
| 49 | +import org.jboss.arquillian.test.api.ArquillianResource; | ||
| 50 | +import org.jboss.shrinkwrap.api.spec.WebArchive; | ||
| 51 | +import org.junit.Test; | ||
| 52 | +import org.junit.runner.RunWith; | ||
| 53 | + | ||
| 54 | +import test.Tests; | ||
| 55 | + | ||
| 56 | +@RunWith(Arquillian.class) | ||
| 57 | +public class HandledAuthenticationExceptionTest { | ||
| 58 | + | ||
| 59 | + @ArquillianResource | ||
| 60 | + private URL deploymentUrl; | ||
| 61 | + | ||
| 62 | + private static final String PATH = "src/test/resources/exception-handler-authentication"; | ||
| 63 | + | ||
| 64 | + @Deployment(testable = false) | ||
| 65 | + public static WebArchive createDeployment() { | ||
| 66 | + return Tests.createDeployment().addClasses(AuthenticationBean.class) | ||
| 67 | + .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") | ||
| 68 | + .addAsWebResource(Tests.createFileAsset(PATH + "/login.xhtml"), "login.xhtml") | ||
| 69 | + .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml"); | ||
| 70 | + } | ||
| 71 | + | ||
| 72 | + @Test | ||
| 73 | + public void authenticationException() throws HttpException, IOException { | ||
| 74 | + HttpClient client = new HttpClient(); | ||
| 75 | + GetMethod method = new GetMethod(deploymentUrl + "/index.jsf"); | ||
| 76 | + | ||
| 77 | + client.executeMethod(method); | ||
| 78 | + String message = method.getResponseBodyAsString(); | ||
| 79 | + assertTrue(message.contains("Called the page /login")); | ||
| 80 | + } | ||
| 81 | +} |
impl/extension/jsf/src/test/java/exception/handler/authentication/UnhandledAuthenticationExceptionTest.java
0 → 100644
| @@ -0,0 +1,81 @@ | @@ -0,0 +1,81 @@ | ||
| 1 | +/* | ||
| 2 | + * Demoiselle Framework | ||
| 3 | + * Copyright (C) 2010 SERPRO | ||
| 4 | + * ---------------------------------------------------------------------------- | ||
| 5 | + * This file is part of Demoiselle Framework. | ||
| 6 | + * | ||
| 7 | + * Demoiselle Framework is free software; you can redistribute it and/or | ||
| 8 | + * modify it under the terms of the GNU Lesser General Public License version 3 | ||
| 9 | + * as published by the Free Software Foundation. | ||
| 10 | + * | ||
| 11 | + * This program is distributed in the hope that it will be useful, | ||
| 12 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | + * GNU General Public License for more details. | ||
| 15 | + * | ||
| 16 | + * You should have received a copy of the GNU Lesser General Public License version 3 | ||
| 17 | + * along with this program; if not, see <http://www.gnu.org/licenses/> | ||
| 18 | + * or write to the Free Software Foundation, Inc., 51 Franklin Street, | ||
| 19 | + * Fifth Floor, Boston, MA 02110-1301, USA. | ||
| 20 | + * ---------------------------------------------------------------------------- | ||
| 21 | + * Este arquivo é parte do Framework Demoiselle. | ||
| 22 | + * | ||
| 23 | + * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou | ||
| 24 | + * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação | ||
| 25 | + * do Software Livre (FSF). | ||
| 26 | + * | ||
| 27 | + * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA | ||
| 28 | + * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou | ||
| 29 | + * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português | ||
| 30 | + * para maiores detalhes. | ||
| 31 | + * | ||
| 32 | + * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título | ||
| 33 | + * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/> | ||
| 34 | + * ou escreva para a Fundação do Software Livre (FSF) Inc., | ||
| 35 | + * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. | ||
| 36 | + */ | ||
| 37 | +package exception.handler.authentication; | ||
| 38 | + | ||
| 39 | +import static org.apache.http.HttpStatus.SC_FORBIDDEN; | ||
| 40 | +import static org.junit.Assert.assertEquals; | ||
| 41 | + | ||
| 42 | +import java.io.IOException; | ||
| 43 | +import java.net.URL; | ||
| 44 | + | ||
| 45 | +import org.apache.commons.httpclient.HttpClient; | ||
| 46 | +import org.apache.commons.httpclient.HttpException; | ||
| 47 | +import org.apache.commons.httpclient.methods.GetMethod; | ||
| 48 | +import org.jboss.arquillian.container.test.api.Deployment; | ||
| 49 | +import org.jboss.arquillian.junit.Arquillian; | ||
| 50 | +import org.jboss.arquillian.test.api.ArquillianResource; | ||
| 51 | +import org.jboss.shrinkwrap.api.spec.WebArchive; | ||
| 52 | +import org.junit.Test; | ||
| 53 | +import org.junit.runner.RunWith; | ||
| 54 | + | ||
| 55 | +import test.Tests; | ||
| 56 | + | ||
| 57 | +@RunWith(Arquillian.class) | ||
| 58 | +public class UnhandledAuthenticationExceptionTest { | ||
| 59 | + | ||
| 60 | + @ArquillianResource | ||
| 61 | + private URL deploymentUrl; | ||
| 62 | + | ||
| 63 | + private static final String PATH = "src/test/resources/exception-handler-authentication"; | ||
| 64 | + | ||
| 65 | + @Deployment(testable = false) | ||
| 66 | + public static WebArchive createDeployment() { | ||
| 67 | + return Tests.createDeployment().addClasses(AuthenticationBean.class) | ||
| 68 | + .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") | ||
| 69 | + .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml") | ||
| 70 | + .addAsResource(Tests.createFileAsset(PATH + "/demoiselle.properties"), "demoiselle.properties"); | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + @Test | ||
| 74 | + public void authenticationException() throws HttpException, IOException { | ||
| 75 | + HttpClient client = new HttpClient(); | ||
| 76 | + GetMethod method = new GetMethod(deploymentUrl + "/index.jsf"); | ||
| 77 | + | ||
| 78 | + int status = client.executeMethod(method); | ||
| 79 | + assertEquals(SC_FORBIDDEN, status); | ||
| 80 | + } | ||
| 81 | +} |
impl/extension/jsf/src/test/java/exception/handler/authorization/AuthorizationBean.java
| @@ -46,20 +46,7 @@ public class AuthorizationBean implements Serializable { | @@ -46,20 +46,7 @@ public class AuthorizationBean implements Serializable { | ||
| 46 | 46 | ||
| 47 | private static final long serialVersionUID = 1L; | 47 | private static final long serialVersionUID = 1L; |
| 48 | 48 | ||
| 49 | - private String correctMessage = "Authorization Message."; | ||
| 50 | - | ||
| 51 | - private String exceptionMessage = "Authorization Exception!"; | ||
| 52 | - | ||
| 53 | - public String getCorrectMessage() { | ||
| 54 | - return correctMessage; | ||
| 55 | - } | ||
| 56 | - | ||
| 57 | - public String getExceptionMessage() { | ||
| 58 | - throw new AuthorizationException(exceptionMessage); | 49 | + public String getThrowExceptionMessage() { |
| 50 | + throw new AuthorizationException("Authorization Exception!"); | ||
| 59 | } | 51 | } |
| 60 | - | ||
| 61 | - public void loadExceptionMessage() { | ||
| 62 | - throw new AuthorizationException(exceptionMessage); | ||
| 63 | - } | ||
| 64 | - | ||
| 65 | } | 52 | } |
impl/extension/jsf/src/test/java/exception/handler/authorization/AuthorizationHandledExceptionTest.java
| @@ -1,94 +0,0 @@ | @@ -1,94 +0,0 @@ | ||
| 1 | -/* | ||
| 2 | - * Demoiselle Framework | ||
| 3 | - * Copyright (C) 2010 SERPRO | ||
| 4 | - * ---------------------------------------------------------------------------- | ||
| 5 | - * This file is part of Demoiselle Framework. | ||
| 6 | - * | ||
| 7 | - * Demoiselle Framework is free software; you can redistribute it and/or | ||
| 8 | - * modify it under the terms of the GNU Lesser General Public License version 3 | ||
| 9 | - * as published by the Free Software Foundation. | ||
| 10 | - * | ||
| 11 | - * This program is distributed in the hope that it will be useful, | ||
| 12 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | - * GNU General Public License for more details. | ||
| 15 | - * | ||
| 16 | - * You should have received a copy of the GNU Lesser General Public License version 3 | ||
| 17 | - * along with this program; if not, see <http://www.gnu.org/licenses/> | ||
| 18 | - * or write to the Free Software Foundation, Inc., 51 Franklin Street, | ||
| 19 | - * Fifth Floor, Boston, MA 02110-1301, USA. | ||
| 20 | - * ---------------------------------------------------------------------------- | ||
| 21 | - * Este arquivo é parte do Framework Demoiselle. | ||
| 22 | - * | ||
| 23 | - * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou | ||
| 24 | - * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação | ||
| 25 | - * do Software Livre (FSF). | ||
| 26 | - * | ||
| 27 | - * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA | ||
| 28 | - * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou | ||
| 29 | - * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português | ||
| 30 | - * para maiores detalhes. | ||
| 31 | - * | ||
| 32 | - * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título | ||
| 33 | - * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/> | ||
| 34 | - * ou escreva para a Fundação do Software Livre (FSF) Inc., | ||
| 35 | - * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. | ||
| 36 | - */ | ||
| 37 | -package exception.handler.authorization; | ||
| 38 | - | ||
| 39 | -import static org.junit.Assert.assertNotSame; | ||
| 40 | -import static org.junit.Assert.assertTrue; | ||
| 41 | - | ||
| 42 | -import java.io.IOException; | ||
| 43 | -import java.net.URL; | ||
| 44 | - | ||
| 45 | -import org.apache.commons.httpclient.HttpClient; | ||
| 46 | -import org.apache.commons.httpclient.HttpException; | ||
| 47 | -import org.apache.commons.httpclient.HttpStatus; | ||
| 48 | -import org.apache.commons.httpclient.methods.GetMethod; | ||
| 49 | -import org.jboss.arquillian.container.test.api.Deployment; | ||
| 50 | -import org.jboss.arquillian.junit.Arquillian; | ||
| 51 | -import org.jboss.arquillian.test.api.ArquillianResource; | ||
| 52 | -import org.jboss.shrinkwrap.api.spec.WebArchive; | ||
| 53 | -import org.junit.Test; | ||
| 54 | -import org.junit.runner.RunWith; | ||
| 55 | - | ||
| 56 | -import test.Tests; | ||
| 57 | - | ||
| 58 | -@RunWith(Arquillian.class) | ||
| 59 | -public class AuthorizationHandledExceptionTest { | ||
| 60 | - | ||
| 61 | - @ArquillianResource | ||
| 62 | - private URL deploymentUrl; | ||
| 63 | - | ||
| 64 | - private static final String PATH = "src/test/resources/exception-handler-authorization"; | ||
| 65 | - | ||
| 66 | - @Deployment(testable = false) | ||
| 67 | - public static WebArchive createDeployment() { | ||
| 68 | - return Tests.createDeployment().addClass(AuthorizationHandledExceptionTest.class).addClass(AuthorizationBean.class) | ||
| 69 | - .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") | ||
| 70 | - .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml") | ||
| 71 | - .addAsWebInfResource(Tests.createFileAsset(PATH + "/pretty-config.xml"), "pretty-config.xml"); | ||
| 72 | - | ||
| 73 | - } | ||
| 74 | - | ||
| 75 | - @Test | ||
| 76 | - public void authorizationHandledException() { | ||
| 77 | - HttpClient client = new HttpClient(); | ||
| 78 | - GetMethod method = new GetMethod(deploymentUrl + "/index"); | ||
| 79 | - | ||
| 80 | - try { | ||
| 81 | - int status = client.executeMethod(method); | ||
| 82 | - String message = method.getResponseBodyAsString(); | ||
| 83 | - | ||
| 84 | - assertNotSame(HttpStatus.SC_INTERNAL_SERVER_ERROR, status); | ||
| 85 | - assertTrue(message.contains("Authorization Message.")); | ||
| 86 | - assertTrue(message.contains("Authorization Exception!")); | ||
| 87 | - | ||
| 88 | - } catch (HttpException e) { | ||
| 89 | - e.printStackTrace(); | ||
| 90 | - } catch (IOException e) { | ||
| 91 | - e.printStackTrace(); | ||
| 92 | - } | ||
| 93 | - } | ||
| 94 | -} |
impl/extension/jsf/src/test/java/exception/handler/authorization/AuthorizationNotHandledExceptionTest.java
| @@ -1,93 +0,0 @@ | @@ -1,93 +0,0 @@ | ||
| 1 | -/* | ||
| 2 | - * Demoiselle Framework | ||
| 3 | - * Copyright (C) 2010 SERPRO | ||
| 4 | - * ---------------------------------------------------------------------------- | ||
| 5 | - * This file is part of Demoiselle Framework. | ||
| 6 | - * | ||
| 7 | - * Demoiselle Framework is free software; you can redistribute it and/or | ||
| 8 | - * modify it under the terms of the GNU Lesser General Public License version 3 | ||
| 9 | - * as published by the Free Software Foundation. | ||
| 10 | - * | ||
| 11 | - * This program is distributed in the hope that it will be useful, | ||
| 12 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | - * GNU General Public License for more details. | ||
| 15 | - * | ||
| 16 | - * You should have received a copy of the GNU Lesser General Public License version 3 | ||
| 17 | - * along with this program; if not, see <http://www.gnu.org/licenses/> | ||
| 18 | - * or write to the Free Software Foundation, Inc., 51 Franklin Street, | ||
| 19 | - * Fifth Floor, Boston, MA 02110-1301, USA. | ||
| 20 | - * ---------------------------------------------------------------------------- | ||
| 21 | - * Este arquivo é parte do Framework Demoiselle. | ||
| 22 | - * | ||
| 23 | - * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou | ||
| 24 | - * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação | ||
| 25 | - * do Software Livre (FSF). | ||
| 26 | - * | ||
| 27 | - * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA | ||
| 28 | - * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou | ||
| 29 | - * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português | ||
| 30 | - * para maiores detalhes. | ||
| 31 | - * | ||
| 32 | - * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título | ||
| 33 | - * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/> | ||
| 34 | - * ou escreva para a Fundação do Software Livre (FSF) Inc., | ||
| 35 | - * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. | ||
| 36 | - */ | ||
| 37 | -package exception.handler.authorization; | ||
| 38 | - | ||
| 39 | -import static org.junit.Assert.assertEquals; | ||
| 40 | -import static org.junit.Assert.assertFalse; | ||
| 41 | -import static org.junit.Assert.assertTrue; | ||
| 42 | - | ||
| 43 | -import java.io.IOException; | ||
| 44 | -import java.net.URL; | ||
| 45 | - | ||
| 46 | -import org.apache.commons.httpclient.HttpClient; | ||
| 47 | -import org.apache.commons.httpclient.HttpException; | ||
| 48 | -import org.apache.commons.httpclient.HttpStatus; | ||
| 49 | -import org.apache.commons.httpclient.methods.GetMethod; | ||
| 50 | -import org.jboss.arquillian.container.test.api.Deployment; | ||
| 51 | -import org.jboss.arquillian.junit.Arquillian; | ||
| 52 | -import org.jboss.arquillian.test.api.ArquillianResource; | ||
| 53 | -import org.jboss.shrinkwrap.api.spec.WebArchive; | ||
| 54 | -import org.junit.Test; | ||
| 55 | -import org.junit.runner.RunWith; | ||
| 56 | - | ||
| 57 | -import test.Tests; | ||
| 58 | - | ||
| 59 | -@RunWith(Arquillian.class) | ||
| 60 | -public class AuthorizationNotHandledExceptionTest { | ||
| 61 | - | ||
| 62 | - @ArquillianResource | ||
| 63 | - private URL deploymentUrl; | ||
| 64 | - | ||
| 65 | - private static final String PATH = "src/test/resources/exception-handler-authorization"; | ||
| 66 | - | ||
| 67 | - @Deployment(testable = false) | ||
| 68 | - public static WebArchive createDeployment() { | ||
| 69 | - return Tests.createDeployment().addClass(AuthorizationNotHandledExceptionTest.class).addClass(AuthorizationBean.class) | ||
| 70 | - .addAsWebResource(Tests.createFileAsset(PATH + "/page.xhtml"), "page.xhtml") | ||
| 71 | - .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml"); | ||
| 72 | - } | ||
| 73 | - | ||
| 74 | - @Test | ||
| 75 | - public void authorizationNotHandledException() { | ||
| 76 | - HttpClient client = new HttpClient(); | ||
| 77 | - GetMethod method = new GetMethod(deploymentUrl + "/page.jsf"); | ||
| 78 | - | ||
| 79 | - try { | ||
| 80 | - int status = client.executeMethod(method); | ||
| 81 | - String message = method.getResponseBodyAsString(); | ||
| 82 | - | ||
| 83 | - assertEquals(HttpStatus.SC_INTERNAL_SERVER_ERROR, status); | ||
| 84 | - assertTrue(message.contains("Authorization Exception!")); | ||
| 85 | - assertFalse(message.contains("Authorization Message.")); | ||
| 86 | - | ||
| 87 | - } catch (HttpException e) { | ||
| 88 | - e.printStackTrace(); | ||
| 89 | - } catch (IOException e) { | ||
| 90 | - e.printStackTrace(); | ||
| 91 | - } | ||
| 92 | - } | ||
| 93 | -} |
impl/extension/jsf/src/test/java/exception/handler/authorization/HandledAuthorizationExceptionTest.java
0 → 100644
| @@ -0,0 +1,86 @@ | @@ -0,0 +1,86 @@ | ||
| 1 | +/* | ||
| 2 | + * Demoiselle Framework | ||
| 3 | + * Copyright (C) 2010 SERPRO | ||
| 4 | + * ---------------------------------------------------------------------------- | ||
| 5 | + * This file is part of Demoiselle Framework. | ||
| 6 | + * | ||
| 7 | + * Demoiselle Framework is free software; you can redistribute it and/or | ||
| 8 | + * modify it under the terms of the GNU Lesser General Public License version 3 | ||
| 9 | + * as published by the Free Software Foundation. | ||
| 10 | + * | ||
| 11 | + * This program is distributed in the hope that it will be useful, | ||
| 12 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | + * GNU General Public License for more details. | ||
| 15 | + * | ||
| 16 | + * You should have received a copy of the GNU Lesser General Public License version 3 | ||
| 17 | + * along with this program; if not, see <http://www.gnu.org/licenses/> | ||
| 18 | + * or write to the Free Software Foundation, Inc., 51 Franklin Street, | ||
| 19 | + * Fifth Floor, Boston, MA 02110-1301, USA. | ||
| 20 | + * ---------------------------------------------------------------------------- | ||
| 21 | + * Este arquivo é parte do Framework Demoiselle. | ||
| 22 | + * | ||
| 23 | + * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou | ||
| 24 | + * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação | ||
| 25 | + * do Software Livre (FSF). | ||
| 26 | + * | ||
| 27 | + * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA | ||
| 28 | + * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou | ||
| 29 | + * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português | ||
| 30 | + * para maiores detalhes. | ||
| 31 | + * | ||
| 32 | + * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título | ||
| 33 | + * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/> | ||
| 34 | + * ou escreva para a Fundação do Software Livre (FSF) Inc., | ||
| 35 | + * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. | ||
| 36 | + */ | ||
| 37 | +package exception.handler.authorization; | ||
| 38 | + | ||
| 39 | +import static org.apache.commons.httpclient.HttpStatus.SC_OK; | ||
| 40 | +import static org.junit.Assert.assertEquals; | ||
| 41 | +import static org.junit.Assert.assertTrue; | ||
| 42 | + | ||
| 43 | +import java.io.IOException; | ||
| 44 | +import java.net.URL; | ||
| 45 | + | ||
| 46 | +import org.apache.commons.httpclient.HttpClient; | ||
| 47 | +import org.apache.commons.httpclient.HttpException; | ||
| 48 | +import org.apache.commons.httpclient.methods.GetMethod; | ||
| 49 | +import org.jboss.arquillian.container.test.api.Deployment; | ||
| 50 | +import org.jboss.arquillian.junit.Arquillian; | ||
| 51 | +import org.jboss.arquillian.test.api.ArquillianResource; | ||
| 52 | +import org.jboss.shrinkwrap.api.spec.WebArchive; | ||
| 53 | +import org.junit.Test; | ||
| 54 | +import org.junit.runner.RunWith; | ||
| 55 | + | ||
| 56 | +import test.Tests; | ||
| 57 | + | ||
| 58 | +@RunWith(Arquillian.class) | ||
| 59 | +public class HandledAuthorizationExceptionTest { | ||
| 60 | + | ||
| 61 | + @ArquillianResource | ||
| 62 | + private URL deploymentUrl; | ||
| 63 | + | ||
| 64 | + private static final String PATH = "src/test/resources/exception-handler-authorization"; | ||
| 65 | + | ||
| 66 | + @Deployment(testable = false) | ||
| 67 | + public static WebArchive createDeployment() { | ||
| 68 | + return Tests.createDeployment().addClasses(AuthorizationBean.class) | ||
| 69 | + .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") | ||
| 70 | + .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml") | ||
| 71 | + .addAsWebInfResource(Tests.createFileAsset(PATH + "/pretty-config.xml"), "pretty-config.xml"); | ||
| 72 | + | ||
| 73 | + } | ||
| 74 | + | ||
| 75 | + @Test | ||
| 76 | + public void authorizationException() throws HttpException, IOException { | ||
| 77 | + HttpClient client = new HttpClient(); | ||
| 78 | + GetMethod method = new GetMethod(deploymentUrl + "/index"); | ||
| 79 | + | ||
| 80 | + int status = client.executeMethod(method); | ||
| 81 | + String message = method.getResponseBodyAsString(); | ||
| 82 | + | ||
| 83 | + assertEquals(SC_OK, status); | ||
| 84 | + assertTrue(message.contains("Authorization Exception!")); | ||
| 85 | + } | ||
| 86 | +} |
impl/extension/jsf/src/test/java/exception/handler/authorization/UnhandledAuthorizationExceptionTest.java
0 → 100644
| @@ -0,0 +1,80 @@ | @@ -0,0 +1,80 @@ | ||
| 1 | +/* | ||
| 2 | + * Demoiselle Framework | ||
| 3 | + * Copyright (C) 2010 SERPRO | ||
| 4 | + * ---------------------------------------------------------------------------- | ||
| 5 | + * This file is part of Demoiselle Framework. | ||
| 6 | + * | ||
| 7 | + * Demoiselle Framework is free software; you can redistribute it and/or | ||
| 8 | + * modify it under the terms of the GNU Lesser General Public License version 3 | ||
| 9 | + * as published by the Free Software Foundation. | ||
| 10 | + * | ||
| 11 | + * This program is distributed in the hope that it will be useful, | ||
| 12 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | + * GNU General Public License for more details. | ||
| 15 | + * | ||
| 16 | + * You should have received a copy of the GNU Lesser General Public License version 3 | ||
| 17 | + * along with this program; if not, see <http://www.gnu.org/licenses/> | ||
| 18 | + * or write to the Free Software Foundation, Inc., 51 Franklin Street, | ||
| 19 | + * Fifth Floor, Boston, MA 02110-1301, USA. | ||
| 20 | + * ---------------------------------------------------------------------------- | ||
| 21 | + * Este arquivo é parte do Framework Demoiselle. | ||
| 22 | + * | ||
| 23 | + * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou | ||
| 24 | + * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação | ||
| 25 | + * do Software Livre (FSF). | ||
| 26 | + * | ||
| 27 | + * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA | ||
| 28 | + * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou | ||
| 29 | + * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português | ||
| 30 | + * para maiores detalhes. | ||
| 31 | + * | ||
| 32 | + * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título | ||
| 33 | + * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/> | ||
| 34 | + * ou escreva para a Fundação do Software Livre (FSF) Inc., | ||
| 35 | + * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. | ||
| 36 | + */ | ||
| 37 | +package exception.handler.authorization; | ||
| 38 | + | ||
| 39 | +import static org.apache.commons.httpclient.HttpStatus.SC_UNAUTHORIZED; | ||
| 40 | +import static org.junit.Assert.assertEquals; | ||
| 41 | + | ||
| 42 | +import java.io.IOException; | ||
| 43 | +import java.net.URL; | ||
| 44 | + | ||
| 45 | +import org.apache.commons.httpclient.HttpClient; | ||
| 46 | +import org.apache.commons.httpclient.HttpException; | ||
| 47 | +import org.apache.commons.httpclient.methods.GetMethod; | ||
| 48 | +import org.jboss.arquillian.container.test.api.Deployment; | ||
| 49 | +import org.jboss.arquillian.junit.Arquillian; | ||
| 50 | +import org.jboss.arquillian.test.api.ArquillianResource; | ||
| 51 | +import org.jboss.shrinkwrap.api.spec.WebArchive; | ||
| 52 | +import org.junit.Test; | ||
| 53 | +import org.junit.runner.RunWith; | ||
| 54 | + | ||
| 55 | +import test.Tests; | ||
| 56 | + | ||
| 57 | +@RunWith(Arquillian.class) | ||
| 58 | +public class UnhandledAuthorizationExceptionTest { | ||
| 59 | + | ||
| 60 | + @ArquillianResource | ||
| 61 | + private URL deploymentUrl; | ||
| 62 | + | ||
| 63 | + private static final String PATH = "src/test/resources/exception-handler-authorization"; | ||
| 64 | + | ||
| 65 | + @Deployment(testable = false) | ||
| 66 | + public static WebArchive createDeployment() { | ||
| 67 | + return Tests.createDeployment().addClasses(AuthorizationBean.class) | ||
| 68 | + .addAsWebResource(Tests.createFileAsset(PATH + "/error.xhtml"), "error.xhtml") | ||
| 69 | + .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml"); | ||
| 70 | + } | ||
| 71 | + | ||
| 72 | + @Test | ||
| 73 | + public void authorizationException() throws HttpException, IOException { | ||
| 74 | + HttpClient client = new HttpClient(); | ||
| 75 | + GetMethod method = new GetMethod(deploymentUrl + "/error.jsf"); | ||
| 76 | + | ||
| 77 | + int status = client.executeMethod(method); | ||
| 78 | + assertEquals(SC_UNAUTHORIZED, status); | ||
| 79 | + } | ||
| 80 | +} |
impl/extension/jsf/src/test/java/exception/handler/configuration/ExceptionHandlerDefaultConfigTest.java
| @@ -51,48 +51,33 @@ import org.jboss.shrinkwrap.api.spec.WebArchive; | @@ -51,48 +51,33 @@ import org.jboss.shrinkwrap.api.spec.WebArchive; | ||
| 51 | import org.junit.Test; | 51 | import org.junit.Test; |
| 52 | import org.junit.runner.RunWith; | 52 | import org.junit.runner.RunWith; |
| 53 | 53 | ||
| 54 | +import test.Tests; | ||
| 54 | import exception.handler.common.DummyException; | 55 | import exception.handler.common.DummyException; |
| 55 | import exception.handler.common.ExceptionHandlerConfigBean; | 56 | import exception.handler.common.ExceptionHandlerConfigBean; |
| 56 | -import test.Tests; | ||
| 57 | 57 | ||
| 58 | @RunWith(Arquillian.class) | 58 | @RunWith(Arquillian.class) |
| 59 | -public class ExceptionHandlerDefaultConfigTest{ | 59 | +public class ExceptionHandlerDefaultConfigTest { |
| 60 | 60 | ||
| 61 | @ArquillianResource | 61 | @ArquillianResource |
| 62 | private URL deploymentUrl; | 62 | private URL deploymentUrl; |
| 63 | - | 63 | + |
| 64 | private static final String PATH = "src/test/resources/exception-handler-config"; | 64 | private static final String PATH = "src/test/resources/exception-handler-config"; |
| 65 | 65 | ||
| 66 | @Deployment(testable = false) | 66 | @Deployment(testable = false) |
| 67 | public static WebArchive createDeployment() { | 67 | public static WebArchive createDeployment() { |
| 68 | - return Tests.createDeployment().addClass(ExceptionHandlerDefaultConfigTest.class) | ||
| 69 | - .addClass(DummyException.class) | ||
| 70 | - .addClass(ExceptionHandlerConfigBean.class) | 68 | + return Tests.createDeployment().addClasses(DummyException.class, ExceptionHandlerConfigBean.class) |
| 71 | .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") | 69 | .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") |
| 72 | .addAsWebResource(Tests.createFileAsset(PATH + "/application_error.xhtml"), "application_error.xhtml") | 70 | .addAsWebResource(Tests.createFileAsset(PATH + "/application_error.xhtml"), "application_error.xhtml") |
| 73 | .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml"); | 71 | .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml"); |
| 74 | } | 72 | } |
| 75 | - | 73 | + |
| 76 | @Test | 74 | @Test |
| 77 | - public void defaultConfiguration() { | 75 | + public void defaultConfiguration() throws HttpException, IOException { |
| 78 | HttpClient client = new HttpClient(); | 76 | HttpClient client = new HttpClient(); |
| 79 | GetMethod method = new GetMethod(deploymentUrl + "/index.jsf"); | 77 | GetMethod method = new GetMethod(deploymentUrl + "/index.jsf"); |
| 80 | - | ||
| 81 | - try { | ||
| 82 | - client.executeMethod(method); | ||
| 83 | - String message = method.getResponseBodyAsString(); | ||
| 84 | - assertTrue(message.contains("Called the page /application_error")); | ||
| 85 | - | ||
| 86 | - } catch (HttpException e) { | ||
| 87 | - e.printStackTrace(); | ||
| 88 | - } catch (IOException e) { | ||
| 89 | - e.printStackTrace(); | ||
| 90 | - } | 78 | + |
| 79 | + client.executeMethod(method); | ||
| 80 | + String message = method.getResponseBodyAsString(); | ||
| 81 | + assertTrue(message.contains("Called the page /application_error")); | ||
| 91 | } | 82 | } |
| 92 | } | 83 | } |
| 93 | - | ||
| 94 | - | ||
| 95 | - | ||
| 96 | - | ||
| 97 | - | ||
| 98 | - |
impl/extension/jsf/src/test/java/exception/handler/configuration/ExceptionHandlerRedirectConfigTest.java
| @@ -65,8 +65,7 @@ public class ExceptionHandlerRedirectConfigTest { | @@ -65,8 +65,7 @@ public class ExceptionHandlerRedirectConfigTest { | ||
| 65 | 65 | ||
| 66 | @Deployment(testable = false) | 66 | @Deployment(testable = false) |
| 67 | public static WebArchive createDeployment() { | 67 | public static WebArchive createDeployment() { |
| 68 | - return Tests.createDeployment().addClass(ExceptionHandlerRedirectConfigTest.class) | ||
| 69 | - .addClass(DummyException.class).addClass(ExceptionHandlerConfigBean.class) | 68 | + return Tests.createDeployment().addClasses(DummyException.class, ExceptionHandlerConfigBean.class) |
| 70 | .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") | 69 | .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") |
| 71 | .addAsWebResource(Tests.createFileAsset(PATH + "/error_page.xhtml"), "error_page.xhtml") | 70 | .addAsWebResource(Tests.createFileAsset(PATH + "/error_page.xhtml"), "error_page.xhtml") |
| 72 | .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml") | 71 | .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml") |
impl/extension/jsf/src/test/java/exception/handler/configuration/ExceptionNotHandlerConfigTest.java
| @@ -66,8 +66,7 @@ public class ExceptionNotHandlerConfigTest { | @@ -66,8 +66,7 @@ public class ExceptionNotHandlerConfigTest { | ||
| 66 | 66 | ||
| 67 | @Deployment(testable = false) | 67 | @Deployment(testable = false) |
| 68 | public static WebArchive createDeployment() { | 68 | public static WebArchive createDeployment() { |
| 69 | - return Tests.createDeployment().addClass(ExceptionNotHandlerConfigTest.class).addClass(DummyException.class) | ||
| 70 | - .addClass(ExceptionHandlerConfigBean.class) | 69 | + return Tests.createDeployment().addClasses(DummyException.class, ExceptionHandlerConfigBean.class) |
| 71 | .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") | 70 | .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") |
| 72 | .addAsWebResource(Tests.createFileAsset(PATH + "/application_error.xhtml"), "application_error.xhtml") | 71 | .addAsWebResource(Tests.createFileAsset(PATH + "/application_error.xhtml"), "application_error.xhtml") |
| 73 | .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml") | 72 | .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml") |
| @@ -75,17 +74,10 @@ public class ExceptionNotHandlerConfigTest { | @@ -75,17 +74,10 @@ public class ExceptionNotHandlerConfigTest { | ||
| 75 | } | 74 | } |
| 76 | 75 | ||
| 77 | @Test | 76 | @Test |
| 78 | - public void notHandlerConfiguration() { | 77 | + public void notHandlerConfiguration() throws HttpException, IOException { |
| 79 | HttpClient client = new HttpClient(); | 78 | HttpClient client = new HttpClient(); |
| 80 | GetMethod method = new GetMethod(deploymentUrl + "/index.jsf"); | 79 | GetMethod method = new GetMethod(deploymentUrl + "/index.jsf"); |
| 81 | 80 | ||
| 82 | - try { | ||
| 83 | - assertEquals(HttpStatus.SC_INTERNAL_SERVER_ERROR, client.executeMethod(method)); | ||
| 84 | - | ||
| 85 | - } catch (HttpException e) { | ||
| 86 | - e.printStackTrace(); | ||
| 87 | - } catch (IOException e) { | ||
| 88 | - e.printStackTrace(); | ||
| 89 | - } | 81 | + assertEquals(HttpStatus.SC_INTERNAL_SERVER_ERROR, client.executeMethod(method)); |
| 90 | } | 82 | } |
| 91 | } | 83 | } |
impl/extension/jsf/src/test/java/exception/handler/configuration/compatibility/ExceptionHandlerRedirectConfigTest.java
| @@ -65,8 +65,7 @@ public class ExceptionHandlerRedirectConfigTest { | @@ -65,8 +65,7 @@ public class ExceptionHandlerRedirectConfigTest { | ||
| 65 | 65 | ||
| 66 | @Deployment(testable = false) | 66 | @Deployment(testable = false) |
| 67 | public static WebArchive createDeployment() { | 67 | public static WebArchive createDeployment() { |
| 68 | - return Tests.createDeployment().addClass(ExceptionHandlerRedirectConfigTest.class) | ||
| 69 | - .addClass(DummyException.class).addClass(ExceptionHandlerConfigBean.class) | 68 | + return Tests.createDeployment().addClasses(DummyException.class, ExceptionHandlerConfigBean.class) |
| 70 | .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") | 69 | .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") |
| 71 | .addAsWebResource(Tests.createFileAsset(PATH + "/error_page.xhtml"), "error_page.xhtml") | 70 | .addAsWebResource(Tests.createFileAsset(PATH + "/error_page.xhtml"), "error_page.xhtml") |
| 72 | .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml") | 71 | .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml") |
| @@ -74,19 +73,12 @@ public class ExceptionHandlerRedirectConfigTest { | @@ -74,19 +73,12 @@ public class ExceptionHandlerRedirectConfigTest { | ||
| 74 | } | 73 | } |
| 75 | 74 | ||
| 76 | @Test | 75 | @Test |
| 77 | - public void notHandlerConfiguration() { | 76 | + public void notHandlerConfiguration() throws HttpException, IOException { |
| 78 | HttpClient client = new HttpClient(); | 77 | HttpClient client = new HttpClient(); |
| 79 | GetMethod method = new GetMethod(deploymentUrl + "/index.jsf"); | 78 | GetMethod method = new GetMethod(deploymentUrl + "/index.jsf"); |
| 80 | 79 | ||
| 81 | - try { | ||
| 82 | - client.executeMethod(method); | ||
| 83 | - String message = method.getResponseBodyAsString(); | ||
| 84 | - assertTrue(message.contains("Called the page /error_page")); | ||
| 85 | - | ||
| 86 | - } catch (HttpException e) { | ||
| 87 | - e.printStackTrace(); | ||
| 88 | - } catch (IOException e) { | ||
| 89 | - e.printStackTrace(); | ||
| 90 | - } | 80 | + client.executeMethod(method); |
| 81 | + String message = method.getResponseBodyAsString(); | ||
| 82 | + assertTrue(message.contains("Called the page /error_page")); | ||
| 91 | } | 83 | } |
| 92 | } | 84 | } |
impl/extension/jsf/src/test/java/exception/handler/configuration/compatibility/ExceptionNotHandlerConfigTest.java
| @@ -66,8 +66,7 @@ public class ExceptionNotHandlerConfigTest { | @@ -66,8 +66,7 @@ public class ExceptionNotHandlerConfigTest { | ||
| 66 | 66 | ||
| 67 | @Deployment(testable = false) | 67 | @Deployment(testable = false) |
| 68 | public static WebArchive createDeployment() { | 68 | public static WebArchive createDeployment() { |
| 69 | - return Tests.createDeployment().addClass(ExceptionNotHandlerConfigTest.class).addClass(DummyException.class) | ||
| 70 | - .addClass(ExceptionHandlerConfigBean.class) | 69 | + return Tests.createDeployment().addClasses(DummyException.class, ExceptionHandlerConfigBean.class) |
| 71 | .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") | 70 | .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") |
| 72 | .addAsWebResource(Tests.createFileAsset(PATH + "/application_error.xhtml"), "application_error.xhtml") | 71 | .addAsWebResource(Tests.createFileAsset(PATH + "/application_error.xhtml"), "application_error.xhtml") |
| 73 | .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml") | 72 | .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml") |
| @@ -75,18 +74,11 @@ public class ExceptionNotHandlerConfigTest { | @@ -75,18 +74,11 @@ public class ExceptionNotHandlerConfigTest { | ||
| 75 | } | 74 | } |
| 76 | 75 | ||
| 77 | @Test | 76 | @Test |
| 78 | - public void notHandlerConfiguration() { | 77 | + public void notHandlerConfiguration() throws HttpException, IOException { |
| 79 | HttpClient client = new HttpClient(); | 78 | HttpClient client = new HttpClient(); |
| 80 | GetMethod method = new GetMethod(deploymentUrl + "/index.jsf"); | 79 | GetMethod method = new GetMethod(deploymentUrl + "/index.jsf"); |
| 81 | 80 | ||
| 82 | - try { | ||
| 83 | - int status = client.executeMethod(method); | ||
| 84 | - assertEquals(HttpStatus.SC_INTERNAL_SERVER_ERROR, status); | ||
| 85 | - | ||
| 86 | - } catch (HttpException e) { | ||
| 87 | - e.printStackTrace(); | ||
| 88 | - } catch (IOException e) { | ||
| 89 | - e.printStackTrace(); | ||
| 90 | - } | 81 | + int status = client.executeMethod(method); |
| 82 | + assertEquals(HttpStatus.SC_INTERNAL_SERVER_ERROR, status); | ||
| 91 | } | 83 | } |
| 92 | } | 84 | } |
impl/extension/jsf/src/test/java/exception/handler/redirect/RedirectExceptionTest.java
| @@ -25,20 +25,18 @@ public class RedirectExceptionTest { | @@ -25,20 +25,18 @@ public class RedirectExceptionTest { | ||
| 25 | 25 | ||
| 26 | @ArquillianResource | 26 | @ArquillianResource |
| 27 | private URL deploymentUrl; | 27 | private URL deploymentUrl; |
| 28 | - | 28 | + |
| 29 | private static final String PATH = "src/test/resources/exception-handler-redirect"; | 29 | private static final String PATH = "src/test/resources/exception-handler-redirect"; |
| 30 | 30 | ||
| 31 | @Deployment(testable = false) | 31 | @Deployment(testable = false) |
| 32 | public static WebArchive createDeployment() { | 32 | public static WebArchive createDeployment() { |
| 33 | - return Tests.createDeployment().addClass(RedirectExceptionTest.class) | ||
| 34 | - .addClass(RedirectBean.class) | ||
| 35 | - .addClass(ExceptionWithCorrectRedirect.class) | 33 | + return Tests.createDeployment().addClasses(RedirectBean.class, ExceptionWithCorrectRedirect.class) |
| 36 | .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") | 34 | .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") |
| 37 | .addAsWebResource(Tests.createFileAsset(PATH + "/page.xhtml"), "page.xhtml") | 35 | .addAsWebResource(Tests.createFileAsset(PATH + "/page.xhtml"), "page.xhtml") |
| 38 | .addAsWebResource(Tests.createFileAsset(PATH + "/redirect.xhtml"), "redirect.xhtml") | 36 | .addAsWebResource(Tests.createFileAsset(PATH + "/redirect.xhtml"), "redirect.xhtml") |
| 39 | .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml"); | 37 | .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml"); |
| 40 | } | 38 | } |
| 41 | - | 39 | + |
| 42 | @Test | 40 | @Test |
| 43 | public void handleExceptionWithCorrectRedirect() { | 41 | public void handleExceptionWithCorrectRedirect() { |
| 44 | HttpClient client = new HttpClient(); | 42 | HttpClient client = new HttpClient(); |
| @@ -47,7 +45,7 @@ public class RedirectExceptionTest { | @@ -47,7 +45,7 @@ public class RedirectExceptionTest { | ||
| 47 | try { | 45 | try { |
| 48 | int status = client.executeMethod(method); | 46 | int status = client.executeMethod(method); |
| 49 | String message = method.getResponseBodyAsString(); | 47 | String message = method.getResponseBodyAsString(); |
| 50 | - | 48 | + |
| 51 | assertEquals(HttpStatus.SC_OK, status); | 49 | assertEquals(HttpStatus.SC_OK, status); |
| 52 | assertFalse(message.contains("Correct Redirect Exception!")); | 50 | assertFalse(message.contains("Correct Redirect Exception!")); |
| 53 | assertTrue(message.contains("Page redirected!")); | 51 | assertTrue(message.contains("Page redirected!")); |
| @@ -58,7 +56,7 @@ public class RedirectExceptionTest { | @@ -58,7 +56,7 @@ public class RedirectExceptionTest { | ||
| 58 | e.printStackTrace(); | 56 | e.printStackTrace(); |
| 59 | } | 57 | } |
| 60 | } | 58 | } |
| 61 | - | 59 | + |
| 62 | @Test | 60 | @Test |
| 63 | public void handleExceptionWithWrongRedirect() { | 61 | public void handleExceptionWithWrongRedirect() { |
| 64 | HttpClient client = new HttpClient(); | 62 | HttpClient client = new HttpClient(); |
| @@ -75,4 +73,3 @@ public class RedirectExceptionTest { | @@ -75,4 +73,3 @@ public class RedirectExceptionTest { | ||
| 75 | } | 73 | } |
| 76 | } | 74 | } |
| 77 | } | 75 | } |
| 78 | - |
impl/extension/jsf/src/test/java/message/MessageTest.java
| @@ -63,26 +63,18 @@ public class MessageTest { | @@ -63,26 +63,18 @@ public class MessageTest { | ||
| 63 | 63 | ||
| 64 | @Deployment(testable = false) | 64 | @Deployment(testable = false) |
| 65 | public static WebArchive createDeployment() { | 65 | public static WebArchive createDeployment() { |
| 66 | - return Tests.createDeployment().addClass(MessageTest.class) | ||
| 67 | - .addClass(MessageBean.class) | 66 | + return Tests.createDeployment().addClasses(MessageBean.class) |
| 68 | .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") | 67 | .addAsWebResource(Tests.createFileAsset(PATH + "/index.xhtml"), "index.xhtml") |
| 69 | .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml"); | 68 | .addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml"); |
| 70 | } | 69 | } |
| 71 | 70 | ||
| 72 | @Test | 71 | @Test |
| 73 | - public void showMessage() { | 72 | + public void showMessage() throws HttpException, IOException { |
| 74 | HttpClient client = new HttpClient(); | 73 | HttpClient client = new HttpClient(); |
| 75 | GetMethod method = new GetMethod(deploymentUrl + "/index.jsf"); | 74 | GetMethod method = new GetMethod(deploymentUrl + "/index.jsf"); |
| 76 | 75 | ||
| 77 | - try { | ||
| 78 | - client.executeMethod(method); | ||
| 79 | - String message = method.getResponseBodyAsString(); | ||
| 80 | - assertTrue(message.contains("Message shown.")); | ||
| 81 | - | ||
| 82 | - } catch (HttpException e) { | ||
| 83 | - e.printStackTrace(); | ||
| 84 | - } catch (IOException e) { | ||
| 85 | - e.printStackTrace(); | ||
| 86 | - } | 76 | + client.executeMethod(method); |
| 77 | + String message = method.getResponseBodyAsString(); | ||
| 78 | + assertTrue(message.contains("Message shown.")); | ||
| 87 | } | 79 | } |
| 88 | } | 80 | } |
impl/extension/jsf/src/test/java/proxy/FacesContextProxyTest.java
| @@ -69,17 +69,11 @@ public class FacesContextProxyTest { | @@ -69,17 +69,11 @@ public class FacesContextProxyTest { | ||
| 69 | } | 69 | } |
| 70 | 70 | ||
| 71 | @Test | 71 | @Test |
| 72 | - public void facesContextProxy() { | 72 | + public void facesContextProxy() throws HttpException, IOException { |
| 73 | HttpClient client = new HttpClient(); | 73 | HttpClient client = new HttpClient(); |
| 74 | GetMethod method = new GetMethod(deploymentUrl + "/index"); | 74 | GetMethod method = new GetMethod(deploymentUrl + "/index"); |
| 75 | 75 | ||
| 76 | - try { | ||
| 77 | - int status = client.executeMethod(method); | ||
| 78 | - assertEquals( HttpStatus.SC_OK, status); | ||
| 79 | - } catch (HttpException e) { | ||
| 80 | - e.printStackTrace(); | ||
| 81 | - } catch (IOException e) { | ||
| 82 | - e.printStackTrace(); | ||
| 83 | - } | 76 | + int status = client.executeMethod(method); |
| 77 | + assertEquals(HttpStatus.SC_OK, status); | ||
| 84 | } | 78 | } |
| 85 | } | 79 | } |
impl/extension/jsf/src/test/java/test/Tests.java
| @@ -80,17 +80,13 @@ import br.gov.frameworkdemoiselle.util.PageNotFoundException; | @@ -80,17 +80,13 @@ import br.gov.frameworkdemoiselle.util.PageNotFoundException; | ||
| 80 | import br.gov.frameworkdemoiselle.util.Parameter; | 80 | import br.gov.frameworkdemoiselle.util.Parameter; |
| 81 | import br.gov.frameworkdemoiselle.util.Redirector; | 81 | import br.gov.frameworkdemoiselle.util.Redirector; |
| 82 | 82 | ||
| 83 | -@SuppressWarnings("deprecation") | ||
| 84 | @Ignore | 83 | @Ignore |
| 84 | +@SuppressWarnings("deprecation") | ||
| 85 | public final class Tests { | 85 | public final class Tests { |
| 86 | 86 | ||
| 87 | private Tests() { | 87 | private Tests() { |
| 88 | } | 88 | } |
| 89 | 89 | ||
| 90 | - public static WebArchive createDeployment(final Class<?> baseClass) { | ||
| 91 | - return createDeployment().addPackages(true, baseClass.getPackage()).addClass(Tests.class); | ||
| 92 | - } | ||
| 93 | - | ||
| 94 | public static WebArchive createDeployment() { | 90 | public static WebArchive createDeployment() { |
| 95 | File[] libs = Maven.resolver().offline().loadPomFromFile("pom.xml", "arquillian-test") | 91 | File[] libs = Maven.resolver().offline().loadPomFromFile("pom.xml", "arquillian-test") |
| 96 | .importCompileAndRuntimeDependencies().resolve().withTransitivity().asFile(); | 92 | .importCompileAndRuntimeDependencies().resolve().withTransitivity().asFile(); |
impl/extension/jsf/src/test/resources/exception-handler-authentication/demoiselle.properties
0 → 100644
| @@ -0,0 +1,36 @@ | @@ -0,0 +1,36 @@ | ||
| 1 | +# Demoiselle Framework | ||
| 2 | +# Copyright (C) 2010 SERPRO | ||
| 3 | +# ---------------------------------------------------------------------------- | ||
| 4 | +# This file is part of Demoiselle Framework. | ||
| 5 | +# | ||
| 6 | +# Demoiselle Framework is free software; you can redistribute it and/or | ||
| 7 | +# modify it under the terms of the GNU Lesser General Public License version 3 | ||
| 8 | +# as published by the Free Software Foundation. | ||
| 9 | +# | ||
| 10 | +# This program is distributed in the hope that it will be useful, | ||
| 11 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | +# GNU General Public License for more details. | ||
| 14 | +# | ||
| 15 | +# You should have received a copy of the GNU Lesser General Public License version 3 | ||
| 16 | +# along with this program; if not, see <http://www.gnu.org/licenses/> | ||
| 17 | +# or write to the Free Software Foundation, Inc., 51 Franklin Street, | ||
| 18 | +# Fifth Floor, Boston, MA 02110-1301, USA. | ||
| 19 | +# ---------------------------------------------------------------------------- | ||
| 20 | +# Este arquivo é parte do Framework Demoiselle. | ||
| 21 | +# | ||
| 22 | +# O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou | ||
| 23 | +# modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação | ||
| 24 | +# do Software Livre (FSF). | ||
| 25 | +# | ||
| 26 | +# Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA | ||
| 27 | +# GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou | ||
| 28 | +# APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português | ||
| 29 | +# para maiores detalhes. | ||
| 30 | +# | ||
| 31 | +# Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título | ||
| 32 | +# "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/> | ||
| 33 | +# ou escreva para a Fundação do Software Livre (FSF) Inc., | ||
| 34 | +# 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. | ||
| 35 | + | ||
| 36 | +frameworkdemoiselle.security.redirect.enabled=false | ||
| 0 | \ No newline at end of file | 37 | \ No newline at end of file |
impl/extension/jsf/src/test/resources/exception-handler-authorization/error.xhtml
0 → 100644
| @@ -0,0 +1,43 @@ | @@ -0,0 +1,43 @@ | ||
| 1 | +<!-- | ||
| 2 | + Demoiselle Framework | ||
| 3 | + Copyright (C) 2010 SERPRO | ||
| 4 | + ============================================================================ | ||
| 5 | + This file is part of Demoiselle Framework. | ||
| 6 | + | ||
| 7 | + Demoiselle Framework is free software; you can redistribute it and/or | ||
| 8 | + modify it under the terms of the GNU Lesser General Public License version 3 | ||
| 9 | + as published by the Free Software Foundation. | ||
| 10 | + | ||
| 11 | + This program is distributed in the hope that it will be useful, | ||
| 12 | + but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | + GNU General Public License for more details. | ||
| 15 | + | ||
| 16 | + You should have received a copy of the GNU Lesser General Public License version 3 | ||
| 17 | + along with this program; if not, see <http://www.gnu.org/licenses /> | ||
| 18 | + or write to the Free Software Foundation, Inc., 51 Franklin Street, | ||
| 19 | + Fifth Floor, Boston, MA 02110-1301, USA. | ||
| 20 | + ============================================================================ | ||
| 21 | + Este arquivo é parte do Framework Demoiselle. | ||
| 22 | + | ||
| 23 | + O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou | ||
| 24 | + modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação | ||
| 25 | + do Software Livre (FSF). | ||
| 26 | + | ||
| 27 | + Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA | ||
| 28 | + GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou | ||
| 29 | + APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português | ||
| 30 | + para maiores detalhes. | ||
| 31 | + | ||
| 32 | + Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título | ||
| 33 | + "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses /> | ||
| 34 | + ou escreva para a Fundação do Software Livre (FSF) Inc., | ||
| 35 | + 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. | ||
| 36 | +--> | ||
| 37 | +<html xmlns:h="http://java.sun.com/jsf/html"> | ||
| 38 | + | ||
| 39 | + <h:body> | ||
| 40 | + #{authorizationBean.throwExceptionMessage} | ||
| 41 | + </h:body> | ||
| 42 | + | ||
| 43 | +</html> |
impl/extension/jsf/src/test/resources/exception-handler-authorization/index.xhtml
| 1 | -<html xmlns:h="http://java.sun.com/jsf/html" | ||
| 2 | - xmlns:ui="http://java.sun.com/jsf/facelets"> | 1 | +<!-- |
| 2 | + Demoiselle Framework | ||
| 3 | + Copyright (C) 2010 SERPRO | ||
| 4 | + ============================================================================ | ||
| 5 | + This file is part of Demoiselle Framework. | ||
| 6 | + | ||
| 7 | + Demoiselle Framework is free software; you can redistribute it and/or | ||
| 8 | + modify it under the terms of the GNU Lesser General Public License version 3 | ||
| 9 | + as published by the Free Software Foundation. | ||
| 10 | + | ||
| 11 | + This program is distributed in the hope that it will be useful, | ||
| 12 | + but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | + GNU General Public License for more details. | ||
| 15 | + | ||
| 16 | + You should have received a copy of the GNU Lesser General Public License version 3 | ||
| 17 | + along with this program; if not, see <http://www.gnu.org/licenses /> | ||
| 18 | + or write to the Free Software Foundation, Inc., 51 Franklin Street, | ||
| 19 | + Fifth Floor, Boston, MA 02110-1301, USA. | ||
| 20 | + ============================================================================ | ||
| 21 | + Este arquivo é parte do Framework Demoiselle. | ||
| 22 | + | ||
| 23 | + O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou | ||
| 24 | + modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação | ||
| 25 | + do Software Livre (FSF). | ||
| 26 | + | ||
| 27 | + Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA | ||
| 28 | + GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou | ||
| 29 | + APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português | ||
| 30 | + para maiores detalhes. | ||
| 31 | + | ||
| 32 | + Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título | ||
| 33 | + "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses /> | ||
| 34 | + ou escreva para a Fundação do Software Livre (FSF) Inc., | ||
| 35 | + 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. | ||
| 36 | +--> | ||
| 37 | +<html xmlns:h="http://java.sun.com/jsf/html"> | ||
| 3 | 38 | ||
| 4 | <h:body> | 39 | <h:body> |
| 5 | - #{authorizationBean.correctMessage} | ||
| 6 | - <h:messages /> | 40 | + <h:messages /> |
| 7 | </h:body> | 41 | </h:body> |
| 8 | 42 | ||
| 9 | </html> | 43 | </html> |
impl/extension/jsf/src/test/resources/exception-handler-authorization/page.xhtml
| @@ -1,10 +0,0 @@ | @@ -1,10 +0,0 @@ | ||
| 1 | -<html xmlns:h="http://java.sun.com/jsf/html" | ||
| 2 | - xmlns:ui="http://java.sun.com/jsf/facelets"> | ||
| 3 | - | ||
| 4 | - <h:body> | ||
| 5 | - #{authorizationBean.correctMessage} | ||
| 6 | - #{authorizationBean.exceptionMessage} | ||
| 7 | - <h:messages /> | ||
| 8 | - </h:body> | ||
| 9 | - | ||
| 10 | -</html> | ||
| 11 | \ No newline at end of file | 0 | \ No newline at end of file |
impl/extension/jsf/src/test/resources/exception-handler-authorization/pretty-config.xml
| @@ -43,7 +43,7 @@ | @@ -43,7 +43,7 @@ | ||
| 43 | <url-mapping id="index"> | 43 | <url-mapping id="index"> |
| 44 | <pattern value="/index" /> | 44 | <pattern value="/index" /> |
| 45 | <view-id value="/index.jsf" /> | 45 | <view-id value="/index.jsf" /> |
| 46 | - <action>#{authorizationBean.loadExceptionMessage}</action> | 46 | + <action>#{authorizationBean.getThrowExceptionMessage}</action> |
| 47 | </url-mapping> | 47 | </url-mapping> |
| 48 | 48 | ||
| 49 | </pretty-config> | 49 | </pretty-config> |
| 50 | \ No newline at end of file | 50 | \ No newline at end of file |
impl/extension/jsf/src/test/resources/exception-handler-authorization/web.xml
| @@ -71,4 +71,9 @@ | @@ -71,4 +71,9 @@ | ||
| 71 | <servlet-name>Faces Servlet</servlet-name> | 71 | <servlet-name>Faces Servlet</servlet-name> |
| 72 | <url-pattern>*.jsf</url-pattern> | 72 | <url-pattern>*.jsf</url-pattern> |
| 73 | </servlet-mapping> | 73 | </servlet-mapping> |
| 74 | + | ||
| 75 | + <context-param> | ||
| 76 | + <param-name>facelets.SKIP_COMMENTS</param-name> | ||
| 77 | + <param-value>true</param-value> | ||
| 78 | + </context-param> | ||
| 74 | </web-app> | 79 | </web-app> |
| 75 | \ No newline at end of file | 80 | \ No newline at end of file |