Separate tests from ArchetypeCatalogsTest, ensure 
LocalCatalogArchetypeDataSource isn't using a webserver


Project: http://git-wip-us.apache.org/repos/asf/maven-archetype/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-archetype/commit/4b2d005f
Tree: http://git-wip-us.apache.org/repos/asf/maven-archetype/tree/4b2d005f
Diff: http://git-wip-us.apache.org/repos/asf/maven-archetype/diff/4b2d005f

Branch: refs/heads/master
Commit: 4b2d005ff99d15c5d7612351fae9f232b07fd87e
Parents: fbf678b
Author: rfscholte <rfscho...@apache.org>
Authored: Fri Jan 27 23:49:14 2017 +0100
Committer: rfscholte <rfscho...@apache.org>
Committed: Fri Jan 27 23:49:14 2017 +0100

----------------------------------------------------------------------
 .../maven/archetype/ArchetypeCatalogsTest.java  | 130 -------------------
 .../LocalCatalogArchetypeDataSourceTest.java    |  81 ++++++++++++
 .../RemoteCatalogArchetypeDataSourceTest.java   | 105 +++++++++++++++
 3 files changed, 186 insertions(+), 130 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/4b2d005f/archetype-common/src/test/java/org/apache/maven/archetype/ArchetypeCatalogsTest.java
----------------------------------------------------------------------
diff --git 
a/archetype-common/src/test/java/org/apache/maven/archetype/ArchetypeCatalogsTest.java
 
b/archetype-common/src/test/java/org/apache/maven/archetype/ArchetypeCatalogsTest.java
deleted file mode 100644
index c4cc5ec..0000000
--- 
a/archetype-common/src/test/java/org/apache/maven/archetype/ArchetypeCatalogsTest.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package org.apache.maven.archetype;
-
-/*
- *  Copyright 2007 rafale.
- *
- *  Licensed 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.
- *  under the License.
- */
-
-import org.apache.commons.io.IOUtils;
-import org.apache.maven.archetype.catalog.Archetype;
-import org.apache.maven.archetype.catalog.ArchetypeCatalog;
-import org.apache.maven.archetype.catalog.io.xpp3.ArchetypeCatalogXpp3Writer;
-import org.apache.maven.project.DefaultProjectBuildingRequest;
-import org.apache.maven.project.ProjectBuildingRequest;
-import org.apache.maven.repository.internal.MavenRepositorySystemSession;
-import org.codehaus.plexus.PlexusTestCase;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.webapp.WebAppContext;
-import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.Writer;
-
-/**
- * @author rafale
- */
-public class ArchetypeCatalogsTest
-    extends PlexusTestCase
-{
-    public void testRemoteCatalog()
-        throws Exception
-    {
-        ArchetypeManager archetype = lookup( ArchetypeManager.class );
-
-        ProjectBuildingRequest buildingRequest = new 
DefaultProjectBuildingRequest();
-        
-        ArchetypeCatalog result = archetype.getRemoteCatalog( buildingRequest, 
"http://localhost:"; + port + "/repo/" );
-
-        assertEquals( 1, result.getArchetypes().size() );
-        assertEquals( "groupId", result.getArchetypes().get( 0 ).getGroupId() 
);
-        assertEquals( "artifactId", result.getArchetypes().get( 0 
).getArtifactId() );
-        assertEquals( "1", result.getArchetypes().get( 0 ).getVersion() );
-        assertEquals( "http://localhost:"; + port + "/repo/", 
result.getArchetypes().get( 0 ).getRepository() );
-    }
-
-    public void testLocalCatalog()
-        throws Exception
-    {
-        ArchetypeManager archetype = lookup( ArchetypeManager.class );
-
-        ProjectBuildingRequest buildingRequest = new 
DefaultProjectBuildingRequest();
-        MavenRepositorySystemSession repositorySession = new 
MavenRepositorySystemSession();
-        repositorySession.setLocalRepositoryManager( new 
SimpleLocalRepositoryManager( getTestFile( 
"target/test-classes/repositories/test-catalog" ) ) );
-        buildingRequest.setRepositorySession( repositorySession );
-        
-        
-        ArchetypeCatalog result = archetype.getLocalCatalog( buildingRequest );
-
-        assertEquals( 1, result.getArchetypes().size() );
-        assertEquals( "groupId", result.getArchetypes().get( 0 ).getGroupId() 
);
-        assertEquals( "artifactId", result.getArchetypes().get( 0 
).getArtifactId() );
-        assertEquals( "1", result.getArchetypes().get( 0 ).getVersion() );
-        assertEquals( "http://localhost:"; + port + "/repo/", 
result.getArchetypes().get( 0 ).getRepository() );
-    }
-
-
-    private Server server;
-
-    int port;
-
-    protected void setUp()
-        throws Exception
-    {
-        super.setUp();
-
-        System.setProperty( "org.apache.maven.archetype.repository.directory",
-                            getTestPath( 
"target/test-classes/repositories/test-catalog" ) );
-
-        // Start Jetty
-        server = new Server( 0 );
-
-        WebAppContext webapp = new WebAppContext();
-        webapp.setContextPath( "/repo" );
-        webapp.setWar( "target/wars/archetype-repository.war" );
-        server.setHandler( webapp );
-
-        server.start();
-
-        port = server.getConnectors()[0].getLocalPort();
-
-        File catalogDirectory = getTestFile( 
"target/test-classes/repositories/test-catalog" );
-        catalogDirectory.mkdirs();
-
-        getTestFile( "target/test-classes/repositories/test-catalog/dummy" 
).createNewFile();
-
-        ArchetypeCatalog catalog = new ArchetypeCatalog();
-        Archetype generatedArchetype = new Archetype();
-        generatedArchetype.setGroupId( "groupId" );
-        generatedArchetype.setArtifactId( "artifactId" );
-        generatedArchetype.setVersion( "1" );
-        generatedArchetype.setRepository( "http://localhost:"; + port + 
"/repo/" );
-        catalog.addArchetype( generatedArchetype );
-
-        File catalogFile = new File( catalogDirectory, "archetype-catalog.xml" 
);
-        ArchetypeCatalogXpp3Writer catalogWriter = new 
ArchetypeCatalogXpp3Writer();
-        Writer writer = new FileWriter( catalogFile );
-        catalogWriter.write( writer, catalog );
-        IOUtils.closeQuietly( writer );
-    }
-
-    protected void tearDown()
-        throws Exception
-    {
-        super.tearDown();
-        // Stop Jetty
-        server.stop();
-    }
-}

http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/4b2d005f/archetype-common/src/test/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSourceTest.java
----------------------------------------------------------------------
diff --git 
a/archetype-common/src/test/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSourceTest.java
 
b/archetype-common/src/test/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSourceTest.java
new file mode 100644
index 0000000..406c076
--- /dev/null
+++ 
b/archetype-common/src/test/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSourceTest.java
@@ -0,0 +1,81 @@
+package org.apache.maven.archetype.source;
+
+/*
+ *  Copyright 2007 rafale.
+ *
+ *  Licensed 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.
+ *  under the License.
+ */
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.Writer;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.maven.archetype.ArchetypeManager;
+import org.apache.maven.archetype.catalog.Archetype;
+import org.apache.maven.archetype.catalog.ArchetypeCatalog;
+import org.apache.maven.archetype.catalog.io.xpp3.ArchetypeCatalogXpp3Writer;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.repository.internal.MavenRepositorySystemSession;
+import org.codehaus.plexus.PlexusTestCase;
+import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager;
+
+public class LocalCatalogArchetypeDataSourceTest extends PlexusTestCase
+{
+
+    protected void setUp()
+                    throws Exception
+    {
+        super.setUp();
+
+        File catalogDirectory = getTestFile( 
"target/test-classes/repositories/test-catalog" );
+        catalogDirectory.mkdirs();
+
+        ArchetypeCatalog catalog = new ArchetypeCatalog();
+        Archetype generatedArchetype = new Archetype();
+        generatedArchetype.setGroupId( "groupId" );
+        generatedArchetype.setArtifactId( "artifactId" );
+        generatedArchetype.setVersion( "1" );
+        generatedArchetype.setRepository( "http://localhost:0/repo/"; );
+        catalog.addArchetype( generatedArchetype );
+
+        File catalogFile = new File( catalogDirectory, "archetype-catalog.xml" 
);
+        ArchetypeCatalogXpp3Writer catalogWriter = new 
ArchetypeCatalogXpp3Writer();
+        Writer writer = new FileWriter( catalogFile );
+        catalogWriter.write( writer, catalog );
+        IOUtils.closeQuietly( writer );
+    }
+    
+    public void testLocalCatalog()
+                    throws Exception
+    {
+        ArchetypeManager archetype = lookup( ArchetypeManager.class );
+
+        ProjectBuildingRequest buildingRequest = new 
DefaultProjectBuildingRequest();
+        MavenRepositorySystemSession repositorySession = new 
MavenRepositorySystemSession();
+        repositorySession.setLocalRepositoryManager( new 
SimpleLocalRepositoryManager( getTestFile( 
"target/test-classes/repositories/test-catalog" ) ) );
+        buildingRequest.setRepositorySession( repositorySession );
+        
+        
+        ArchetypeCatalog result = archetype.getLocalCatalog( buildingRequest );
+
+        assertEquals( 1, result.getArchetypes().size() );
+        assertEquals( "groupId", result.getArchetypes().get( 0 ).getGroupId() 
);
+        assertEquals( "artifactId", result.getArchetypes().get( 0 
).getArtifactId() );
+        assertEquals( "1", result.getArchetypes().get( 0 ).getVersion() );
+        assertEquals( "http://localhost:0/repo/";, result.getArchetypes().get( 
0 ).getRepository() );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/4b2d005f/archetype-common/src/test/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSourceTest.java
----------------------------------------------------------------------
diff --git 
a/archetype-common/src/test/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSourceTest.java
 
b/archetype-common/src/test/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSourceTest.java
new file mode 100644
index 0000000..f4e4a88
--- /dev/null
+++ 
b/archetype-common/src/test/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSourceTest.java
@@ -0,0 +1,105 @@
+package org.apache.maven.archetype.source;
+
+/*
+ *  Copyright 2007 rafale.
+ *
+ *  Licensed 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.
+ *  under the License.
+ */
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.Writer;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.maven.archetype.ArchetypeManager;
+import org.apache.maven.archetype.catalog.Archetype;
+import org.apache.maven.archetype.catalog.ArchetypeCatalog;
+import org.apache.maven.archetype.catalog.io.xpp3.ArchetypeCatalogXpp3Writer;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.codehaus.plexus.PlexusTestCase;
+import org.mortbay.jetty.Server;
+import org.mortbay.jetty.webapp.WebAppContext;
+
+public class RemoteCatalogArchetypeDataSourceTest extends PlexusTestCase
+{
+    private Server server;
+
+    int port;
+
+    protected void setUp()
+        throws Exception
+    {
+        super.setUp();
+
+        System.setProperty( "org.apache.maven.archetype.repository.directory",
+                            getTestPath( 
"target/test-classes/repositories/test-catalog" ) );
+
+        // Start Jetty
+        server = new Server( 0 );
+
+        WebAppContext webapp = new WebAppContext();
+        webapp.setContextPath( "/repo" );
+        webapp.setWar( "target/wars/archetype-repository.war" );
+        server.setHandler( webapp );
+
+        server.start();
+
+        port = server.getConnectors()[0].getLocalPort();
+
+        File catalogDirectory = getTestFile( 
"target/test-classes/repositories/test-catalog" );
+        catalogDirectory.mkdirs();
+
+        getTestFile( "target/test-classes/repositories/test-catalog/dummy" 
).createNewFile();
+
+        ArchetypeCatalog catalog = new ArchetypeCatalog();
+        Archetype generatedArchetype = new Archetype();
+        generatedArchetype.setGroupId( "groupId" );
+        generatedArchetype.setArtifactId( "artifactId" );
+        generatedArchetype.setVersion( "1" );
+        generatedArchetype.setRepository( "http://localhost:"; + port + 
"/repo/" );
+        catalog.addArchetype( generatedArchetype );
+
+        File catalogFile = new File( catalogDirectory, "archetype-catalog.xml" 
);
+        ArchetypeCatalogXpp3Writer catalogWriter = new 
ArchetypeCatalogXpp3Writer();
+        Writer writer = new FileWriter( catalogFile );
+        catalogWriter.write( writer, catalog );
+        IOUtils.closeQuietly( writer );
+    }
+
+    protected void tearDown()
+        throws Exception
+    {
+        super.tearDown();
+        // Stop Jetty
+        server.stop();
+    }
+    
+    public void testRemoteCatalog()
+        throws Exception
+    {
+        ArchetypeManager archetype = lookup( ArchetypeManager.class );
+
+        ProjectBuildingRequest buildingRequest = new 
DefaultProjectBuildingRequest();
+
+        ArchetypeCatalog result = archetype.getRemoteCatalog( buildingRequest, 
"http://localhost:"; + port + "/repo/" );
+
+        assertEquals( 1, result.getArchetypes().size() );
+        assertEquals( "groupId", result.getArchetypes().get( 0 ).getGroupId() 
);
+        assertEquals( "artifactId", result.getArchetypes().get( 0 
).getArtifactId() );
+        assertEquals( "1", result.getArchetypes().get( 0 ).getVersion() );
+        assertEquals( "http://localhost:"; + port + "/repo/", 
result.getArchetypes().get( 0 ).getRepository() );
+    }
+
+}

Reply via email to