From 8b8279cc7e2ac6810f1fc9579ceefafcd7ee071b Mon Sep 17 00:00:00 2001
From: Herve Boutemy <hboutemy@apache.org>
Date: Sun, 28 Oct 2012 10:57:40 +0000
Subject: [PATCH] extracted common code into AbstractRepositoryTestCase

git-svn-id: https://svn.apache.org/repos/asf/maven/maven-3/trunk@1402969 13f79535-47bb-0310-9956-ffa450edef68
---
 .../internal/AbstractRepositoryTestCase.java  | 76 +++++++++++++++++++
 .../internal/DefaultVersionResolverTest.java  | 38 +---------
 .../internal/RepositorySystemTest.java        | 51 +------------
 3 files changed, 79 insertions(+), 86 deletions(-)
 create mode 100644 maven-aether-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java

diff --git a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java b/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
new file mode 100644
index 0000000000..366ed9eb9f
--- /dev/null
+++ b/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
@@ -0,0 +1,76 @@
+package org.apache.maven.repository.internal;
+
+/*
+ * 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 java.net.MalformedURLException;
+
+import org.apache.maven.repository.internal.util.ConsoleRepositoryListener;
+import org.apache.maven.repository.internal.util.ConsoleTransferListener;
+import org.codehaus.plexus.PlexusTestCase;
+import org.sonatype.aether.RepositorySystem;
+import org.sonatype.aether.RepositorySystemSession;
+import org.sonatype.aether.repository.LocalRepository;
+import org.sonatype.aether.repository.RemoteRepository;
+
+public abstract class AbstractRepositoryTestCase
+    extends PlexusTestCase
+{
+    protected RepositorySystem system;
+
+    protected RepositorySystemSession session;
+
+    @Override
+    protected void setUp()
+        throws Exception
+    {
+        super.setUp();
+        system = lookup( RepositorySystem.class );
+        session = newMavenRepositorySystemSession( system );
+    }
+
+    @Override
+    protected void tearDown()
+        throws Exception
+    {
+        session = null;
+        system = null;
+        super.tearDown();
+    }
+
+    public static RepositorySystemSession newMavenRepositorySystemSession( RepositorySystem system )
+    {
+        MavenRepositorySystemSession session = new MavenRepositorySystemSession();
+
+        LocalRepository localRepo = new LocalRepository( "target/local-repo" );
+        session.setLocalRepositoryManager( system.newLocalRepositoryManager( localRepo ) );
+
+        session.setTransferListener( new ConsoleTransferListener() );
+        session.setRepositoryListener( new ConsoleRepositoryListener() );
+
+        return session;
+    }
+
+    public static RemoteRepository newTestRepository()
+        throws MalformedURLException
+    {
+        return new RemoteRepository( "repo", "default",
+                                     getTestFile( "target/test-classes/repo" ).toURI().toURL().toString() );
+    }
+}
diff --git a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java b/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java
index e596cb4263..39eaaf6473 100644
--- a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java
+++ b/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java
@@ -19,38 +19,24 @@ package org.apache.maven.repository.internal;
  * under the License.
  */
 
-import java.net.MalformedURLException;
-
-import org.apache.maven.repository.internal.util.ConsoleRepositoryListener;
-import org.apache.maven.repository.internal.util.ConsoleTransferListener;
-import org.codehaus.plexus.PlexusTestCase;
-import org.sonatype.aether.RepositorySystem;
-import org.sonatype.aether.RepositorySystemSession;
 import org.sonatype.aether.artifact.Artifact;
 import org.sonatype.aether.impl.VersionResolver;
-import org.sonatype.aether.repository.LocalRepository;
-import org.sonatype.aether.repository.RemoteRepository;
 import org.sonatype.aether.resolution.VersionRequest;
 import org.sonatype.aether.resolution.VersionResult;
 import org.sonatype.aether.util.artifact.DefaultArtifact;
 
 public class DefaultVersionResolverTest
-    extends PlexusTestCase
+    extends AbstractRepositoryTestCase
 {
     private DefaultVersionResolver versionResolver;
 
-    private RepositorySystem system;
-
-    private RepositorySystemSession session;
-
     @Override
     protected void setUp()
         throws Exception
     {
+        super.setUp();
         // be sure we're testing the right class, i.e. DefaultVersionResolver.class
         versionResolver = (DefaultVersionResolver) lookup( VersionResolver.class, "default" );
-        system = lookup( RepositorySystem.class );
-        session = newMavenRepositorySystemSession( system );
     }
 
     @Override
@@ -107,24 +93,4 @@ public class DefaultVersionResolverTest
         VersionResult resultB = versionResolver.resolveVersion( session, requestB );
         assertEquals( versionB, resultB.getVersion() );
     }
-
-    public static RepositorySystemSession newMavenRepositorySystemSession( RepositorySystem system )
-    {
-        MavenRepositorySystemSession session = new MavenRepositorySystemSession();
-
-        LocalRepository localRepo = new LocalRepository( "target/local-repo" );
-        session.setLocalRepositoryManager( system.newLocalRepositoryManager( localRepo ) );
-
-        session.setTransferListener( new ConsoleTransferListener() );
-        session.setRepositoryListener( new ConsoleRepositoryListener() );
-
-        return session;
-    }
-
-    public static RemoteRepository newTestRepository()
-        throws MalformedURLException
-    {
-        return new RemoteRepository( "repo", "default",
-                                     getTestFile( "target/test-classes/repo" ).toURI().toURL().toString() );
-    }
 }
diff --git a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java b/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java
index dc2f187489..7b9f62ede8 100644
--- a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java
+++ b/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java
@@ -19,45 +19,15 @@ package org.apache.maven.repository.internal;
  * under the License.
  */
 
-import java.net.MalformedURLException;
-
-import org.apache.maven.repository.internal.util.ConsoleRepositoryListener;
-import org.apache.maven.repository.internal.util.ConsoleTransferListener;
-import org.codehaus.plexus.PlexusTestCase;
 import org.sonatype.aether.artifact.Artifact;
 import org.sonatype.aether.collection.CollectRequest;
 import org.sonatype.aether.collection.CollectResult;
 import org.sonatype.aether.graph.Dependency;
-import org.sonatype.aether.repository.LocalRepository;
-import org.sonatype.aether.repository.RemoteRepository;
 import org.sonatype.aether.util.artifact.DefaultArtifact;
-import org.sonatype.aether.RepositorySystem;
-import org.sonatype.aether.RepositorySystemSession;
 
 public class RepositorySystemTest
-    extends PlexusTestCase
+    extends AbstractRepositoryTestCase
 {
-    protected RepositorySystem system;
-
-    protected RepositorySystemSession session;
-
-    @Override
-    protected void setUp()
-        throws Exception
-    {
-        system = lookup( RepositorySystem.class );
-        session = newMavenRepositorySystemSession( system );
-    }
-
-    @Override
-    protected void tearDown()
-        throws Exception
-    {
-        session = null;
-        system = null;
-        super.tearDown();
-    }
-
     public void testCollectDependencies()
         throws Exception
     {
@@ -109,23 +79,4 @@ public class RepositorySystemTest
         assertEquals( "false", depArtifact.getProperty( "includesDependencies", null ) );
         assertEquals( 4, depArtifact.getProperties().size() );
     }
-
-    public static RepositorySystemSession newMavenRepositorySystemSession( RepositorySystem system )
-    {
-        MavenRepositorySystemSession session = new MavenRepositorySystemSession();
-
-        LocalRepository localRepo = new LocalRepository( "target/local-repo" );
-        session.setLocalRepositoryManager( system.newLocalRepositoryManager( localRepo ) );
-
-        session.setTransferListener( new ConsoleTransferListener() );
-        session.setRepositoryListener( new ConsoleRepositoryListener() );
-
-        return session;
-    }
-
-    public static RemoteRepository newTestRepository()
-        throws MalformedURLException
-    {
-        return new RemoteRepository( "repo", "default", getTestFile( "target/test-classes/repo" ).toURI().toURL().toString() );
-    }
 }