Author: gk
Date: Thu Nov 29 15:29:54 2018
New Revision: 1847727

URL: http://svn.apache.org/viewvc?rev=1847727&view=rev
Log:
- add JUnit 5 support, still support JUnit 4 and 3
- TestEngine with ID 'junit-vintage' failed to discover tests... : was resolved 
by setting reuseForks = true, which is together with forkCount=1, the default 
behaviour for surefire - in BaseUnit4Test the container is now with setter set 
instead of statically with non static setter. Other test may need remove 
forkMode=always..
- remove log4j dependency, add log4j2 with log4j1.2 bridge for ECMContainer

Added:
    
turbine/fulcrum/trunk/testcontainer/src/java/org/apache/fulcrum/testcontainer/BaseUnit5Test.java
   (with props)
    turbine/fulcrum/trunk/testcontainer/src/test/log4j2.xml   (with props)
    
turbine/fulcrum/trunk/testcontainer/src/test/org/apache/fulcrum/testcontainer/YaafiContainerJunit5Test.java
   (with props)
Modified:
    turbine/fulcrum/trunk/testcontainer/pom.xml
    turbine/fulcrum/trunk/testcontainer/src/changes/changes.xml
    
turbine/fulcrum/trunk/testcontainer/src/java/org/apache/fulcrum/testcontainer/BaseUnit4Test.java
    
turbine/fulcrum/trunk/testcontainer/src/java/org/apache/fulcrum/testcontainer/ECMContainer.java
    
turbine/fulcrum/trunk/testcontainer/src/test/org/apache/fulcrum/testcontainer/EcmContainerTest.java
    
turbine/fulcrum/trunk/testcontainer/src/test/org/apache/fulcrum/testcontainer/YaafiContainerTest.java
    turbine/fulcrum/trunk/testcontainer/xdocs/index.xml

Modified: turbine/fulcrum/trunk/testcontainer/pom.xml
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/testcontainer/pom.xml?rev=1847727&r1=1847726&r2=1847727&view=diff
==============================================================================
--- turbine/fulcrum/trunk/testcontainer/pom.xml (original)
+++ turbine/fulcrum/trunk/testcontainer/pom.xml Thu Nov 29 15:29:54 2018
@@ -30,13 +30,21 @@
   <inceptionYear>2004</inceptionYear>
   <description>A test framework for Avalon components</description>
   <url>http://turbine.apache.org/fulcrum/fulcrum-testcontainer</url>
-               
+        
   <scm>
     
<connection>scm:svn:http://svn.apache.org/repos/asf/turbine/fulcrum/trunk/testcontainer</connection>
     
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/turbine/fulcrum/trunk/testcontainer</developerConnection>
     <url>http://svn.apache.org/viewvc/turbine/fulcrum/trunk/testcontainer</url>
   </scm>
 
+  <distributionManagement>
+    <site>
+      <id>apache.website</id>
+      <name>Fulcrum Website</name>
+      <url>http://turbine.apache.org/fulcrum/fulcrum-testcontainer/</url>
+    </site>    
+  </distributionManagement>
+    
   <developers>
     <developer>
       <name>Siegfried Goeschl</name>
@@ -50,11 +58,46 @@
   </developers>
 
   <dependencies>
+     <!-- we still need this dependency to  compile -->
+     <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.12</version>
+        </dependency>
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-api</artifactId>
+            <version>${junit.jupiter.version}</version>
+            <!--scope>test</scope-->
+        </dependency>
+        <dependency>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-params</artifactId>
+            <version>${junit.jupiter.version}</version>
+            <!--scope>test</scope-->
+        </dependency>
+        <dependency>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-engine</artifactId>
+            <version>${junit.jupiter.version}</version>
+        </dependency>
+    <!-- use Junit 4 within Junit 5 -->
+    <dependency>
+        <groupId>org.junit.vintage</groupId>
+        <artifactId>junit-vintage-engine</artifactId>
+        <version>${junit.jupiter.version}</version>
+    </dependency>
+    <dependency>
+        <groupId>org.junit.platform</groupId>
+        <artifactId>junit-platform-runner</artifactId>
+        <version>${junit.platform}</version>
     </dependency>
+    <dependency>
+       <groupId>org.junit.platform</groupId>
+       <artifactId>junit-platform-launcher</artifactId>
+       <version>${junit.platform}</version>
+    </dependency>
+
     <!-- Needed if testing with YAAFI -->
     <dependency>
       <groupId>org.apache.fulcrum</groupId>
@@ -62,11 +105,11 @@
       <version>1.0.8-SNAPSHOT</version>
       <optional>true</optional>
     </dependency>
-       <dependency>
-           <groupId>javax.servlet</groupId>
-           <artifactId>javax.servlet-api</artifactId>
-           <version>3.1.0</version>
-       </dependency>
+    <dependency>
+        <groupId>javax.servlet</groupId>
+        <artifactId>javax.servlet-api</artifactId>
+        <version>3.1.0</version>
+    </dependency>
     <dependency>
       <groupId>org.mockito</groupId>
       <artifactId>mockito-core</artifactId>
@@ -80,47 +123,64 @@
       <type>jar</type>
       <optional>true</optional>
     </dependency>
+    
     <dependency>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
-         <version>1.2.15</version>
-      <type>jar</type>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-api</artifactId>
+      <version>${log4j2.version}</version>
       <optional>true</optional>
-      <exclusions>
-        <exclusion>
-            <groupId>com.sun.jdmk</groupId>
-            <artifactId>jmxtools</artifactId>
-        </exclusion>
-        <exclusion>
-            <groupId>com.sun.jmx</groupId>
-            <artifactId>jmxri</artifactId>
-        </exclusion>
-        <exclusion>
-            <groupId>javax.jms</groupId>
-            <artifactId>jms</artifactId>
-        </exclusion>
-      </exclusions>
     </dependency>
+    <dependency>
+       <groupId>org.apache.logging.log4j</groupId>
+       <artifactId>log4j-core</artifactId>
+       <version>${log4j2.version}</version>
+       <optional>true</optional>
+    </dependency>
+    <!-- log4j1.2 bridge instead of log4j -->
+    <dependency>
+        <groupId>org.apache.logging.log4j</groupId>
+        <artifactId>log4j-1.2-api</artifactId>
+        <version>${log4j2.version}</version>
+        <optional>true</optional>
+    </dependency>
+    
   </dependencies>
 
   <build>
     <sourceDirectory>${basedir}/src/java</sourceDirectory>
     <testSourceDirectory>${basedir}/src/test</testSourceDirectory>
+    <testResources>
+      <testResource>
+        <targetPath />
+        <directory>${basedir}/src/test</directory>
+        <includes>
+          <include>*.xml</include>
+        </includes>
+      </testResource>
+    </testResources>
     <plugins>
       <plugin>
+        <!-- JUnit 5 requires Surefire version 2.22.0 or higher -->
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
-          <!-- forkMode=always equivalent -->
+          <!-- setting the default: forkCount=1/reuseForks=true -->
           <forkCount>1</forkCount>
-          <reuseForks>false</reuseForks>
+          <!-- setting this to false (highest isolation: each test class has 
its own jvm process) let maven test ignore all tests? -->
+          <reuseForks>true</reuseForks>
         </configuration>
+        <dependencies>
+            <!-- need no junit-platform-surefire-provider dependency-->
+          </dependencies>
       </plugin>
     </plugins>
   </build>
-
+ 
   <properties>
     <turbine.site.path>fulcrum/fulcrum-testcontainer</turbine.site.path>
+    <junit.jupiter.version>5.3.1</junit.jupiter.version>
+    <junit.platform>1.3.2</junit.platform>
+     <log4j2.version>2.11.1</log4j2.version>
   </properties>
-       
-</project>
+    
+</project>
\ No newline at end of file

Modified: turbine/fulcrum/trunk/testcontainer/src/changes/changes.xml
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/testcontainer/src/changes/changes.xml?rev=1847727&r1=1847726&r2=1847727&view=diff
==============================================================================
--- turbine/fulcrum/trunk/testcontainer/src/changes/changes.xml (original)
+++ turbine/fulcrum/trunk/testcontainer/src/changes/changes.xml Thu Nov 29 
15:29:54 2018
@@ -25,6 +25,9 @@
   </properties>
   <body>
     <release version="1.0.8" date="in Subversion">      
+      <action type="update" dev="gk">
+       Add support for JUnit 5
+      </action> 
     </release> 
     <release version="1.0.7" date="2015-08-08">
       <action type="update" dev="gk">

Modified: 
turbine/fulcrum/trunk/testcontainer/src/java/org/apache/fulcrum/testcontainer/BaseUnit4Test.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/testcontainer/src/java/org/apache/fulcrum/testcontainer/BaseUnit4Test.java?rev=1847727&r1=1847726&r2=1847727&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/testcontainer/src/java/org/apache/fulcrum/testcontainer/BaseUnit4Test.java
 (original)
+++ 
turbine/fulcrum/trunk/testcontainer/src/java/org/apache/fulcrum/testcontainer/BaseUnit4Test.java
 Thu Nov 29 15:29:54 2018
@@ -54,6 +54,7 @@ import org.mockito.stubbing.Answer;
  * @author <a href="mailto:[email protected]";>Quinton McCombs</a>
  * @version $Id$
  */
+
 public class BaseUnit4Test
 {
     public static final String CONTAINER_ECM = "CONTAINER_ECM";
@@ -63,7 +64,7 @@ public class BaseUnit4Test
     public static final String COMPONENT_APP_ROOT = 
Container.COMPONENT_APP_ROOT;
 
     /** Pick the default container to be YAAFI **/
-    public static String containerType = CONTAINER_YAAFI;
+    private String containerType = CONTAINER_YAAFI;
 
     /** Use INFO for ConsoleLogger */
     public static final int defaultLogLevel = ConsoleLogger.LEVEL_INFO;
@@ -285,4 +286,14 @@ public class BaseUnit4Test
         when(request.getParameterNames()).thenReturn(v.elements());
         return request;
     }
+
+    public String getContainerType()
+    {
+        return containerType;
+    }
+
+    public void setContainerType( String containerType )
+    {
+        this.containerType = containerType;
+    }
 }

Added: 
turbine/fulcrum/trunk/testcontainer/src/java/org/apache/fulcrum/testcontainer/BaseUnit5Test.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/testcontainer/src/java/org/apache/fulcrum/testcontainer/BaseUnit5Test.java?rev=1847727&view=auto
==============================================================================
--- 
turbine/fulcrum/trunk/testcontainer/src/java/org/apache/fulcrum/testcontainer/BaseUnit5Test.java
 (added)
+++ 
turbine/fulcrum/trunk/testcontainer/src/java/org/apache/fulcrum/testcontainer/BaseUnit5Test.java
 Thu Nov 29 15:29:54 2018
@@ -0,0 +1,302 @@
+package org.apache.fulcrum.testcontainer;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Vector;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+import org.apache.avalon.framework.component.ComponentException;
+import org.apache.avalon.framework.logger.ConsoleLogger;
+// import static org.junit.jupiter.api.Assertions.*;
+import org.junit.jupiter.api.AfterEach;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * Alternative Base class to {@link BaseUnit4Test} for component tests. 
+ * 
+ * This version doesn't load the container until the
+ * first request for a component. This allows the tester to populate the 
configurationFileName and
+ * roleFileName, possible one per test.
+ * 
+ * JUnit 5 Version of BaseUnitTest class.
+ * 
+ * @see {@link BaseUnit4Test} 
+ *
+ * @author <a href="mailto:[email protected]";>Eric Pugh</a>
+ * @author <a href="mailto:[email protected]";>Quinton McCombs</a>
+ * @version $Id$
+ */
+//@RunWith(JUnitPlatform.class)
+public class BaseUnit5Test
+{
+    public static final String CONTAINER_ECM = "CONTAINER_ECM";
+    public static final String CONTAINER_YAAFI = "CONTAINER_YAAFI";
+
+    /** Key used in the context for defining the application root */
+    public static final String COMPONENT_APP_ROOT = 
Container.COMPONENT_APP_ROOT;
+
+    /** Pick the default container to be YAAFI, running in **/
+    private String containerType = CONTAINER_YAAFI;
+
+    /** Use INFO for ConsoleLogger */
+    public static final int defaultLogLevel = ConsoleLogger.LEVEL_INFO;
+
+    /** Container for the components */
+    private Container container;
+
+    /** Setup our default configurationFileName */
+    private String configurationFileName = "src/test/TestComponentConfig.xml";
+
+    /** Setup our default roleFileName */
+    private String roleFileName = "src/test/TestRoleConfig.xml";
+
+    /** Setup our default parameterFileName */
+    private String parameterFileName = null;
+
+    /** Set the log level (only works for YAAFI container) */
+    private int logLevel = defaultLogLevel;
+
+    /** Hash map to store attributes for the test **/
+    public Map<String,Object> attributes = new HashMap<String,Object>();
+    
+    /** set the Max inactive interval **/
+    public int maxInactiveInterval = 0;
+    
+    /**
+     * Gets the configuration file name for the container should use for this 
test. By default it
+     * is src/test/TestComponentConfig.
+     * 
+     * @param configurationFileName the location of the config file
+     */
+    protected void setConfigurationFileName(String configurationFileName)
+    {
+        this.configurationFileName = configurationFileName;
+    }
+
+    /**
+     * Override the role file name for the container should use for this test. 
By default it is
+     * src/test/TestRoleConfig.
+     * 
+     * @param roleFileName location of the role file
+     */
+    protected void setRoleFileName(String roleFileName)
+    {
+        this.roleFileName = roleFileName;
+    }
+
+    /**
+     * Set the console logger level
+     * 
+     * @see org.apache.avalon.framework.logger.ConsoleLogger for debugging 
levels
+     * @param logLevel set valid logging level
+     */
+    protected void setLogLevel(int logLevel) {
+        this.logLevel = logLevel;
+    }
+
+    /**
+     * Constructor for test.
+     */
+    public BaseUnit5Test()
+    {
+    }
+
+    /**
+     * Clean up after each test is run.
+     */
+    @AfterEach
+    public void tearDown()
+    {
+        if (container != null)
+        {
+            container.dispose();
+        }
+        container = null;
+    }
+
+    /**
+     * Gets the configuration file name for the container should use for this 
test.
+     *
+     * @return The filename of the configuration file
+     */
+    protected String getConfigurationFileName()
+    {
+        return configurationFileName;
+    }
+
+    /**
+     * Gets the role file name for the container should use for this test.
+     *
+     * @return The filename of the role configuration file
+     */
+    protected String getRoleFileName()
+    {
+        return roleFileName;
+    }
+
+    /**
+     * Gets the parameter file name for the container should use for this test.
+     *
+     * @return The filename of the role configuration file
+     */
+    protected String getParameterFileName()
+    {
+        return parameterFileName;
+    }
+
+    /**
+     * Returns an instance of the named component. 
+     * This method will also start the container if it
+     * has not been started already
+     *
+     * @param roleName Name of the role the component fills.
+     * @return instance of the component
+     * @throws ComponentException generic exception
+     */
+    protected Object lookup(String roleName) throws ComponentException
+    {
+        if (container == null)
+        {
+            if(containerType.equals(CONTAINER_ECM)){
+                container = new ECMContainer();
+            }
+            else {
+                container = new YAAFIContainer(logLevel);
+            }
+            container.startup(getConfigurationFileName(), 
getRoleFileName(),getParameterFileName());
+        }
+        return container.lookup(roleName);
+    }
+
+    /**
+     * Releases the component.
+     *
+     * @param component component to be released
+     */
+    protected void release(Object component)
+    {
+        if (container != null)
+        {
+            container.release(component);
+        }
+    }
+    
+
+    /**
+     * Get a mock requestion 
+     *
+     * @return HttpServletRequest a mock servlet request
+     */
+    protected HttpServletRequest getMockRequest()
+    {
+        HttpServletRequest request = mock(HttpServletRequest.class);
+        HttpSession session = mock(HttpSession.class);
+
+        doAnswer(new Answer<Object>()
+        {
+            @Override
+            public Object answer(InvocationOnMock invocation) throws Throwable
+            {
+                String key = (String) invocation.getArguments()[0];
+                return attributes.get(key);
+            }
+        }).when(session).getAttribute(anyString());
+
+        doAnswer(new Answer<Object>()
+        {
+            @Override
+            public Object answer(InvocationOnMock invocation) throws Throwable
+            {
+                String key = (String) invocation.getArguments()[0];
+                Object value = invocation.getArguments()[1];
+                attributes.put(key, value);
+                return null;
+            }
+        }).when(session).setAttribute(anyString(), any());
+
+        when(session.getMaxInactiveInterval()).thenReturn(maxInactiveInterval);
+
+        doAnswer(new Answer<Integer>()
+        {
+            @Override
+            public Integer answer(InvocationOnMock invocation) throws Throwable
+            {
+                return Integer.valueOf(maxInactiveInterval);
+            }
+        }).when(session).getMaxInactiveInterval();
+
+        doAnswer(new Answer<Object>()
+        {
+            @Override
+            public Object answer(InvocationOnMock invocation) throws Throwable
+            {
+                Integer value = (Integer) invocation.getArguments()[0];
+                maxInactiveInterval = value.intValue();
+                return null;
+            }
+        }).when(session).setMaxInactiveInterval(anyInt());
+
+        when(session.isNew()).thenReturn(true);
+        when(request.getSession()).thenReturn(session);
+
+        when(request.getServerName()).thenReturn("bob");
+        when(request.getProtocol()).thenReturn("http");
+        when(request.getScheme()).thenReturn("scheme");
+        when(request.getPathInfo()).thenReturn("damn");
+        when(request.getServletPath()).thenReturn("damn2");
+        when(request.getContextPath()).thenReturn("wow");
+        when(request.getContentType()).thenReturn("text/html");
+
+        when(request.getCharacterEncoding()).thenReturn("US-ASCII");
+        when(request.getServerPort()).thenReturn(8080);
+        when(request.getLocale()).thenReturn(Locale.US);
+
+        when(request.getHeader("Content-type")).thenReturn("text/html");
+        when(request.getHeader("Accept-Language")).thenReturn("en-US");
+
+        Vector<String> v = new Vector<String>();
+        when(request.getParameterNames()).thenReturn(v.elements());
+        return request;
+    }
+
+    public String getContainerType()
+    {
+        return containerType;
+    }
+
+    public void setContainerType( String containerType )
+    {
+        this.containerType = containerType;
+    }
+}

Propchange: 
turbine/fulcrum/trunk/testcontainer/src/java/org/apache/fulcrum/testcontainer/BaseUnit5Test.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
turbine/fulcrum/trunk/testcontainer/src/java/org/apache/fulcrum/testcontainer/ECMContainer.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/testcontainer/src/java/org/apache/fulcrum/testcontainer/ECMContainer.java?rev=1847727&r1=1847726&r2=1847727&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/testcontainer/src/java/org/apache/fulcrum/testcontainer/ECMContainer.java
 (original)
+++ 
turbine/fulcrum/trunk/testcontainer/src/java/org/apache/fulcrum/testcontainer/ECMContainer.java
 Thu Nov 29 15:29:54 2018
@@ -53,7 +53,6 @@ public class ECMContainer extends Abstra
      */
     public ECMContainer()
     {
-        org.apache.log4j.BasicConfigurator.configure();
         
this.enableLogging(lm.getLoggerForCategory("org.apache.fulcrum.testcontainer.Container"));
     }
     /**

Added: turbine/fulcrum/trunk/testcontainer/src/test/log4j2.xml
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/testcontainer/src/test/log4j2.xml?rev=1847727&view=auto
==============================================================================
--- turbine/fulcrum/trunk/testcontainer/src/test/log4j2.xml (added)
+++ turbine/fulcrum/trunk/testcontainer/src/test/log4j2.xml Thu Nov 29 15:29:54 
2018
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you 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.
+-->
+<Configuration>
+    <Appenders>
+        <Console name="console" target="SYSTEM_OUT">
+             <PatternLayout pattern="%d [%t] %-5p %c - %m%n"/>
+           </Console>
+           <File name="logfile" fileName="target/fulcrum-test.log">
+             <PatternLayout pattern="%d [%t] %-5p %c - %m%n"/>
+           </File>
+    </Appenders>
+    <Loggers>
+         <Logger name="org.apache.fulcrum" level="debug" additivity="false">
+          <AppenderRef ref="console"/>
+        </Logger>
+        <Logger name="avalon" level="debug" additivity="false">
+             <AppenderRef ref="console"/>
+           </Logger>
+      <Logger name="org.apache.logging.log4j" level="debug" additivity="false">
+             <AppenderRef ref="logfile"/>
+           </Logger>
+           <Root level="error">
+             <AppenderRef ref="console"/>
+           </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file

Propchange: turbine/fulcrum/trunk/testcontainer/src/test/log4j2.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
turbine/fulcrum/trunk/testcontainer/src/test/org/apache/fulcrum/testcontainer/EcmContainerTest.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/testcontainer/src/test/org/apache/fulcrum/testcontainer/EcmContainerTest.java?rev=1847727&r1=1847726&r2=1847727&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/testcontainer/src/test/org/apache/fulcrum/testcontainer/EcmContainerTest.java
 (original)
+++ 
turbine/fulcrum/trunk/testcontainer/src/test/org/apache/fulcrum/testcontainer/EcmContainerTest.java
 Thu Nov 29 15:29:54 2018
@@ -1,4 +1,5 @@
 package org.apache.fulcrum.testcontainer;
+
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -17,22 +18,25 @@ package org.apache.fulcrum.testcontainer
  * specific language governing permissions and limitations
  * under the License.
  */
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+
 import java.io.File;
 
 import org.apache.avalon.framework.component.ComponentException;
 import org.junit.Before;
 import org.junit.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 /**
  * Basic testing of the Container
  *
  * @author <a href="mailto:[email protected]";>Quinton McCombs</a>
  * @version $Id$
  */
+
 public class EcmContainerTest extends BaseUnit4Test
 {
     /**
@@ -44,7 +48,7 @@ public class EcmContainerTest extends Ba
 
     @Before
     public void setUp() throws Exception{
-        containerType=CONTAINER_ECM;
+        setContainerType( CONTAINER_ECM);
     }
 
     @Test

Added: 
turbine/fulcrum/trunk/testcontainer/src/test/org/apache/fulcrum/testcontainer/YaafiContainerJunit5Test.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/testcontainer/src/test/org/apache/fulcrum/testcontainer/YaafiContainerJunit5Test.java?rev=1847727&view=auto
==============================================================================
--- 
turbine/fulcrum/trunk/testcontainer/src/test/org/apache/fulcrum/testcontainer/YaafiContainerJunit5Test.java
 (added)
+++ 
turbine/fulcrum/trunk/testcontainer/src/test/org/apache/fulcrum/testcontainer/YaafiContainerJunit5Test.java
 Thu Nov 29 15:29:54 2018
@@ -0,0 +1,125 @@
+package org.apache.fulcrum.testcontainer;
+
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+
+import java.io.File;
+
+import org.apache.avalon.framework.component.ComponentException;
+import org.apache.avalon.framework.logger.ConsoleLogger;
+import org.junit.jupiter.api.Test;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+
+/**
+ * Basic testing of the Container
+ *
+ * @author <a href="mailto:[email protected]";>Quinton McCombs</a>
+ * @version $Id: YaafiContainerTest.java 1694570 2015-08-06 20:35:41Z sgoeschl 
$
+ */
+public class YaafiContainerJunit5Test extends BaseUnit5Test
+{
+    /**
+     * Constructor for test.
+     */
+    public YaafiContainerJunit5Test()
+    {
+    }
+
+    @Test
+    public void testInitialization()
+    {
+        assertTrue(true);
+    }
+
+    @Test
+    public void testComponentUsage()
+    {
+        SimpleComponent sc = null;
+        try
+        {
+            sc = (SimpleComponent) 
this.lookup(SimpleComponent.class.getName());
+        }
+        catch (ComponentException e)
+        {
+            e.printStackTrace();
+            fail(e.getMessage());
+        }
+        assertNotNull(sc);
+        sc.test();
+        System.out.println( sc );
+        assertEquals(sc.getAppRoot(),sc.getAppRoot2());
+        this.release(sc);
+    }
+
+    @Test
+    public void testAlternativeRoles()
+    {
+        SimpleComponent sc = null;
+        File f = new File("src/test/TestAlternativeRoleConfig.xml");
+        assertTrue(f.exists());
+        this.setRoleFileName("src/test/TestAlternativeRoleConfig.xml");
+        try
+        {
+            sc = (SimpleComponent) this.lookup(SimpleComponent.ROLE);
+        }
+        catch (ComponentException e)
+        {
+            e.printStackTrace();
+            fail(e.getMessage());
+        }
+        assertTrue(sc instanceof AlternativeComponentImpl);
+        assertNotNull(sc);
+        sc.test();
+        this.release(sc);
+    }
+
+    @Test
+    public void testLoadingContainerWithNoRolesfileFails()
+    {
+        this.setLogLevel(ConsoleLogger.LEVEL_DISABLED);
+
+        this.setRoleFileName(null);
+
+        try
+        {
+            this.lookup(SimpleComponent.class.getName());
+            fail("We should fail");
+        }
+        catch (ComponentException e)
+        {
+            e.printStackTrace();
+            fail(e.getMessage());
+        }
+        catch (Exception e)
+        {
+            // We expect to fail with a ConfigurationException
+        }
+    }
+    @Test
+    public void testWithLogLevel() throws Exception
+    {
+        this.setLogLevel(ConsoleLogger.LEVEL_ERROR);
+        this.lookup(SimpleComponent.class.getName());
+    }
+}

Propchange: 
turbine/fulcrum/trunk/testcontainer/src/test/org/apache/fulcrum/testcontainer/YaafiContainerJunit5Test.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
turbine/fulcrum/trunk/testcontainer/src/test/org/apache/fulcrum/testcontainer/YaafiContainerTest.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/testcontainer/src/test/org/apache/fulcrum/testcontainer/YaafiContainerTest.java?rev=1847727&r1=1847726&r2=1847727&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/testcontainer/src/test/org/apache/fulcrum/testcontainer/YaafiContainerTest.java
 (original)
+++ 
turbine/fulcrum/trunk/testcontainer/src/test/org/apache/fulcrum/testcontainer/YaafiContainerTest.java
 Thu Nov 29 15:29:54 2018
@@ -1,4 +1,5 @@
 package org.apache.fulcrum.testcontainer;
+
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -23,10 +24,11 @@ import org.apache.avalon.framework.compo
 import org.apache.avalon.framework.logger.ConsoleLogger;
 import org.junit.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+
 /**
  * Basic testing of the Container
  *
@@ -62,6 +64,7 @@ public class YaafiContainerTest extends
             fail(e.getMessage());
         }
         assertNotNull(sc);
+        System.out.println( sc );
         sc.test();
         assertEquals(sc.getAppRoot(),sc.getAppRoot2());
         this.release(sc);

Modified: turbine/fulcrum/trunk/testcontainer/xdocs/index.xml
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/testcontainer/xdocs/index.xml?rev=1847727&r1=1847726&r2=1847727&view=diff
==============================================================================
--- turbine/fulcrum/trunk/testcontainer/xdocs/index.xml (original)
+++ turbine/fulcrum/trunk/testcontainer/xdocs/index.xml Thu Nov 29 15:29:54 2018
@@ -32,8 +32,10 @@
       <p> This component is really just a test container for testing the other 
components. This
         container is not meant to be used in a production environment. </p>
       <p> In order to save you a little coding, a base class has been provided 
for your test cases.
-        Simply extend 
<code>org.apache.fulcrum.testcontainer.BaseUnitTest</code> for JUnit3 or 
<code>org.apache.fulcrum.testcontainer.BaseUnit4Test</code> for JUnit 4 support 
and you are ready
-        to go. </p>
+        Simply extend 
<code>org.apache.fulcrum.testcontainer.BaseUnitTest</code> for JUnit3, 
<code>org.apache.fulcrum.testcontainer.BaseUnit4Test</code> for JUnit 4 and  
<code>org.apache.fulcrum.testcontainer.BaseUnit5Test</code> JUnit 5 support and 
you are ready to go. </p>
+        
+        <p>More Information about the <a 
href="https://junit.org/junit5/docs/current/user-guide/#migrating-from-junit4-running";>migration
 to Junit5:</a>.
+        </p>
     </section>
 
     <section name="Usage">


Reply via email to