[jboss-svn-commits] JBoss Common SVN: r4478 - in arquillian/trunk: frameworks and 26 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Jun 9 08:43:30 EDT 2010
Author: aslak
Date: 2010-06-09 08:43:29 -0400 (Wed, 09 Jun 2010)
New Revision: 4478
Added:
arquillian/trunk/frameworks/
arquillian/trunk/frameworks/jsfunit/
arquillian/trunk/frameworks/jsfunit/pom.xml
arquillian/trunk/frameworks/jsfunit/src/
arquillian/trunk/frameworks/jsfunit/src/main/
arquillian/trunk/frameworks/jsfunit/src/main/java/
arquillian/trunk/frameworks/jsfunit/src/main/java/org/
arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/
arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/arquillian/
arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/arquillian/framework/
arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/arquillian/framework/jsfunit/
arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/arquillian/framework/jsfunit/JSFUnitArchiveAppender.java
arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/arquillian/framework/jsfunit/JSFUnitCleanupTestTreadFilter.java
arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/jsfunit/
arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/jsfunit/init/
arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/jsfunit/init/JSFUnitSCI.java
arquillian/trunk/frameworks/jsfunit/src/main/resources/
arquillian/trunk/frameworks/jsfunit/src/main/resources/META-INF/
arquillian/trunk/frameworks/jsfunit/src/main/resources/META-INF/services/
arquillian/trunk/frameworks/jsfunit/src/main/resources/META-INF/services/org.jboss.arquillian.spi.AuxiliaryArchiveAppender
arquillian/trunk/frameworks/jsfunit/src/main/resources/faces-config.xml
arquillian/trunk/frameworks/jsfunit/src/main/resources/web-fragment.xml
arquillian/trunk/frameworks/jsfunit/src/test/
arquillian/trunk/frameworks/jsfunit/src/test/java/
arquillian/trunk/frameworks/jsfunit/src/test/java/org/
arquillian/trunk/frameworks/jsfunit/src/test/java/org/jboss/
arquillian/trunk/frameworks/jsfunit/src/test/java/org/jboss/arquillian/
arquillian/trunk/frameworks/jsfunit/src/test/java/org/jboss/arquillian/framework/
arquillian/trunk/frameworks/jsfunit/src/test/java/org/jboss/arquillian/framework/jsfunit/
arquillian/trunk/frameworks/jsfunit/src/test/java/org/jboss/arquillian/framework/jsfunit/JSFUnitTestCase.java
arquillian/trunk/frameworks/jsfunit/src/test/java/org/jboss/arquillian/framework/jsfunit/RequestScopeBean.java
arquillian/trunk/frameworks/jsfunit/src/test/java/org/jboss/arquillian/framework/jsfunit/ScopeAwareBean.java
arquillian/trunk/frameworks/jsfunit/src/test/resources/
arquillian/trunk/frameworks/jsfunit/src/test/resources/arquillian.xml
arquillian/trunk/frameworks/jsfunit/src/test/resources/jndi.properties
arquillian/trunk/frameworks/jsfunit/src/test/resources/jsf/
arquillian/trunk/frameworks/jsfunit/src/test/resources/jsf/.faces-config.xml.jsfdia
arquillian/trunk/frameworks/jsfunit/src/test/resources/jsf/faces-config.xml
arquillian/trunk/frameworks/jsfunit/src/test/resources/jsf/index.xhtml
arquillian/trunk/frameworks/jsfunit/src/test/resources/jsf/jsf-web.xml
arquillian/trunk/frameworks/jsfunit/target/
arquillian/trunk/frameworks/jsfunit/target/classes/
arquillian/trunk/frameworks/jsfunit/target/classes/META-INF/
arquillian/trunk/frameworks/jsfunit/target/classes/META-INF/services/
arquillian/trunk/frameworks/jsfunit/target/test-classes/
arquillian/trunk/frameworks/pom.xml
Modified:
arquillian/trunk/pom.xml
Log:
ARQ-172 Initial JSFUnit integration code. Tests disabled due to JSFUnit bug, leaks FacesContexts between threads. User needs to bundle the JSFUnit faces-config.xml due to ZipException bug in JBoss AS 6.0 M3.
Property changes on: arquillian/trunk/frameworks
___________________________________________________________________
Name: svn:ignore
+ .classpath
.project
.settings
target
Property changes on: arquillian/trunk/frameworks/jsfunit
___________________________________________________________________
Name: svn:ignore
+ .classpath
.project
.settings
target
Added: arquillian/trunk/frameworks/jsfunit/pom.xml
===================================================================
--- arquillian/trunk/frameworks/jsfunit/pom.xml (rev 0)
+++ arquillian/trunk/frameworks/jsfunit/pom.xml 2010-06-09 12:43:29 UTC (rev 4478)
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!--
+ vi:ts=2:sw=2:expandtab:
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <!-- Parent -->
+ <parent>
+ <groupId>org.jboss.arquillian</groupId>
+ <artifactId>arquillian-build</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../../build/pom.xml</relativePath>
+ </parent>
+
+ <!-- Model Version -->
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- Artifact Configuration -->
+ <groupId>org.jboss.arquillian.framework</groupId>
+ <artifactId>arquillian-framework-jsfunit</artifactId>
+ <name>Arquillian Framework JSFUnit</name>
+ <description>JSFUnit integration for the Arquillian project</description>
+
+
+ <!-- Properties -->
+ <properties>
+
+ <version.jboss_60>6.0.0.20100429-M3</version.jboss_60>
+
+ </properties>
+
+ <!-- Dependencies -->
+ <dependencies>
+
+ <!--
+ org.jboss.arquillian
+ -->
+ <dependency>
+ <groupId>org.jboss.arquillian</groupId>
+ <artifactId>arquillian-spi</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.shrinkwrap</groupId>
+ <artifactId>shrinkwrap-impl-base</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.shrinkwrap</groupId>
+ <artifactId>shrinkwrap-spi</artifactId>
+ </dependency>
+
+ <!--
+ org.jboss.jsfunit
+ -->
+
+ <dependency>
+ <groupId>org.jboss.jsfunit</groupId>
+ <artifactId>jboss-jsfunit-core</artifactId>
+ <version>1.2.0.Final</version>
+ <scope>compile</scope>
+ </dependency>
+
+ <!--
+ External Projects
+ -->
+
+ <dependency>
+ <groupId>jboss.web</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>3.0.0.alpha-25</version>
+ <scope>provided</scope>
+ </dependency>
+
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.arquillian</groupId>
+ <artifactId>arquillian-junit</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.arquillian.container</groupId>
+ <artifactId>arquillian-jbossas-remote-60</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-client</artifactId>
+ <version>${version.jboss_60}</version>
+ <type>pom</type>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.enterprise</groupId>
+ <artifactId>cdi-api</artifactId>
+ <version>1.0-SP1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.faces</groupId>
+ <artifactId>jsf-api</artifactId>
+ <version>2.0.2-FCS</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <plugins>
+ <!-- Surefire -->
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <!-- Skip Tests in main build due to bug in JSFUnit -->
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
+
Added: arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/arquillian/framework/jsfunit/JSFUnitArchiveAppender.java
===================================================================
--- arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/arquillian/framework/jsfunit/JSFUnitArchiveAppender.java (rev 0)
+++ arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/arquillian/framework/jsfunit/JSFUnitArchiveAppender.java 2010-06-09 12:43:29 UTC (rev 4478)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.arquillian.framework.jsfunit;
+
+import org.jboss.arquillian.spi.AuxiliaryArchiveAppender;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+
+
+/**
+ * JSFUnitArchiveAppender
+ *
+ * @author <a href="mailto:aslak at conduct.no">Aslak Knutsen</a>
+ * @version $Revision: $
+ */
+public class JSFUnitArchiveAppender implements AuxiliaryArchiveAppender
+{
+ /* (non-Javadoc)
+ * @see org.jboss.arquillian.spi.AuxiliaryArchiveAppender#createAuxiliaryArchive()
+ */
+ public Archive<?> createAuxiliaryArchive()
+ {
+ return ShrinkWrap.create("arquillian-jsfunit.jar", JavaArchive.class)
+ .addClass(JSFUnitCleanupTestTreadFilter.class)
+ .addPackages(
+ true,
+ org.jboss.jsfunit.jsfsession.JSFSession.class.getPackage(),
+ org.jboss.jsfunit.framework.WebClientSpec.class.getPackage(),
+ org.jboss.jsfunit.context.JSFUnitFacesContext.class.getPackage(),
+ org.jboss.jsfunit.seam.SeamUtil.class.getPackage(),
+ com.gargoylesoftware.htmlunit.BrowserVersion.class.getPackage(),
+ org.apache.commons.codec.Decoder.class.getPackage(),
+ org.apache.commons.httpclient.HttpClient.class.getPackage(),
+ org.apache.commons.io.IOUtils.class.getPackage(),
+ org.apache.commons.lang.StringUtils.class.getPackage(),
+ net.sourceforge.htmlunit.corejs.javascript.EvaluatorException.class.getPackage(),
+ org.w3c.css.sac.CSSException.class.getPackage(),
+ com.steadystate.css.dom.CSSOMObject.class.getPackage(),
+ org.cyberneko.html.HTMLComponent.class.getPackage())
+ .addResource("com/gargoylesoftware/htmlunit/javascript/configuration/FF2.properties")
+ .addResource("com/gargoylesoftware/htmlunit/javascript/configuration/FF3.properties")
+ .addResource("com/gargoylesoftware/htmlunit/javascript/configuration/IE6.properties")
+ .addResource("com/gargoylesoftware/htmlunit/javascript/configuration/IE7.properties")
+ .addResource("com/gargoylesoftware/htmlunit/javascript/configuration/IE8.properties")
+ .addResource("com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.xml")
+ .addResource("com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.xsd")
+ //.addManifestResource("faces-config.xml")
+ .addManifestResource("web-fragment.xml");
+ }
+}
Added: arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/arquillian/framework/jsfunit/JSFUnitCleanupTestTreadFilter.java
===================================================================
--- arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/arquillian/framework/jsfunit/JSFUnitCleanupTestTreadFilter.java (rev 0)
+++ arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/arquillian/framework/jsfunit/JSFUnitCleanupTestTreadFilter.java 2010-06-09 12:43:29 UTC (rev 4478)
@@ -0,0 +1,77 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.arquillian.framework.jsfunit;
+
+import java.io.IOException;
+
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+import org.jboss.jsfunit.seam.SeamUtil;
+
+/**
+ * JSFUnitCleanupTestTreadFilter
+ *
+ * @author <a href="mailto:aslak at redhat.com">Aslak Knutsen</a>
+ * @version $Revision: $
+ */
+public class JSFUnitCleanupTestTreadFilter implements Filter
+{
+
+ public void init(FilterConfig arg0) throws ServletException
+ {
+ }
+
+ public void destroy()
+ {
+ }
+
+ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
+ ServletException
+ {
+ chain.doFilter(request, response);
+ cleanUp((HttpServletRequest)request);
+ }
+
+ private void cleanUp(HttpServletRequest httpServletRequest)
+ {
+ if (!isCallTestService(httpServletRequest)) return;
+
+ if (SeamUtil.isSeamInitialized())
+ {
+ SeamUtil.invalidateSeamSession(httpServletRequest);
+ }
+
+ HttpSession session = httpServletRequest.getSession(false);
+ if (session != null)
+ {
+ session.invalidate();
+ }
+ }
+
+ // cleanUp should only be done if Cactus is running a CALL_TEST_SERVICE command
+ private boolean isCallTestService(HttpServletRequest httpServletRequest)
+ {
+ return true;
+ }
+}
Added: arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/jsfunit/init/JSFUnitSCI.java
===================================================================
--- arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/jsfunit/init/JSFUnitSCI.java (rev 0)
+++ arquillian/trunk/frameworks/jsfunit/src/main/java/org/jboss/jsfunit/init/JSFUnitSCI.java 2010-06-09 12:43:29 UTC (rev 4478)
@@ -0,0 +1,20 @@
+package org.jboss.jsfunit.init;
+
+import java.util.Set;
+
+import javax.servlet.ServletContainerInitializer;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+
+
+public class JSFUnitSCI implements ServletContainerInitializer
+{
+
+ public void onStartup(Set<Class<?>> arg0, ServletContext arg1)
+ throws ServletException
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Added: arquillian/trunk/frameworks/jsfunit/src/main/resources/META-INF/services/org.jboss.arquillian.spi.AuxiliaryArchiveAppender
===================================================================
--- arquillian/trunk/frameworks/jsfunit/src/main/resources/META-INF/services/org.jboss.arquillian.spi.AuxiliaryArchiveAppender (rev 0)
+++ arquillian/trunk/frameworks/jsfunit/src/main/resources/META-INF/services/org.jboss.arquillian.spi.AuxiliaryArchiveAppender 2010-06-09 12:43:29 UTC (rev 4478)
@@ -0,0 +1 @@
+org.jboss.arquillian.framework.jsfunit.JSFUnitArchiveAppender
\ No newline at end of file
Added: arquillian/trunk/frameworks/jsfunit/src/main/resources/faces-config.xml
===================================================================
--- arquillian/trunk/frameworks/jsfunit/src/main/resources/faces-config.xml (rev 0)
+++ arquillian/trunk/frameworks/jsfunit/src/main/resources/faces-config.xml 2010-06-09 12:43:29 UTC (rev 4478)
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+ http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
+ version="2.0">
+
+ <factory>
+ <faces-context-factory>org.jboss.jsfunit.context.JSFUnitFacesContextFactory</faces-context-factory>
+ </factory>
+
+ <application>
+ <variable-resolver>org.jboss.jsfunit.seam.ConversationScopeVariableResolver</variable-resolver>
+ </application>
+
+</faces-config>
Added: arquillian/trunk/frameworks/jsfunit/src/main/resources/web-fragment.xml
===================================================================
--- arquillian/trunk/frameworks/jsfunit/src/main/resources/web-fragment.xml (rev 0)
+++ arquillian/trunk/frameworks/jsfunit/src/main/resources/web-fragment.xml 2010-06-09 12:43:29 UTC (rev 4478)
@@ -0,0 +1,41 @@
+<web-fragment xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd"
+ version="3.0">
+
+ <filter>
+ <filter-name>JSFUnitCleanupTestTreadFilter</filter-name>
+ <filter-class>org.jboss.arquillian.framework.jsfunit.JSFUnitCleanupTestTreadFilter</filter-class>
+ </filter>
+
+ <filter>
+ <filter-name>JSFUnitFilter</filter-name>
+ <filter-class>org.jboss.jsfunit.framework.JSFUnitFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>JSFUnitCleanupTestTreadFilter</filter-name>
+ <url-pattern>/ArquillianServletRunner</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>JSFUnitFilter</filter-name>
+ <url-pattern>/ArquillianServletRunner</url-pattern>
+ </filter-mapping>
+
+<!--
+ <servlet>
+ <servlet-name>JSFUnit Faces Servlet</servlet-name>
+ <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>JSFUnit Faces Servlet</servlet-name>
+ <url-pattern>*.jsfunit</url-pattern>
+ </servlet-mapping>
+
+ <welcome-file-list>
+ <welcome-file>jsfunit/index.html</welcome-file>
+ </welcome-file-list>
+ -->
+</web-fragment>
\ No newline at end of file
Added: arquillian/trunk/frameworks/jsfunit/src/test/java/org/jboss/arquillian/framework/jsfunit/JSFUnitTestCase.java
===================================================================
--- arquillian/trunk/frameworks/jsfunit/src/test/java/org/jboss/arquillian/framework/jsfunit/JSFUnitTestCase.java (rev 0)
+++ arquillian/trunk/frameworks/jsfunit/src/test/java/org/jboss/arquillian/framework/jsfunit/JSFUnitTestCase.java 2010-06-09 12:43:29 UTC (rev 4478)
@@ -0,0 +1,83 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.arquillian.framework.jsfunit;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.jsfunit.framework.Environment;
+import org.jboss.jsfunit.jsfsession.JSFServerSession;
+import org.jboss.jsfunit.jsfsession.JSFSession;
+import org.jboss.shrinkwrap.api.ArchivePaths;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.jboss.shrinkwrap.impl.base.asset.ByteArrayAsset;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * JSFUnitTestCase
+ *
+ * @author <a href="mailto:aslak at conduct.no">Aslak Knutsen</a>
+ * @version $Revision: $
+ */
+ at RunWith(Arquillian.class)
+public class JSFUnitTestCase
+{
+ @Deployment
+ public static WebArchive createDeployment()
+ {
+ return ShrinkWrap.create("test.war", WebArchive.class)
+ .addClasses(
+ RequestScopeBean.class,
+ ScopeAwareBean.class)
+ .setWebXML("jsf/jsf-web.xml")
+ .addResource("jsf/index.xhtml", "index.xhtml")
+ .addWebResource("jsf/faces-config.xml", "faces-config.xml")
+ .addWebResource(new ByteArrayAsset("<beans/>".getBytes()), ArchivePaths.create("beans.xml"));
+ }
+
+ @Test
+ public void shouldExecutePage() throws Exception
+ {
+ JSFSession jsfSession = new JSFSession("/index.jsf");
+
+ Assert.assertTrue(Environment.is12Compatible());
+ Assert.assertTrue(Environment.is20Compatible());
+ Assert.assertEquals(2, Environment.getJSFMajorVersion());
+ Assert.assertEquals(0, Environment.getJSFMinorVersion());
+
+ JSFServerSession server = jsfSession.getJSFServerSession();
+
+ Assert.assertEquals("request", server.getManagedBeanValue("#{requestBean.scope}"));
+ }
+
+ @Test
+ public void shouldExecutePage2() throws Exception
+ {
+ JSFSession jsfSession = new JSFSession("/index.jsf");
+
+ Assert.assertTrue(Environment.is12Compatible());
+ Assert.assertTrue(Environment.is20Compatible());
+ Assert.assertEquals(2, Environment.getJSFMajorVersion());
+ Assert.assertEquals(0, Environment.getJSFMinorVersion());
+
+ JSFServerSession server = jsfSession.getJSFServerSession();
+
+ Assert.assertEquals("request", server.getManagedBeanValue("#{requestBean.scope}"));
+ }
+}
Added: arquillian/trunk/frameworks/jsfunit/src/test/java/org/jboss/arquillian/framework/jsfunit/RequestScopeBean.java
===================================================================
--- arquillian/trunk/frameworks/jsfunit/src/test/java/org/jboss/arquillian/framework/jsfunit/RequestScopeBean.java (rev 0)
+++ arquillian/trunk/frameworks/jsfunit/src/test/java/org/jboss/arquillian/framework/jsfunit/RequestScopeBean.java 2010-06-09 12:43:29 UTC (rev 4478)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.arquillian.framework.jsfunit;
+
+import javax.enterprise.context.RequestScoped;
+import javax.faces.bean.ManagedBean;
+
+
+/**
+ *
+ * @author Stan Silvert
+ * @since 1.0
+ */
+ at ManagedBean(name="requestBean")
+ at RequestScoped
+public class RequestScopeBean extends ScopeAwareBean
+{
+
+}
\ No newline at end of file
Added: arquillian/trunk/frameworks/jsfunit/src/test/java/org/jboss/arquillian/framework/jsfunit/ScopeAwareBean.java
===================================================================
--- arquillian/trunk/frameworks/jsfunit/src/test/java/org/jboss/arquillian/framework/jsfunit/ScopeAwareBean.java (rev 0)
+++ arquillian/trunk/frameworks/jsfunit/src/test/java/org/jboss/arquillian/framework/jsfunit/ScopeAwareBean.java 2010-06-09 12:43:29 UTC (rev 4478)
@@ -0,0 +1,39 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.jboss.arquillian.framework.jsfunit;
+
+import java.util.Map;
+
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+
+/**
+ *
+ * @author ssilvert
+ */
+public class ScopeAwareBean {
+
+ @SuppressWarnings("unchecked")
+ public String getScope()
+ {
+ FacesContext facesCtx = FacesContext.getCurrentInstance();
+ ExternalContext extCtx = facesCtx.getExternalContext();
+
+ Map scopeMap = extCtx.getRequestMap();
+ if (scopeMap.containsValue(this)) return "request";
+
+ scopeMap = facesCtx.getViewRoot().getViewMap();
+ if (scopeMap.containsValue(this)) return "view";
+
+ scopeMap = extCtx.getSessionMap();
+ if (scopeMap.containsValue(this)) return "session";
+
+ scopeMap = extCtx.getApplicationMap();
+ if (scopeMap.containsValue(this)) return "application";
+
+ return "unknown";
+ }
+}
\ No newline at end of file
Added: arquillian/trunk/frameworks/jsfunit/src/test/resources/arquillian.xml
===================================================================
--- arquillian/trunk/frameworks/jsfunit/src/test/resources/arquillian.xml (rev 0)
+++ arquillian/trunk/frameworks/jsfunit/src/test/resources/arquillian.xml 2010-06-09 12:43:29 UTC (rev 4478)
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+
+<arquillian xmlns="http://jboss.com/arquillian"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <engine>
+ <deploymentExportPath>target/</deploymentExportPath>
+ </engine>
+
+</arquillian>
\ No newline at end of file
Added: arquillian/trunk/frameworks/jsfunit/src/test/resources/jndi.properties
===================================================================
--- arquillian/trunk/frameworks/jsfunit/src/test/resources/jndi.properties (rev 0)
+++ arquillian/trunk/frameworks/jsfunit/src/test/resources/jndi.properties 2010-06-09 12:43:29 UTC (rev 4478)
@@ -0,0 +1,7 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+#java.naming.factory.initial=org.jboss.security.jndi.LoginInitialContextFactory
+java.naming.factory.url.pkgs=org.jboss.naming\:org.jnp.interfaces
+java.naming.provider.url=jnp://localhost:1099
+#java.naming.security.principal=admin
+#java.naming.security.credentials=admin
+#java.naming.security.protocol=jmx-console
\ No newline at end of file
Added: arquillian/trunk/frameworks/jsfunit/src/test/resources/jsf/.faces-config.xml.jsfdia
===================================================================
--- arquillian/trunk/frameworks/jsfunit/src/test/resources/jsf/.faces-config.xml.jsfdia (rev 0)
+++ arquillian/trunk/frameworks/jsfunit/src/test/resources/jsf/.faces-config.xml.jsfdia 2010-06-09 12:43:29 UTC (rev 4478)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PROCESS model-entity="JSFProcess"/>
Added: arquillian/trunk/frameworks/jsfunit/src/test/resources/jsf/faces-config.xml
===================================================================
--- arquillian/trunk/frameworks/jsfunit/src/test/resources/jsf/faces-config.xml (rev 0)
+++ arquillian/trunk/frameworks/jsfunit/src/test/resources/jsf/faces-config.xml 2010-06-09 12:43:29 UTC (rev 4478)
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+
+ <!--
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ -->
+
+<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+ http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
+ version="2.0">
+
+
+ <factory>
+ <faces-context-factory>org.jboss.jsfunit.context.JSFUnitFacesContextFactory</faces-context-factory>
+ </factory>
+
+ <application>
+ <variable-resolver>org.jboss.jsfunit.seam.ConversationScopeVariableResolver</variable-resolver>
+ </application>
+
+
+</faces-config>
\ No newline at end of file
Added: arquillian/trunk/frameworks/jsfunit/src/test/resources/jsf/index.xhtml
===================================================================
--- arquillian/trunk/frameworks/jsfunit/src/test/resources/jsf/index.xhtml (rev 0)
+++ arquillian/trunk/frameworks/jsfunit/src/test/resources/jsf/index.xhtml 2010-06-09 12:43:29 UTC (rev 4478)
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core">
+<body>
+
+ <center>
+ <f:view>
+ <h2><h:outputText value="JSF2 Sample Application"/></h2>
+ <h3><h:outputText value="Test Managed Bean Annotations"/></h3>
+ <h:outputText value="requestBean.scope = #{requestBean.scope}"/><br/>
+ <h3><h:outputText value="Test Project Stage"/></h3>
+ <h:outputText value="project stage = #{facesContext.application.projectStage}"/>
+ </f:view>
+
+ </center>
+</body>
+</html>
Added: arquillian/trunk/frameworks/jsfunit/src/test/resources/jsf/jsf-web.xml
===================================================================
--- arquillian/trunk/frameworks/jsfunit/src/test/resources/jsf/jsf-web.xml (rev 0)
+++ arquillian/trunk/frameworks/jsfunit/src/test/resources/jsf/jsf-web.xml 2010-06-09 12:43:29 UTC (rev 4478)
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+ version="3.0">
+
+ <context-param>
+ <param-name>javax.faces.PROJECT_STAGE</param-name>
+ <param-value>Development</param-value>
+ </context-param>
+ <context-param>
+ <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+ <param-value>.xhtml</param-value>
+ </context-param>
+
+ <servlet>
+ <servlet-name>Faces Servlet</servlet-name>
+ <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>Faces Servlet</servlet-name>
+ <url-pattern>*.jsf</url-pattern>
+ </servlet-mapping>
+
+ <welcome-file-list>
+ <welcome-file>index.xhtml</welcome-file>
+ </welcome-file-list>
+</web-app>
Added: arquillian/trunk/frameworks/pom.xml
===================================================================
--- arquillian/trunk/frameworks/pom.xml (rev 0)
+++ arquillian/trunk/frameworks/pom.xml 2010-06-09 12:43:29 UTC (rev 4478)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ vi:ts=2:sw=2:expandtab:
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <!-- Parent -->
+ <parent>
+ <groupId>org.jboss.arquillian</groupId>
+ <artifactId>arquillian-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <!-- Model Information -->
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- Artifact Information -->
+ <groupId>org.jboss.arquillian.framework</groupId>
+ <artifactId>arquillian-framework-parent</artifactId>
+ <packaging>pom</packaging>
+ <name>Arguillian Framework Aggregator</name>
+ <url>http://www.jboss.org</url>
+ <description>Arguillian Framework Aggregator</description>
+
+ <!-- Aggregate Modules -->
+ <modules>
+
+ <module>jsfunit</module>
+
+ </modules>
+
+</project>
Modified: arquillian/trunk/pom.xml
===================================================================
--- arquillian/trunk/pom.xml 2010-06-08 16:52:27 UTC (rev 4477)
+++ arquillian/trunk/pom.xml 2010-06-09 12:43:29 UTC (rev 4478)
@@ -58,6 +58,7 @@
<module>packagers</module>
<module>containers</module>
+ <module>frameworks</module>
<module>examples</module>
<module>doc/reference</module>
More information about the jboss-svn-commits
mailing list