You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by br...@apache.org on 2012/08/08 09:18:31 UTC

svn commit: r1370678 - in /continuum/trunk/continuum-core: ./ src/test/java/org/apache/continuum/ src/test/java/org/apache/maven/continuum/

Author: brett
Date: Wed Aug  8 07:18:30 2012
New Revision: 1370678

URL: http://svn.apache.org/viewvc?rev=1370678&view=rev
Log:
make tests work offline

Added:
    continuum/trunk/continuum-core/src/test/java/org/apache/continuum/AbstractAddProjectTest.java
Modified:
    continuum/trunk/continuum-core/pom.xml
    continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/AddMaven2ProjectTest.java
    continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/AddProjectTest.java

Modified: continuum/trunk/continuum-core/pom.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-core/pom.xml?rev=1370678&r1=1370677&r2=1370678&view=diff
==============================================================================
--- continuum/trunk/continuum-core/pom.xml (original)
+++ continuum/trunk/continuum-core/pom.xml Wed Aug  8 07:18:30 2012
@@ -273,6 +273,12 @@ under the License.
       <artifactId>jmock</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.mortbay.jetty</groupId>
+      <artifactId>jetty</artifactId>
+      <version>${jetty.version}</version>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
   <build>
     <plugins>

Added: continuum/trunk/continuum-core/src/test/java/org/apache/continuum/AbstractAddProjectTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-core/src/test/java/org/apache/continuum/AbstractAddProjectTest.java?rev=1370678&view=auto
==============================================================================
--- continuum/trunk/continuum-core/src/test/java/org/apache/continuum/AbstractAddProjectTest.java (added)
+++ continuum/trunk/continuum-core/src/test/java/org/apache/continuum/AbstractAddProjectTest.java Wed Aug  8 07:18:30 2012
@@ -0,0 +1,51 @@
+/*
+ * 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.
+ */
+package org.apache.continuum;
+
+import org.apache.maven.continuum.AbstractContinuumTest;
+import org.codehaus.plexus.util.FileUtils;
+
+import java.io.File;
+import java.io.IOException;
+
+public abstract class AbstractAddProjectTest
+    extends AbstractContinuumTest
+{
+    private static void mkdirs( File directory )
+        throws IOException
+    {
+        if ( !directory.exists() && !directory.mkdirs() )
+        {
+            throw new IOException( "Unable to create repository " + directory );
+        }
+    }
+
+    protected void createLocalRepository()
+        throws IOException
+    {
+        File localRepo = getTestFile( "target/test-classes/.m2/repository" );
+        mkdirs( localRepo );
+
+        File artifact =
+            new File( localRepo, "org/apache/maven/continuum/continuum-parent/1.0.3/continuum-parent-1.0.3.pom" );
+        mkdirs( artifact.getParentFile() );
+
+        FileUtils.copyFile( getTestFile( "src/test/resources/projects/continuum/pom.xml" ), artifact );
+    }
+}

Modified: continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/AddMaven2ProjectTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/AddMaven2ProjectTest.java?rev=1370678&r1=1370677&r2=1370678&view=diff
==============================================================================
--- continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/AddMaven2ProjectTest.java (original)
+++ continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/AddMaven2ProjectTest.java Wed Aug  8 07:18:30 2012
@@ -3,6 +3,7 @@ package org.apache.maven.continuum;
 import java.io.File;
 import java.util.Collections;
 
+import org.apache.continuum.AbstractAddProjectTest;
 import org.apache.maven.continuum.builddefinition.BuildDefinitionService;
 import org.apache.maven.continuum.model.project.BuildDefinition;
 import org.apache.maven.continuum.model.project.BuildDefinitionTemplate;
@@ -36,7 +37,7 @@ import org.slf4j.LoggerFactory;
  * @version $Id$
  */
 public class AddMaven2ProjectTest
-    extends AbstractContinuumTest
+    extends AbstractAddProjectTest
 {
     protected final Logger log = LoggerFactory.getLogger( getClass() );
 
@@ -65,11 +66,11 @@ public class AddMaven2ProjectTest
         
         bdt = bds.addBuildDefinitionTemplate( bdt );
         
-        bdt = bds.addBuildDefinitionInTemplate( bdt, bd, false );        
-    }    
-    
-    
-    
+        bdt = bds.addBuildDefinitionInTemplate( bdt, bd, false );
+
+        createLocalRepository();
+    }
+
     public void testAddProjectToExistingGroupWithBuildDefTemplate()
         throws Exception
     {
@@ -226,7 +227,7 @@ public class AddMaven2ProjectTest
 
         pg = getContinuum().getProjectGroupWithBuildDetails( pg.getId() );
         
-        assertEquals( "clean install", ( (BuildDefinition) pg.getBuildDefinitions().get( 0 ) ).getGoals() );
+        assertEquals( "clean install", pg.getBuildDefinitions().get( 0 ).getGoals() );
     }
     
     

Modified: continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/AddProjectTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/AddProjectTest.java?rev=1370678&r1=1370677&r2=1370678&view=diff
==============================================================================
--- continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/AddProjectTest.java (original)
+++ continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/AddProjectTest.java Wed Aug  8 07:18:30 2012
@@ -18,11 +18,17 @@
  */
 package org.apache.maven.continuum;
 
+import org.apache.continuum.AbstractAddProjectTest;
 import org.apache.maven.continuum.builddefinition.BuildDefinitionService;
 import org.apache.maven.continuum.execution.ContinuumBuildExecutorConstants;
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult;
 import org.apache.maven.continuum.project.builder.maven.MavenTwoContinuumProjectBuilder;
+import org.mortbay.jetty.Handler;
+import org.mortbay.jetty.Server;
+import org.mortbay.jetty.handler.DefaultHandler;
+import org.mortbay.jetty.handler.ResourceHandler;
+import org.mortbay.jetty.nio.SelectChannelConnector;
 
 import java.util.Collections;
 
@@ -32,21 +38,56 @@ import java.util.Collections;
  * @version $Id$
  */
 public class AddProjectTest
-    extends AbstractContinuumTest
-{
+        extends AbstractAddProjectTest {
     static final String SCM_USERNAME = "test";
     
     static final String SCM_PASSWORD = ";password";
-    
+
+    private Server server;
+
+    private String scmUrl;
+
+    @Override
+    protected void setUp()
+        throws Exception
+    {
+        super.setUp();
+
+        createLocalRepository();
+
+        server = startJettyServer();
+        int port = server.getConnectors()[0].getLocalPort();
+        scmUrl = "http://test:;password@localhost:" + port + "/projects/continuum/continuum-core/pom.xml";
+    }
+
+    @Override
+    protected void tearDown()
+        throws Exception
+    {
+        super.tearDown();
+        server.stop();
+    }
+
+    private Server startJettyServer()
+        throws Exception
+    {
+        Server server = new Server( 0 );
+        ResourceHandler handler = new ResourceHandler();
+        handler.setResourceBase( getTestFile( "src/test/resources" ).getAbsolutePath() );
+        server.setHandlers( new Handler[]{ handler, new DefaultHandler() } );
+        server.start();
+        return server;
+    }
+
     public void testScmUserNamePasswordNotStoring()
         throws Exception
     {
-        String metadataUrl = "http://test:;password@svn.apache.org/repos/asf/continuum/tags/continuum-1.1/continuum-api/pom.xml";
         DefaultContinuum continuum = (DefaultContinuum) lookup( Continuum.ROLE );
-        
+
         ContinuumProjectBuildingResult result = continuum
-            .executeAddProjectsFromMetadataActivity( metadataUrl, MavenTwoContinuumProjectBuilder.ID,
-            						getDefaultProjectGroup().getId(), false, true, false, -1, false, false );
+            .executeAddProjectsFromMetadataActivity( scmUrl, MavenTwoContinuumProjectBuilder.ID,
+                                                     getDefaultProjectGroup().getId(), false, true, false, -1, false,
+                                                     false );
         assertEquals( Collections.emptyList(), result.getErrors() );
 
         assertEquals( 1, result.getProjects().size() );
@@ -61,12 +102,12 @@ public class AddProjectTest
     public void testScmUserNamePasswordStoring()
         throws Exception
     {
-        String metadataUrl = "http://test:;password@svn.apache.org/repos/asf/continuum/tags/continuum-1.1/continuum-api/pom.xml";
         DefaultContinuum continuum = (DefaultContinuum) lookup( Continuum.ROLE );
 
         ContinuumProjectBuildingResult result = continuum
-            .executeAddProjectsFromMetadataActivity( metadataUrl, MavenTwoContinuumProjectBuilder.ID,
-            						getDefaultProjectGroup().getId(), false, false, false, -1, false, false );
+            .executeAddProjectsFromMetadataActivity( scmUrl, MavenTwoContinuumProjectBuilder.ID,
+                                                     getDefaultProjectGroup().getId(), false, false, false, -1, false,
+                                                     false );
         assertEquals( Collections.emptyList(), result.getErrors() );
 
         assertEquals( 1, result.getProjects().size() );
@@ -81,8 +122,6 @@ public class AddProjectTest
     public void testAntProjectScmUserNamePasswordNotStoring()
         throws Exception
     {
-        // use same url since we're just going to add the project, not build it
-        String scmUrl = "http://test:;password@svn.apache.org/repos/asf/continuum/tags/continuum-1.1/continuum-api/pom.xml";
         DefaultContinuum continuum = (DefaultContinuum) lookup( Continuum.ROLE );
         
         Project project = new Project();
@@ -90,7 +129,7 @@ public class AddProjectTest
         project.setVersion( "1.0" );
         project.setScmUsername( SCM_USERNAME );
         project.setScmPassword( SCM_PASSWORD );
-        project.setScmUrl( scmUrl );        
+        project.setScmUrl( this.scmUrl );
         project.setScmUseCache( true );
         
         BuildDefinitionService bdService = ( BuildDefinitionService )lookup( BuildDefinitionService.class.getName() );
@@ -110,8 +149,6 @@ public class AddProjectTest
     public void testAntProjectScmUserNamePasswordStoring()
         throws Exception
     {
-        // use same url since we're just going to add the project, not build it
-        String scmUrl = "http://test:;password@svn.apache.org/repos/asf/continuum/tags/continuum-1.1/continuum-api/pom.xml";
         DefaultContinuum continuum = (DefaultContinuum) lookup( Continuum.ROLE );
         
         Project project = new Project();