Customise settings so that you can debug the cargo instance, and show tests to output as they progress

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1053778 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Brett Porter 2010-12-30 01:05:58 +00:00
parent 201306c679
commit 8c5de76d3b
4 changed files with 35 additions and 20 deletions

View File

@ -148,6 +148,7 @@
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId> <artifactId>maven-surefire-plugin</artifactId>
<configuration> <configuration>
<redirectTestOutputToFile>false</redirectTestOutputToFile>
<properties> <properties>
<!-- <!--
Use this instead of suiteXmlFiles so that we can add the exclusion, as it is only accepted without suiteXmlFiles Use this instead of suiteXmlFiles so that we can add the exclusion, as it is only accepted without suiteXmlFiles
@ -180,6 +181,10 @@
<name>baseUrl</name> <name>baseUrl</name>
<value>${baseUrl}</value> <value>${baseUrl}</value>
</property> </property>
<property>
<name>maxWaitTimeInMs</name>
<value>${maxWaitTimeInMs}</value>
</property>
</systemProperties> </systemProperties>
</configuration> </configuration>
</execution> </execution>
@ -344,6 +349,7 @@
<type>existing</type> <type>existing</type>
<properties> <properties>
<cargo.servlet.port>9696</cargo.servlet.port> <cargo.servlet.port>9696</cargo.servlet.port>
<cargo.jvmargs>${cargo.jvm.args}</cargo.jvmargs>
</properties> </properties>
</configuration> </configuration>
</configuration> </configuration>
@ -498,10 +504,23 @@
</plugins> </plugins>
</build> </build>
</profile> </profile>
<profile>
<id>debug</id>
<properties>
<cargo.jvm.args>
-Xdebug -Xnoagent -Djava.compiler=NONE
-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=${cargo.debug.port}
</cargo.jvm.args>
<cargo.debug.port>8000</cargo.debug.port>
<!-- wait an unusual amount of time (1hr) to allow debugging to occur -->
<maxWaitTimeInMs>3600000</maxWaitTimeInMs>
</properties>
</profile>
</profiles> </profiles>
<properties> <properties>
<tomcat5x.version>5.5.27</tomcat5x.version> <tomcat5x.version>5.5.27</tomcat5x.version>
<cargo.wait>false</cargo.wait> <cargo.wait>false</cargo.wait>
<cargo.install.dir>cargo-installs</cargo.install.dir> <cargo.install.dir>cargo-installs</cargo.install.dir>
<maxWaitTimeInMs>60000</maxWaitTimeInMs>
</properties> </properties>
</project> </project>

View File

@ -1,7 +1,5 @@
# properties for integration tests # properties for integration tests
MAX_WAIT_TIME_IN_MS=60000
ADMIN_USERNAME=admin ADMIN_USERNAME=admin
ADMIN_FULLNAME=Administrator ADMIN_FULLNAME=Administrator
ADMIN_EMAIL=admin@localhost ADMIN_EMAIL=admin@localhost

View File

@ -27,7 +27,7 @@ import org.testng.annotations.Optional;
import org.testng.annotations.Parameters; import org.testng.annotations.Parameters;
import org.testng.annotations.Test; import org.testng.annotations.Test;
@Test( groups = { "about" }, alwaysRun = true ) @Test( groups = {"about"}, alwaysRun = true )
public class ArchivaAdminTest public class ArchivaAdminTest
extends AbstractArchivaTest extends AbstractArchivaTest
{ {
@ -49,12 +49,12 @@ public class ArchivaAdminTest
} }
@BeforeTest @BeforeTest
@Parameters( { "baseUrl", "browser", "seleniumHost", "seleniumPort" } ) @Parameters( {"baseUrl", "browser", "maxWaitTimeInMs", "seleniumHost", "seleniumPort"} )
public void initializeArchiva( String baseUrl, String browser, @Optional( "localhost" ) String seleniumHost, public void initializeArchiva( String baseUrl, String browser, int maxWaitTimeInMs,
@Optional( "4444" ) int seleniumPort ) @Optional( "localhost" ) String seleniumHost, @Optional( "4444" ) int seleniumPort )
throws Exception throws Exception
{ {
super.open( baseUrl, browser, seleniumHost, seleniumPort ); super.open( baseUrl, browser, seleniumHost, seleniumPort, Integer.toString( maxWaitTimeInMs ) );
getSelenium().open( baseUrl ); getSelenium().open( baseUrl );
String title = getSelenium().getTitle(); String title = getSelenium().getTitle();
if ( title.endsWith( "Create Admin User" ) ) if ( title.endsWith( "Create Admin User" ) )

View File

@ -19,6 +19,11 @@ package org.apache.archiva.web.test.parent;
* under the License. * under the License.
*/ */
import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;
import org.apache.commons.io.IOUtils;
import org.testng.Assert;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.ArrayList; import java.util.ArrayList;
@ -29,11 +34,6 @@ import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.Properties; import java.util.Properties;
import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;
import org.apache.commons.io.IOUtils;
import org.testng.Assert;
/** /**
* @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a> * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
* @version $Id: AbstractSeleniumTestCase.java 761154 2009-04-02 03:31:19Z wsmoak $ * @version $Id: AbstractSeleniumTestCase.java 761154 2009-04-02 03:31:19Z wsmoak $
@ -57,18 +57,16 @@ public abstract class AbstractSeleniumTest
{ {
p = new Properties(); p = new Properties();
p.load( this.getClass().getClassLoader().getResourceAsStream( "testng.properties" ) ); p.load( this.getClass().getClassLoader().getResourceAsStream( "testng.properties" ) );
// baseUrl = getProperty( "BASE_URL" );
maxWaitTimeInMs = getProperty( "MAX_WAIT_TIME_IN_MS" );
} }
/** /**
* Initialize selenium * Initialize selenium
*/ */
public void open( String baseUrl, String browser, String seleniumHost, int seleniumPort ) public void open( String baseUrl, String browser, String seleniumHost, int seleniumPort, String maxWaitTimeInMs )
throws Exception throws Exception
{ {
this.baseUrl = baseUrl; AbstractSeleniumTest.baseUrl = baseUrl;
AbstractSeleniumTest.maxWaitTimeInMs = maxWaitTimeInMs;
if ( getSelenium() == null ) if ( getSelenium() == null )
{ {
@ -285,8 +283,8 @@ public abstract class AbstractSeleniumTest
public boolean isButtonWithValuePresent( String text ) public boolean isButtonWithValuePresent( String text )
{ {
return isElementPresent( "//button[@value='" + text + "']" ) return isElementPresent( "//button[@value='" + text + "']" ) || isElementPresent(
|| isElementPresent( "//input[@value='" + text + "']" ); "//input[@value='" + text + "']" );
} }
public boolean isButtonWithIdPresent( String text ) public boolean isButtonWithIdPresent( String text )