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">