Author: olamy
Date: Thu Oct 13 08:57:41 2011
New Revision: 1182727

URL: http://svn.apache.org/viewvc?rev=1182727&view=rev
Log:
move test classes to o.a.t.m namespace

Added:
    tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/
    
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/
    
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/
    
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/
    
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractDeployWarOnlyProjectIT.java
   (with props)
    
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractDeployWarProjectIT.java
   (with props)
    
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractSimpleWarProjectIT.java
   (with props)
    
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractTomcatRunMultiConfigIT.java
   (with props)
    
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractUsageContextpathIT.java
   (with props)
    
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractWarProjectIT.java
   (with props)
Removed:
    
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/codehaus/mojo/tomcat/it/AbstractDeployWarOnlyProjectIT.java
    
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/codehaus/mojo/tomcat/it/AbstractDeployWarProjectIT.java
    
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/codehaus/mojo/tomcat/it/AbstractSimpleWarProjectIT.java
    
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/codehaus/mojo/tomcat/it/AbstractTomcatRunMultiConfigIT.java
    
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/codehaus/mojo/tomcat/it/AbstractUsageContextpathIT.java
    
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/codehaus/mojo/tomcat/it/AbstractWarProjectIT.java
Modified:
    
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6DeployWarOnlyProjectIT.java
    
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6DeployWarProjectIT.java
    
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6RunMultiConfigIT.java
    
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6SimpleWarProjectIT.java
    
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6UsageContextpathIT.java
    
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7DeployWarOnlyProjectIT.java
    
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7DeployWarProjectIT.java
    
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7RunMultiConfigIT.java
    
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7SimpleWarProjectIT.java

Added: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractDeployWarOnlyProjectIT.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractDeployWarOnlyProjectIT.java?rev=1182727&view=auto
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractDeployWarOnlyProjectIT.java
 (added)
+++ 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractDeployWarOnlyProjectIT.java
 Thu Oct 13 08:57:41 2011
@@ -0,0 +1,73 @@
+package org.apache.tomcat.maven.it;
+
+/*
+ * 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.
+ */
+
+
+
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.File;
+
+import static junitx.framework.StringAssert.assertContains;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Mark Michaelis
+ */
+public abstract class AbstractDeployWarOnlyProjectIT
+    extends AbstractWarProjectIT
+{
+    private static final Logger LOG = LoggerFactory.getLogger( 
AbstractDeployWarOnlyProjectIT.class );
+
+    @Override
+    protected String getWebappUrl()
+    {
+        return "http://localhost:"; + getHttpItPort() + "/bar/";
+    }
+
+    @Override
+    protected String getWarArtifactId()
+    {
+        return "deploy-only-war-project";
+    }
+
+    @Test
+    public void testIt()
+        throws Exception
+    {
+        final String responseBody = executeVerifyWithGet();
+        assertNotNull("Received message body must not be null.", responseBody);
+        assertContains( "Response must match expected content.", "It works 
!!", responseBody );
+
+        assertTrue( "Tomcat folder should exist in target folder of project at 
" + webappHome,
+                    new File( webappHome, "target/tomcat" ).exists() );
+        LOG.info( "Error Free Log check" );
+        verifier.verifyErrorFreeLog();
+    }
+
+    @Override
+    protected int getTimeout()
+    {
+        return 40000;
+    }
+}

Propchange: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractDeployWarOnlyProjectIT.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractDeployWarOnlyProjectIT.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractDeployWarProjectIT.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractDeployWarProjectIT.java?rev=1182727&view=auto
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractDeployWarProjectIT.java
 (added)
+++ 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractDeployWarProjectIT.java
 Thu Oct 13 08:57:41 2011
@@ -0,0 +1,73 @@
+package org.apache.tomcat.maven.it;
+
+/*
+ * 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.
+ */
+
+
+
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.File;
+
+import static junitx.framework.StringAssert.assertContains;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Mark Michaelis
+ */
+public abstract class AbstractDeployWarProjectIT
+    extends AbstractWarProjectIT
+{
+    private static final Logger LOG = LoggerFactory.getLogger( 
AbstractDeployWarProjectIT.class );
+
+    @Override
+    protected String getWebappUrl()
+    {
+        return "http://localhost:"; + getHttpItPort() + "/foo/";
+    }
+
+    @Override
+    protected String getWarArtifactId()
+    {
+        return "deploy-war-project";
+    }
+
+    @Test
+    public void testIt()
+        throws Exception
+    {
+        final String responseBody = executeVerifyWithGet();
+        assertNotNull("Received message body must not be null.", responseBody);
+        assertContains( "Response must match expected content.", "It works 
!!", responseBody );
+
+        assertTrue( "Tomcat folder should exist in target folder of project at 
" + webappHome,
+                    new File( webappHome, "target/tomcat" ).exists() );
+        LOG.info( "Error Free Log check" );
+        verifier.verifyErrorFreeLog();
+    }
+
+    @Override
+    protected int getTimeout()
+    {
+        return 40000;
+    }
+}

Propchange: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractDeployWarProjectIT.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractDeployWarProjectIT.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractSimpleWarProjectIT.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractSimpleWarProjectIT.java?rev=1182727&view=auto
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractSimpleWarProjectIT.java
 (added)
+++ 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractSimpleWarProjectIT.java
 Thu Oct 13 08:57:41 2011
@@ -0,0 +1,76 @@
+package org.apache.tomcat.maven.it;
+
+/*
+ * 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.
+ */
+
+
+
+import org.apache.maven.it.VerificationException;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.File;
+
+import static junitx.framework.StringAssert.assertContains;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Mark Michaelis
+ */
+public abstract class AbstractSimpleWarProjectIT
+    extends AbstractWarProjectIT
+{
+    private static final Logger LOG = LoggerFactory.getLogger( 
AbstractSimpleWarProjectIT.class );
+
+    @Override
+    protected String getWebappUrl()
+    {
+        return "http://localhost:"; + getHttpItPort() + "/";
+    }
+
+    @Override
+    protected String getWarArtifactId()
+    {
+        return "simple-war-project";
+    }
+
+    @Test
+    public void testIt()
+        throws Exception
+    {
+        final String responseBody = executeVerifyWithGet();
+        assertNotNull( "Received message body must not be null.", responseBody 
);
+        assertContains( "Response must match expected content.", "It works 
!!", responseBody );
+
+        assertTrue( "Tomcat folder should exist in target folder of project at 
" + webappHome,
+                    new File( webappHome, "target/tomcat" ).exists() );
+
+        LOG.info( "Error Free Log check" );
+        verifier.verifyErrorFreeLog();
+        verifyConnectorsStarted();
+    }
+
+    /**
+     * impls check the logs if http/https/apr has been started
+     */
+    protected abstract void verifyConnectorsStarted()
+        throws VerificationException;
+}

Propchange: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractSimpleWarProjectIT.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractSimpleWarProjectIT.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractTomcatRunMultiConfigIT.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractTomcatRunMultiConfigIT.java?rev=1182727&view=auto
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractTomcatRunMultiConfigIT.java
 (added)
+++ 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractTomcatRunMultiConfigIT.java
 Thu Oct 13 08:57:41 2011
@@ -0,0 +1,103 @@
+package org.apache.tomcat.maven.it;
+
+/*
+ * 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.
+ */
+
+
+import org.apache.maven.it.VerificationException;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.File;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import static junitx.framework.StringAssert.assertContains;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * Tests a bunch of configuration options for the tomcat-run Mojo.
+ *
+ * @author Mark Michaelis
+ */
+public abstract class AbstractTomcatRunMultiConfigIT
+    extends AbstractWarProjectIT
+{
+    private static final Logger LOG = 
LoggerFactory.getLogger(AbstractTomcatRunMultiConfigIT.class);
+
+    private static final String URL_QUERY = "\u3053\u3093\u306b\u3061\u306f";
+
+    /**
+     * ArtifactId of the sample WAR project.
+     */
+    private static final String WAR_ARTIFACT_ID = "tomcat-run-multi-config";
+
+    @Override
+    protected String getWebappUrl()
+    {
+        try
+        {
+            return new URI("http://localhost:"; + getHttpItPort() + 
"/multi-config/index.jsp?string=" + URL_QUERY).toASCIIString();
+        }
+        catch ( URISyntaxException e )
+        {
+            LOG.error("An exception occurred.", e);
+            return "http://localhost:"; + getHttpItPort() + "/multi-config";
+        }
+    }
+
+    @Override
+    protected String getWarArtifactId()
+    {
+        return WAR_ARTIFACT_ID;
+    }
+
+    @Test
+    public void testIt()
+        throws Exception
+    {
+        final String responseBody = executeVerifyWithGet();
+        assertNotNull("Received message body from " + getWebappUrl() + " must 
not be null.", responseBody);
+        assertContains("Response from " + getWebappUrl() + " must match 
expected content.", URL_QUERY, responseBody);
+
+        final File tomcatFolder = new File(webappHome, "target/tc");
+        final File emptyLocation = new File(tomcatFolder, "conf/empty.txt");
+
+        assertTrue(
+            "Tomcat folder \"" + tomcatFolder.getAbsolutePath() + "\" should 
exist in target folder of project at "
+                + webappHome, tomcatFolder.exists());
+        assertTrue(
+            "File \"" + emptyLocation.getAbsolutePath() + "\" should have been 
copied from tcconf to tomcat/conf",
+            emptyLocation.exists());
+
+        LOG.info("Error Free Log check");
+        verifier.verifyErrorFreeLog();
+        verifyConnectorsStarted();
+
+    }
+
+    /**
+     * impls check the logs if http/https/apr has been started
+     */
+    protected abstract void verifyConnectorsStarted()
+        throws VerificationException;
+
+}

Propchange: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractTomcatRunMultiConfigIT.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractTomcatRunMultiConfigIT.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractUsageContextpathIT.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractUsageContextpathIT.java?rev=1182727&view=auto
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractUsageContextpathIT.java
 (added)
+++ 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractUsageContextpathIT.java
 Thu Oct 13 08:57:41 2011
@@ -0,0 +1,71 @@
+package org.apache.tomcat.maven.it;
+
+/*
+ * 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.
+ */
+
+
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import static junitx.framework.StringAssert.assertContains;
+import static org.junit.Assert.assertNotNull;
+
+/**
+ * Tests the example "Using a different context path" as the WAR gets deployed 
below the contextpath /lorem.
+ *
+ * @author Mark Michaelis
+ */
+public class AbstractUsageContextpathIT
+    extends AbstractWarProjectIT
+{
+    private static final Logger LOG = LoggerFactory.getLogger( 
AbstractUsageContextpathIT.class );
+
+    private static final String WEBAPP_URL = "http://localhost:"; + 
getHttpItPort() +  "/lorem/index.html";
+
+    /**
+     * ArtifactId of the sample WAR project.
+     */
+    private static final String WAR_ARTIFACT_ID = "usage-contextpath";
+
+    @Override
+    protected String getWebappUrl()
+    {
+        return WEBAPP_URL;
+    }
+
+    @Override
+    protected String getWarArtifactId()
+    {
+        return WAR_ARTIFACT_ID;
+    }
+
+    @Test
+    public void testIt()
+        throws Exception
+    {
+        final String responseBody = executeVerifyWithGet();
+        assertNotNull( "Received message body must not be null.", responseBody 
);
+        assertContains( "Response must match expected content.", "Success!", 
responseBody );
+
+        LOG.info( "Error Free Log check" );
+        verifier.verifyErrorFreeLog();
+    }
+
+}

Propchange: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractUsageContextpathIT.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractUsageContextpathIT.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractWarProjectIT.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractWarProjectIT.java?rev=1182727&view=auto
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractWarProjectIT.java
 (added)
+++ 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractWarProjectIT.java
 Thu Oct 13 08:57:41 2011
@@ -0,0 +1,219 @@
+package org.apache.tomcat.maven.it;
+
+/*
+ * 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.
+ */
+
+
+import org.apache.http.HttpResponse;
+import org.apache.http.client.ResponseHandler;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpHead;
+import org.apache.http.impl.client.BasicResponseHandler;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.params.HttpConnectionParams;
+import org.apache.http.params.HttpParams;
+import org.apache.maven.it.VerificationException;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+import org.junit.After;
+import org.junit.Before;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * Base class for all tests which have a war-project using the 
tomcat-maven-plugin below project-resources.
+ *
+ * @author Mark Michaelis
+ */
+public abstract class AbstractWarProjectIT
+{
+    private static final Logger LOG = LoggerFactory.getLogger( 
AbstractWarProjectIT.class );
+
+    /**
+     * This URL will be queried for content. It will also be used to wait for 
the startup of the webapp.
+     *
+     * @return the URL to ping
+     */
+    protected abstract String getWebappUrl();
+
+    /**
+     * Artifact ID of the war project. Needed to uninstall any artifacts.
+     *
+     * @return artifact ID of the war project under test
+     */
+    protected abstract String getWarArtifactId();
+
+    /**
+     * HttpClient to use to connect to the deployed web-application.
+     */
+    private DefaultHttpClient httpClient;
+
+    /**
+     * Helper for Maven-Integration-Tests.
+     */
+    protected Verifier verifier;
+
+    /**
+     * Where the war project got placed to.
+     */
+    protected File webappHome;
+
+    @Before
+    public void setUp()
+        throws Exception
+    {
+        httpClient = new DefaultHttpClient();
+
+
+        final HttpParams params = httpClient.getParams();
+        HttpConnectionParams.setConnectionTimeout( params, getTimeout() );
+        HttpConnectionParams.setSoTimeout( params, getTimeout() );
+
+
+        webappHome = ResourceExtractor.simpleExtractResources( getClass(), "/" 
+ getWarArtifactId() );
+        verifier = new Verifier( webappHome.getAbsolutePath() );
+
+        boolean debugVerifier = Boolean.getBoolean( "verifier.maven.debug" );
+
+        verifier.setMavenDebug( debugVerifier );
+        verifier.setDebugJvm( Boolean.getBoolean( "verifier.debugJvm" ) );
+        verifier.displayStreamBuffers();
+
+        verifier.deleteArtifact( "org.codehaus.mojo.tomcat.it", 
getWarArtifactId(), "1.0-SNAPSHOT", "war" );
+    }
+
+    @After
+    public void tearDown()
+        throws Exception
+    {
+        httpClient.getConnectionManager().shutdown();
+        verifier.resetStreams();
+        verifier.deleteArtifact( "org.codehaus.mojo.tomcat.it", 
getWarArtifactId(), "1.0-SNAPSHOT", "war" );
+    }
+
+    /**
+     * Executes mvn verify and retrieves the response from the web application.
+     *
+     * @return the response given
+     * @throws VerificationException if the verifier failed to execute the goal
+     * @throws InterruptedException  if the execution got interrupted in some 
way
+     */
+    protected final String executeVerifyWithGet()
+        throws VerificationException, InterruptedException, IOException
+    {
+        final String[] responseBodies = new String[]{ null };
+
+        final Thread thread = new Thread( "webapp-response-retriever" )
+        {
+            @Override
+            public void run()
+            {
+                responseBodies[0] = getResponseBody( getTimeout() );
+            }
+        };
+
+        thread.start();
+
+        LOG.info( "Executing verify on " + webappHome.getAbsolutePath() );
+        verifier.executeGoal( "verify" );
+
+        verifier.displayStreamBuffers();
+
+        thread.join();
+
+        return responseBodies[0];
+    }
+
+    private String getResponseBody( int timeout )
+    {
+        String responseBody = null;
+        final long startTime = System.currentTimeMillis();
+        final long endTime = startTime + timeout;
+        long currentTime = System.currentTimeMillis();
+        try
+        {
+            while ( pingUrl() != 200 && currentTime < endTime )
+            {
+                LOG.debug( "Ping..." );
+                Thread.sleep( 500 );
+                currentTime = System.currentTimeMillis();
+            }
+            if ( currentTime < endTime )
+            {
+                responseBody = getResponseBody();
+                LOG.debug( "Received: " + responseBody );
+            }
+            else
+            {
+                LOG.error( "Timeout met while trying to access web 
application." );
+            }
+        }
+        catch ( IOException e )
+        {
+            LOG.error( "Exception while trying to access web application.", e 
);
+        }
+        catch ( InterruptedException e )
+        {
+            LOG.error( "Exception while trying to access web application.", e 
);
+        }
+        return responseBody;
+    }
+
+    private String getResponseBody()
+        throws IOException
+    {
+        HttpGet httpGet = new HttpGet( getWebappUrl() );
+        ResponseHandler<String> responseHandler = new BasicResponseHandler();
+        return httpClient.execute( httpGet, responseHandler );
+    }
+
+    private int pingUrl()
+    {
+        final HttpHead httpHead = new HttpHead( getWebappUrl() );
+        try
+        {
+            final HttpResponse response = httpClient.execute( httpHead );
+            return response.getStatusLine().getStatusCode();
+        }
+        catch ( IOException e )
+        {
+            LOG.debug( "Ignoring exception while pinging URL " + 
httpHead.getURI(), e );
+            return -1;
+        }
+    }
+    
+    protected int getTimeout()
+    {
+        return 15000;
+    }
+    
+    protected static String getHttpItPort()
+    {
+        return System.getProperty( "its.http.port" );
+    }
+
+    protected static String getAjpItPort()
+    {
+        return System.getProperty( "its.ajp.port" );
+    }
+
+}

Propchange: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractWarProjectIT.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tomcat/maven-plugin/trunk/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractWarProjectIT.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6DeployWarOnlyProjectIT.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6DeployWarOnlyProjectIT.java?rev=1182727&r1=1182726&r2=1182727&view=diff
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6DeployWarOnlyProjectIT.java
 (original)
+++ 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6DeployWarOnlyProjectIT.java
 Thu Oct 13 08:57:41 2011
@@ -18,6 +18,8 @@ package org.codehaus.mojo.tomcat.it;
  * under the License.
  */
 
+import org.apache.tomcat.maven.it.AbstractDeployWarOnlyProjectIT;
+
 /**
  * @author Olivier Lamy
  */

Modified: 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6DeployWarProjectIT.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6DeployWarProjectIT.java?rev=1182727&r1=1182726&r2=1182727&view=diff
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6DeployWarProjectIT.java
 (original)
+++ 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6DeployWarProjectIT.java
 Thu Oct 13 08:57:41 2011
@@ -18,6 +18,8 @@ package org.codehaus.mojo.tomcat.it;
  * under the License.
  */
 
+import org.apache.tomcat.maven.it.AbstractDeployWarProjectIT;
+
 /**
  * @author Olivier Lamy
  */

Modified: 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6RunMultiConfigIT.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6RunMultiConfigIT.java?rev=1182727&r1=1182726&r2=1182727&view=diff
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6RunMultiConfigIT.java
 (original)
+++ 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6RunMultiConfigIT.java
 Thu Oct 13 08:57:41 2011
@@ -19,6 +19,7 @@ package org.codehaus.mojo.tomcat.it;
  */
 
 import org.apache.maven.it.VerificationException;
+import org.apache.tomcat.maven.it.AbstractTomcatRunMultiConfigIT;
 
 /**
  * @author Olivier Lamy

Modified: 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6SimpleWarProjectIT.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6SimpleWarProjectIT.java?rev=1182727&r1=1182726&r2=1182727&view=diff
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6SimpleWarProjectIT.java
 (original)
+++ 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6SimpleWarProjectIT.java
 Thu Oct 13 08:57:41 2011
@@ -19,6 +19,7 @@ package org.codehaus.mojo.tomcat.it;
  */
 
 import org.apache.maven.it.VerificationException;
+import org.apache.tomcat.maven.it.AbstractSimpleWarProjectIT;
 
 /**
  * @author Olivier Lamy

Modified: 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6UsageContextpathIT.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6UsageContextpathIT.java?rev=1182727&r1=1182726&r2=1182727&view=diff
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6UsageContextpathIT.java
 (original)
+++ 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/test/java/org/codehaus/mojo/tomcat/it/Tomcat6UsageContextpathIT.java
 Thu Oct 13 08:57:41 2011
@@ -18,6 +18,8 @@ package org.codehaus.mojo.tomcat.it;
  * under the License.
  */
 
+import org.apache.tomcat.maven.it.AbstractUsageContextpathIT;
+
 /**
  * @author Olivier Lamy
  */

Modified: 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7DeployWarOnlyProjectIT.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7DeployWarOnlyProjectIT.java?rev=1182727&r1=1182726&r2=1182727&view=diff
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7DeployWarOnlyProjectIT.java
 (original)
+++ 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7DeployWarOnlyProjectIT.java
 Thu Oct 13 08:57:41 2011
@@ -18,7 +18,7 @@ package org.apache.tomcat.maven.plugin.t
  * under the License.
  */
 
-import org.codehaus.mojo.tomcat.it.AbstractDeployWarOnlyProjectIT;
+import org.apache.tomcat.maven.it.AbstractDeployWarOnlyProjectIT;
 
 /**
  * @author Olivier Lamy

Modified: 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7DeployWarProjectIT.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7DeployWarProjectIT.java?rev=1182727&r1=1182726&r2=1182727&view=diff
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7DeployWarProjectIT.java
 (original)
+++ 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7DeployWarProjectIT.java
 Thu Oct 13 08:57:41 2011
@@ -18,7 +18,7 @@ package org.apache.tomcat.maven.plugin.t
  * under the License.
  */
 
-import org.codehaus.mojo.tomcat.it.AbstractDeployWarProjectIT;
+import org.apache.tomcat.maven.it.AbstractDeployWarProjectIT;
 
 /**
  * @author Olivier Lamy

Modified: 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7RunMultiConfigIT.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7RunMultiConfigIT.java?rev=1182727&r1=1182726&r2=1182727&view=diff
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7RunMultiConfigIT.java
 (original)
+++ 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7RunMultiConfigIT.java
 Thu Oct 13 08:57:41 2011
@@ -19,7 +19,7 @@ package org.apache.tomcat.maven.plugin.t
  */
 
 import org.apache.maven.it.VerificationException;
-import org.codehaus.mojo.tomcat.it.AbstractTomcatRunMultiConfigIT;
+import org.apache.tomcat.maven.it.AbstractTomcatRunMultiConfigIT;
 
 /**
  * @author Olivier Lamy

Modified: 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7SimpleWarProjectIT.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7SimpleWarProjectIT.java?rev=1182727&r1=1182726&r2=1182727&view=diff
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7SimpleWarProjectIT.java
 (original)
+++ 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/java/org/apache/tomcat/maven/plugin/tomcat7/Tomcat7SimpleWarProjectIT.java
 Thu Oct 13 08:57:41 2011
@@ -19,7 +19,7 @@ package org.apache.tomcat.maven.plugin.t
  */
 
 import org.apache.maven.it.VerificationException;
-import org.codehaus.mojo.tomcat.it.AbstractSimpleWarProjectIT;
+import org.apache.tomcat.maven.it.AbstractSimpleWarProjectIT;
 
 /**
  * @author Olivier Lamy



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to