[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