You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2016/09/03 20:23:56 UTC
[33/51] [partial] maven-aether git commit: [MNG-6007] rename Aether
to Maven Artifact Resolver
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultDependencyCollectorTest.java
----------------------------------------------------------------------
diff --git a/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultDependencyCollectorTest.java b/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultDependencyCollectorTest.java
deleted file mode 100644
index fd1302d..0000000
--- a/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultDependencyCollectorTest.java
+++ /dev/null
@@ -1,801 +0,0 @@
-package org.eclipse.aether.internal.impl;
-
-/*
- * 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 static org.junit.Assert.*;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.artifact.ArtifactProperties;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.eclipse.aether.collection.CollectRequest;
-import org.eclipse.aether.collection.CollectResult;
-import org.eclipse.aether.collection.DependencyCollectionContext;
-import org.eclipse.aether.collection.DependencyCollectionException;
-import org.eclipse.aether.collection.DependencyManagement;
-import org.eclipse.aether.collection.DependencyManager;
-import org.eclipse.aether.collection.DependencySelector;
-import org.eclipse.aether.graph.Dependency;
-import org.eclipse.aether.graph.DependencyCycle;
-import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.graph.Exclusion;
-import org.eclipse.aether.impl.ArtifactDescriptorReader;
-import org.eclipse.aether.internal.test.util.DependencyGraphParser;
-import org.eclipse.aether.internal.test.util.TestLoggerFactory;
-import org.eclipse.aether.internal.test.util.TestUtils;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.resolution.ArtifactDescriptorException;
-import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
-import org.eclipse.aether.resolution.ArtifactDescriptorResult;
-import org.eclipse.aether.util.artifact.ArtifactIdUtils;
-import org.eclipse.aether.util.graph.manager.ClassicDependencyManager;
-import org.eclipse.aether.util.graph.manager.DependencyManagerUtils;
-import org.eclipse.aether.util.graph.manager.TransitiveDependencyManager;
-import org.eclipse.aether.util.graph.selector.OptionalDependencySelector;
-import org.eclipse.aether.util.graph.selector.ScopeDependencySelector;
-import org.eclipse.aether.util.graph.version.HighestVersionFilter;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- */
-public class DefaultDependencyCollectorTest
-{
-
- private DefaultDependencyCollector collector;
-
- private DefaultRepositorySystemSession session;
-
- private DependencyGraphParser parser;
-
- private RemoteRepository repository;
-
- private IniArtifactDescriptorReader newReader( String prefix )
- {
- return new IniArtifactDescriptorReader( "artifact-descriptions/" + prefix );
- }
-
- private Dependency newDep( String coords )
- {
- return newDep( coords, "" );
- }
-
- private Dependency newDep( String coords, String scope )
- {
- return new Dependency( new DefaultArtifact( coords ), scope );
- }
-
- @Before
- public void setup()
- throws IOException
- {
- session = TestUtils.newSession();
-
- collector = new DefaultDependencyCollector();
- collector.setArtifactDescriptorReader( newReader( "" ) );
- collector.setVersionRangeResolver( new StubVersionRangeResolver() );
- collector.setRemoteRepositoryManager( new StubRemoteRepositoryManager() );
- collector.setLoggerFactory( new TestLoggerFactory() );
-
- parser = new DependencyGraphParser( "artifact-descriptions/" );
-
- repository = new RemoteRepository.Builder( "id", "default", "file:///" ).build();
- }
-
- private static void assertEqualSubtree( DependencyNode expected, DependencyNode actual )
- {
- assertEqualSubtree( expected, actual, new LinkedList<DependencyNode>() );
- }
-
- private static void assertEqualSubtree( DependencyNode expected, DependencyNode actual,
- LinkedList<DependencyNode> parents )
- {
- assertEquals( "path: " + parents, expected.getDependency(), actual.getDependency() );
-
- if ( actual.getDependency() != null )
- {
- Artifact artifact = actual.getDependency().getArtifact();
- for ( DependencyNode parent : parents )
- {
- if ( parent.getDependency() != null && artifact.equals( parent.getDependency().getArtifact() ) )
- {
- return;
- }
- }
- }
-
- parents.addLast( expected );
-
- assertEquals( "path: " + parents + ", expected: " + expected.getChildren() + ", actual: "
- + actual.getChildren(), expected.getChildren().size(), actual.getChildren().size() );
-
- Iterator<DependencyNode> iterator1 = expected.getChildren().iterator();
- Iterator<DependencyNode> iterator2 = actual.getChildren().iterator();
-
- while ( iterator1.hasNext() )
- {
- assertEqualSubtree( iterator1.next(), iterator2.next(), parents );
- }
-
- parents.removeLast();
- }
-
- private Dependency dep( DependencyNode root, int... coords )
- {
- return path( root, coords ).getDependency();
- }
-
- private DependencyNode path( DependencyNode root, int... coords )
- {
- try
- {
- DependencyNode node = root;
- for ( int coord : coords )
- {
- node = node.getChildren().get( coord );
- }
-
- return node;
- }
- catch ( IndexOutOfBoundsException e )
- {
- throw new IllegalArgumentException( "Illegal coordinates for child", e );
- }
- catch ( NullPointerException e )
- {
- throw new IllegalArgumentException( "Illegal coordinates for child", e );
- }
- }
-
- @Test
- public void testSimpleCollection()
- throws IOException, DependencyCollectionException
- {
- Dependency dependency = newDep( "gid:aid:ext:ver", "compile" );
- CollectRequest request = new CollectRequest( dependency, Arrays.asList( repository ) );
- CollectResult result = collector.collectDependencies( session, request );
-
- assertEquals( 0, result.getExceptions().size() );
-
- DependencyNode root = result.getRoot();
- Dependency newDependency = root.getDependency();
-
- assertEquals( dependency, newDependency );
- assertEquals( dependency.getArtifact(), newDependency.getArtifact() );
-
- assertEquals( 1, root.getChildren().size() );
-
- Dependency expect = newDep( "gid:aid2:ext:ver", "compile" );
- assertEquals( expect, root.getChildren().get( 0 ).getDependency() );
- }
-
- @Test
- public void testMissingDependencyDescription()
- throws IOException
- {
- CollectRequest request =
- new CollectRequest( newDep( "missing:description:ext:ver" ), Arrays.asList( repository ) );
- try
- {
- collector.collectDependencies( session, request );
- fail( "expected exception" );
- }
- catch ( DependencyCollectionException e )
- {
- CollectResult result = e.getResult();
- assertSame( request, result.getRequest() );
- assertNotNull( result.getExceptions() );
- assertEquals( 1, result.getExceptions().size() );
-
- assertTrue( result.getExceptions().get( 0 ) instanceof ArtifactDescriptorException );
-
- assertEquals( request.getRoot(), result.getRoot().getDependency() );
- }
- }
-
- @Test
- public void testDuplicates()
- throws IOException, DependencyCollectionException
- {
- Dependency dependency = newDep( "duplicate:transitive:ext:dependency" );
- CollectRequest request = new CollectRequest( dependency, Arrays.asList( repository ) );
-
- CollectResult result = collector.collectDependencies( session, request );
-
- assertEquals( 0, result.getExceptions().size() );
-
- DependencyNode root = result.getRoot();
- Dependency newDependency = root.getDependency();
-
- assertEquals( dependency, newDependency );
- assertEquals( dependency.getArtifact(), newDependency.getArtifact() );
-
- assertEquals( 2, root.getChildren().size() );
-
- Dependency dep = newDep( "gid:aid:ext:ver", "compile" );
- assertEquals( dep, dep( root, 0 ) );
-
- dep = newDep( "gid:aid2:ext:ver", "compile" );
- assertEquals( dep, dep( root, 1 ) );
- assertEquals( dep, dep( root, 0, 0 ) );
- assertEquals( dep( root, 1 ), dep( root, 0, 0 ) );
- }
-
- @Test
- public void testEqualSubtree()
- throws IOException, DependencyCollectionException
- {
- DependencyNode root = parser.parseResource( "expectedSubtreeComparisonResult.txt" );
- Dependency dependency = root.getDependency();
- CollectRequest request = new CollectRequest( dependency, Arrays.asList( repository ) );
-
- CollectResult result = collector.collectDependencies( session, request );
- assertEqualSubtree( root, result.getRoot() );
- }
-
- @Test
- public void testCyclicDependencies()
- throws Exception
- {
- DependencyNode root = parser.parseResource( "cycle.txt" );
- CollectRequest request = new CollectRequest( root.getDependency(), Arrays.asList( repository ) );
- CollectResult result = collector.collectDependencies( session, request );
- assertEqualSubtree( root, result.getRoot() );
- }
-
- @Test
- public void testCyclicDependenciesBig()
- throws Exception
- {
- CollectRequest request = new CollectRequest( newDep( "1:2:pom:5.50-SNAPSHOT" ), Arrays.asList( repository ) );
- collector.setArtifactDescriptorReader( newReader( "cycle-big/" ) );
- CollectResult result = collector.collectDependencies( session, request );
- assertNotNull( result.getRoot() );
- // we only care about the performance here, this test must not hang or run out of mem
- }
-
- @Test
- public void testCyclicProjects()
- throws Exception
- {
- CollectRequest request = new CollectRequest( newDep( "test:a:2" ), Arrays.asList( repository ) );
- collector.setArtifactDescriptorReader( newReader( "versionless-cycle/" ) );
- CollectResult result = collector.collectDependencies( session, request );
- DependencyNode root = result.getRoot();
- DependencyNode a1 = path( root, 0, 0 );
- assertEquals( "a", a1.getArtifact().getArtifactId() );
- assertEquals( "1", a1.getArtifact().getVersion() );
- for ( DependencyNode child : a1.getChildren() )
- {
- assertFalse( "1".equals( child.getArtifact().getVersion() ) );
- }
-
- assertEquals( 1, result.getCycles().size() );
- DependencyCycle cycle = result.getCycles().get( 0 );
- assertEquals( Arrays.asList(), cycle.getPrecedingDependencies() );
- assertEquals( Arrays.asList( root.getDependency(), path( root, 0 ).getDependency(), a1.getDependency() ),
- cycle.getCyclicDependencies() );
- }
-
- @Test
- public void testCyclicProjects_ConsiderLabelOfRootlessGraph()
- throws Exception
- {
- Dependency dep = newDep( "gid:aid:ver", "compile" );
- CollectRequest request =
- new CollectRequest().addDependency( dep ).addRepository( repository ).setRootArtifact( dep.getArtifact() );
- CollectResult result = collector.collectDependencies( session, request );
- DependencyNode root = result.getRoot();
- DependencyNode a1 = root.getChildren().get( 0 );
- assertEquals( "aid", a1.getArtifact().getArtifactId() );
- assertEquals( "ver", a1.getArtifact().getVersion() );
- DependencyNode a2 = a1.getChildren().get( 0 );
- assertEquals( "aid2", a2.getArtifact().getArtifactId() );
- assertEquals( "ver", a2.getArtifact().getVersion() );
-
- assertEquals( 1, result.getCycles().size() );
- DependencyCycle cycle = result.getCycles().get( 0 );
- assertEquals( Arrays.asList(), cycle.getPrecedingDependencies() );
- assertEquals( Arrays.asList( new Dependency( dep.getArtifact(), null ), a1.getDependency() ),
- cycle.getCyclicDependencies() );
- }
-
- @Test
- public void testPartialResultOnError()
- throws IOException
- {
- DependencyNode root = parser.parseResource( "expectedPartialSubtreeOnError.txt" );
-
- Dependency dependency = root.getDependency();
- CollectRequest request = new CollectRequest( dependency, Arrays.asList( repository ) );
-
- CollectResult result;
- try
- {
- result = collector.collectDependencies( session, request );
- fail( "expected exception " );
- }
- catch ( DependencyCollectionException e )
- {
- result = e.getResult();
-
- assertSame( request, result.getRequest() );
- assertNotNull( result.getExceptions() );
- assertEquals( 1, result.getExceptions().size() );
-
- assertTrue( result.getExceptions().get( 0 ) instanceof ArtifactDescriptorException );
-
- assertEqualSubtree( root, result.getRoot() );
- }
- }
-
- @Test
- public void testCollectMultipleDependencies()
- throws IOException, DependencyCollectionException
- {
- Dependency root1 = newDep( "gid:aid:ext:ver", "compile" );
- Dependency root2 = newDep( "gid:aid2:ext:ver", "compile" );
- List<Dependency> dependencies = Arrays.asList( root1, root2 );
- CollectRequest request = new CollectRequest( dependencies, null, Arrays.asList( repository ) );
- CollectResult result = collector.collectDependencies( session, request );
-
- assertEquals( 0, result.getExceptions().size() );
- assertEquals( 2, result.getRoot().getChildren().size() );
- assertEquals( root1, dep( result.getRoot(), 0 ) );
-
- assertEquals( 1, path( result.getRoot(), 0 ).getChildren().size() );
- assertEquals( root2, dep( result.getRoot(), 0, 0 ) );
-
- assertEquals( 0, path( result.getRoot(), 1 ).getChildren().size() );
- assertEquals( root2, dep( result.getRoot(), 1 ) );
- }
-
- @Test
- public void testArtifactDescriptorResolutionNotRestrictedToRepoHostingSelectedVersion()
- throws Exception
- {
- RemoteRepository repo2 = new RemoteRepository.Builder( "test", "default", "file:///" ).build();
-
- final List<RemoteRepository> repos = new ArrayList<RemoteRepository>();
-
- collector.setArtifactDescriptorReader( new ArtifactDescriptorReader()
- {
- public ArtifactDescriptorResult readArtifactDescriptor( RepositorySystemSession session,
- ArtifactDescriptorRequest request )
- throws ArtifactDescriptorException
- {
- repos.addAll( request.getRepositories() );
- return new ArtifactDescriptorResult( request );
- }
- } );
-
- List<Dependency> dependencies = Arrays.asList( newDep( "verrange:parent:jar:1[1,)", "compile" ) );
- CollectRequest request = new CollectRequest( dependencies, null, Arrays.asList( repository, repo2 ) );
- CollectResult result = collector.collectDependencies( session, request );
-
- assertEquals( 0, result.getExceptions().size() );
- assertEquals( 2, repos.size() );
- assertEquals( "id", repos.get( 0 ).getId() );
- assertEquals( "test", repos.get( 1 ).getId() );
- }
-
- @Test
- public void testManagedVersionScope()
- throws IOException, DependencyCollectionException
- {
- Dependency dependency = newDep( "managed:aid:ext:ver" );
- CollectRequest request = new CollectRequest( dependency, Arrays.asList( repository ) );
-
- session.setDependencyManager( new ClassicDependencyManager() );
-
- CollectResult result = collector.collectDependencies( session, request );
-
- assertEquals( 0, result.getExceptions().size() );
-
- DependencyNode root = result.getRoot();
-
- assertEquals( dependency, dep( root ) );
- assertEquals( dependency.getArtifact(), dep( root ).getArtifact() );
-
- assertEquals( 1, root.getChildren().size() );
- Dependency expect = newDep( "gid:aid:ext:ver", "compile" );
- assertEquals( expect, dep( root, 0 ) );
-
- assertEquals( 1, path( root, 0 ).getChildren().size() );
- expect = newDep( "gid:aid2:ext:managedVersion", "managedScope" );
- assertEquals( expect, dep( root, 0, 0 ) );
- }
-
- @Test
- public void testDependencyManagement()
- throws IOException, DependencyCollectionException
- {
- collector.setArtifactDescriptorReader( newReader( "managed/" ) );
-
- DependencyNode root = parser.parseResource( "expectedSubtreeComparisonResult.txt" );
- TestDependencyManager depMgmt = new TestDependencyManager();
- depMgmt.add( dep( root, 0 ), "managed", null, null );
- depMgmt.add( dep( root, 0, 1 ), "managed", "managed", null );
- depMgmt.add( dep( root, 1 ), null, null, "managed" );
- session.setDependencyManager( depMgmt );
-
- // collect result will differ from expectedSubtreeComparisonResult.txt
- // set localPath -> no dependency traversal
- CollectRequest request = new CollectRequest( dep( root ), Arrays.asList( repository ) );
- CollectResult result = collector.collectDependencies( session, request );
-
- DependencyNode node = result.getRoot();
- assertEquals( "managed", dep( node, 0, 1 ).getArtifact().getVersion() );
- assertEquals( "managed", dep( node, 0, 1 ).getScope() );
-
- assertEquals( "managed", dep( node, 1 ).getArtifact().getProperty( ArtifactProperties.LOCAL_PATH, null ) );
- assertEquals( "managed", dep( node, 0, 0 ).getArtifact().getProperty( ArtifactProperties.LOCAL_PATH, null ) );
- }
-
- @Test
- public void testDependencyManagement_VerboseMode()
- throws Exception
- {
- String depId = "gid:aid2:ext";
- TestDependencyManager depMgmt = new TestDependencyManager();
- depMgmt.version( depId, "managedVersion" );
- depMgmt.scope( depId, "managedScope" );
- depMgmt.optional( depId, Boolean.TRUE );
- depMgmt.path( depId, "managedPath" );
- depMgmt.exclusions( depId, new Exclusion( "gid", "aid", "*", "*" ) );
- session.setDependencyManager( depMgmt );
- session.setConfigProperty( DependencyManagerUtils.CONFIG_PROP_VERBOSE, Boolean.TRUE );
-
- CollectRequest request = new CollectRequest().setRoot( newDep( "gid:aid:ver" ) );
- CollectResult result = collector.collectDependencies( session, request );
- DependencyNode node = result.getRoot().getChildren().get( 0 );
- assertEquals( DependencyNode.MANAGED_VERSION | DependencyNode.MANAGED_SCOPE | DependencyNode.MANAGED_OPTIONAL
- | DependencyNode.MANAGED_PROPERTIES | DependencyNode.MANAGED_EXCLUSIONS, node.getManagedBits() );
- assertEquals( "ver", DependencyManagerUtils.getPremanagedVersion( node ) );
- assertEquals( "compile", DependencyManagerUtils.getPremanagedScope( node ) );
- assertEquals( Boolean.FALSE, DependencyManagerUtils.getPremanagedOptional( node ) );
- }
-
- @Test
- public void testDependencyManagement_TransitiveDependencyManager()
- throws DependencyCollectionException, IOException
- {
- collector.setArtifactDescriptorReader( newReader( "managed/" ) );
- parser = new DependencyGraphParser( "artifact-descriptions/managed/" );
- session.setDependencyManager( new TransitiveDependencyManager() );
- final Dependency root = newDep( "gid:0:ext:ver" );
- CollectRequest request = new CollectRequest( root, Arrays.asList( repository ) );
- CollectResult result = collector.collectDependencies( session, request );
-
- DependencyNode expected = parser.parseResource( "management-tree.txt" );
- assertEqualSubtree( expected, result.getRoot() );
- }
-
- @Test
- public void testDependencyManagement_DependencySelectorProcessesManagedState()
- throws DependencyCollectionException, IOException
- {
- collector.setArtifactDescriptorReader( newReader( "selection/managed/" ) );
- parser = new DependencyGraphParser( "artifact-descriptions/selection/managed/" );
-
- final Dependency root = newDep( "gid:root:ext:ver", "root-scope" );
- CollectRequest request = new CollectRequest( root, Arrays.asList( repository ) );
- CollectResult result = collector.collectDependencies( session, request );
-
- DependencyNode expected = parser.parseResource( "all-nodes.txt" );
- assertEqualSubtree( expected, result.getRoot() );
-
- this.session.setDependencySelector( new DependencySelector()
- {
-
- public boolean selectDependency( final Dependency dependency )
- {
- return dependency != null
- && !( "managed".equals( dependency.getScope() )
- || "managed".equals( dependency.getArtifact().getVersion() )
- || dependency.isOptional() );
-
- }
-
- public DependencySelector deriveChildSelector( final DependencyCollectionContext context )
- {
- return this;
- }
-
- } );
-
- // Tests managed scope is processed by selector.
- TestDependencyManager depMgmt = new TestDependencyManager();
- depMgmt.scope( "gid:transitive-of-transitive-of-root:ext", "managed" );
- session.setDependencyManager( depMgmt );
-
- expected = parser.parseResource( "transitive-of-transitive-of-root.txt" );
-
- request = new CollectRequest( root, Arrays.asList( repository ) );
- result = collector.collectDependencies( session, request );
-
- assertEqualSubtree( expected, result.getRoot() );
-
- depMgmt = new TestDependencyManager();
- depMgmt.scope( "gid:transitive-of-root:ext", "managed" );
- session.setDependencyManager( depMgmt );
-
- expected = parser.parseResource( "transitive-of-root.txt" );
-
- request = new CollectRequest( root, Arrays.asList( repository ) );
- result = collector.collectDependencies( session, request );
-
- assertEqualSubtree( expected, result.getRoot() );
-
- depMgmt = new TestDependencyManager();
- depMgmt.scope( "gid:direct-of-root:ext", "managed" );
- session.setDependencyManager( depMgmt );
-
- expected = parser.parseResource( "direct-of-root.txt" );
-
- request = new CollectRequest( root, Arrays.asList( repository ) );
- result = collector.collectDependencies( session, request );
-
- assertEqualSubtree( expected, result.getRoot() );
-
- // Tests managed optionality is processed by selector.
- depMgmt = new TestDependencyManager();
- depMgmt.optional( "gid:transitive-of-transitive-of-root:ext", Boolean.TRUE );
- session.setDependencyManager( depMgmt );
-
- expected = parser.parseResource( "transitive-of-transitive-of-root.txt" );
-
- request = new CollectRequest( root, Arrays.asList( repository ) );
- result = collector.collectDependencies( session, request );
-
- assertEqualSubtree( expected, result.getRoot() );
-
- depMgmt = new TestDependencyManager();
- depMgmt.optional( "gid:transitive-of-root:ext", Boolean.TRUE );
- session.setDependencyManager( depMgmt );
-
- expected = parser.parseResource( "transitive-of-root.txt" );
-
- request = new CollectRequest( root, Arrays.asList( repository ) );
- result = collector.collectDependencies( session, request );
-
- assertEqualSubtree( expected, result.getRoot() );
-
- depMgmt = new TestDependencyManager();
- depMgmt.optional( "gid:direct-of-root:ext", Boolean.TRUE );
- session.setDependencyManager( depMgmt );
-
- expected = parser.parseResource( "direct-of-root.txt" );
-
- request = new CollectRequest( root, Arrays.asList( repository ) );
- result = collector.collectDependencies( session, request );
-
- assertEqualSubtree( expected, result.getRoot() );
-
- // Tests managed version is processed by selector.
- depMgmt = new TestDependencyManager();
- depMgmt.version( "gid:transitive-of-transitive-of-root:ext", "managed" );
- session.setDependencyManager( depMgmt );
-
- expected = parser.parseResource( "transitive-of-transitive-of-root.txt" );
-
- request = new CollectRequest( root, Arrays.asList( repository ) );
- result = collector.collectDependencies( session, request );
-
- assertEqualSubtree( expected, result.getRoot() );
-
- depMgmt = new TestDependencyManager();
- depMgmt.version( "gid:transitive-of-root:ext", "managed" );
- session.setDependencyManager( depMgmt );
-
- expected = parser.parseResource( "transitive-of-root.txt" );
-
- request = new CollectRequest( root, Arrays.asList( repository ) );
- result = collector.collectDependencies( session, request );
-
- assertEqualSubtree( expected, result.getRoot() );
-
- depMgmt = new TestDependencyManager();
- depMgmt.version( "gid:direct-of-root:ext", "managed" );
- session.setDependencyManager( depMgmt );
-
- expected = parser.parseResource( "direct-of-root.txt" );
-
- request = new CollectRequest( root, Arrays.asList( repository ) );
- result = collector.collectDependencies( session, request );
-
- assertEqualSubtree( expected, result.getRoot() );
- }
-
- @Test
- public void testVersionFilter()
- throws Exception
- {
- session.setVersionFilter( new HighestVersionFilter() );
- CollectRequest request = new CollectRequest().setRoot( newDep( "gid:aid:1" ) );
- CollectResult result = collector.collectDependencies( session, request );
- assertEquals( 1, result.getRoot().getChildren().size() );
- }
-
- @Test
- public void testSelectionWithScopeDependencySelector()
- throws DependencyCollectionException, IOException
- {
- collector.setArtifactDescriptorReader( newReader( "selection/scope/" ) );
- parser = new DependencyGraphParser( "artifact-descriptions/selection/scope/" );
-
- final Dependency root = newDep( "gid:root:ext:ver", "root-scope" );
- CollectRequest request = new CollectRequest( root, Arrays.asList( repository ) );
- CollectResult result = collector.collectDependencies( session, request );
-
- DependencyNode expected = parser.parseResource( "all-nodes.txt" );
- assertEqualSubtree( expected, result.getRoot() );
-
- /*
- A dependency selector that filters transitive dependencies based on their scope. Direct dependencies are always
- included regardless of their scope.
- */
- // Include all.
- this.session.setDependencySelector( new ScopeDependencySelector() );
-
- request = new CollectRequest( root, Arrays.asList( repository ) );
- result = collector.collectDependencies( session, request );
-
- assertEqualSubtree( expected, result.getRoot() );
-
- // Exclude scope of direct dependency of root equals "include all" as direct dependencies are always included.
- this.session.setDependencySelector( new ScopeDependencySelector( "direct-of-root-scope" ) );
-
- request = new CollectRequest( root, Arrays.asList( repository ) );
- result = collector.collectDependencies( session, request );
-
- assertEqualSubtree( expected, result.getRoot() );
-
- // Exclude scope of transitive dependency of direct dependency of root.
- expected = parser.parseResource( "transitive-of-root-scope-exclusion-tree.txt" );
- this.session.setDependencySelector( new ScopeDependencySelector( "transitive-of-root-scope" ) );
-
- request = new CollectRequest( root, Arrays.asList( repository ) );
- result = collector.collectDependencies( session, request );
-
- assertEqualSubtree( expected, result.getRoot() );
-
- // Exclude scope of transitive dependency of transitive dependency of direct dependency of root.
- expected = parser.parseResource( "transitive-of-transitive-of-root-exclusion-tree.txt" );
- this.session.setDependencySelector( new ScopeDependencySelector( "transitive-of-transitive-of-root-scope" ) );
-
- request = new CollectRequest( root, Arrays.asList( repository ) );
- result = collector.collectDependencies( session, request );
-
- assertEqualSubtree( expected, result.getRoot() );
- }
-
- @Test
- public void testSelectionWithOptionalDependencySelector()
- throws DependencyCollectionException, IOException
- {
- collector.setArtifactDescriptorReader( newReader( "selection/optional/" ) );
- parser = new DependencyGraphParser( "artifact-descriptions/selection/optional/" );
-
- final Dependency root = newDep( "gid:root:ext:ver", "root-scope" );
- CollectRequest request = new CollectRequest( root, Arrays.asList( repository ) );
- CollectResult result = collector.collectDependencies( session, request );
-
- DependencyNode expected = parser.parseResource( "no-selector-tree.txt" );
- assertEqualSubtree( expected, result.getRoot() );
-
- // Exclude optional transitive dependencies.
- expected = parser.parseResource( "optional-exclusion-tree.txt" );
- this.session.setDependencySelector( new OptionalDependencySelector() );
-
- request = new CollectRequest( root, Arrays.asList( repository ) );
- result = collector.collectDependencies( session, request );
-
- assertEqualSubtree( expected, result.getRoot() );
- }
-
- static class TestDependencyManager
- implements DependencyManager
- {
-
- private Map<String, String> versions = new HashMap<String, String>();
-
- private Map<String, String> scopes = new HashMap<String, String>();
-
- private Map<String, Boolean> optionals = new HashMap<String, Boolean>();
-
- private Map<String, String> paths = new HashMap<String, String>();
-
- private Map<String, Collection<Exclusion>> exclusions = new HashMap<String, Collection<Exclusion>>();
-
- public void add( Dependency d, String version, String scope, String localPath )
- {
- String id = toKey( d );
- version( id, version );
- scope( id, scope );
- path( id, localPath );
- }
-
- public void version( String id, String version )
- {
- versions.put( id, version );
- }
-
- public void scope( String id, String scope )
- {
- scopes.put( id, scope );
- }
-
- public void optional( String id, Boolean optional )
- {
- optionals.put( id, optional );
- }
-
- public void path( String id, String path )
- {
- paths.put( id, path );
- }
-
- public void exclusions( String id, Exclusion... exclusions )
- {
- this.exclusions.put( id, exclusions != null ? Arrays.asList( exclusions ) : null );
- }
-
- public DependencyManagement manageDependency( Dependency d )
- {
- String id = toKey( d );
- DependencyManagement mgmt = new DependencyManagement();
- mgmt.setVersion( versions.get( id ) );
- mgmt.setScope( scopes.get( id ) );
- mgmt.setOptional( optionals.get( id ) );
- String path = paths.get( id );
- if ( path != null )
- {
- mgmt.setProperties( Collections.singletonMap( ArtifactProperties.LOCAL_PATH, path ) );
- }
- mgmt.setExclusions( exclusions.get( id ) );
- return mgmt;
- }
-
- private String toKey( Dependency dependency )
- {
- return ArtifactIdUtils.toVersionlessId( dependency.getArtifact() );
- }
-
- public DependencyManager deriveChildManager( DependencyCollectionContext context )
- {
- return this;
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultDeployerTest.java
----------------------------------------------------------------------
diff --git a/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultDeployerTest.java b/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultDeployerTest.java
deleted file mode 100644
index 9465e87..0000000
--- a/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultDeployerTest.java
+++ /dev/null
@@ -1,385 +0,0 @@
-package org.eclipse.aether.internal.impl;
-
-/*
- * 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 static org.junit.Assert.*;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.RepositoryEvent;
-import org.eclipse.aether.RepositoryEvent.EventType;
-import org.eclipse.aether.RepositoryException;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.eclipse.aether.deployment.DeployRequest;
-import org.eclipse.aether.deployment.DeploymentException;
-import org.eclipse.aether.internal.impl.DefaultDeployer;
-import org.eclipse.aether.internal.test.util.TestFileProcessor;
-import org.eclipse.aether.internal.test.util.TestFileUtils;
-import org.eclipse.aether.internal.test.util.TestUtils;
-import org.eclipse.aether.metadata.DefaultMetadata;
-import org.eclipse.aether.metadata.MergeableMetadata;
-import org.eclipse.aether.metadata.Metadata;
-import org.eclipse.aether.metadata.Metadata.Nature;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.spi.connector.ArtifactDownload;
-import org.eclipse.aether.spi.connector.ArtifactUpload;
-import org.eclipse.aether.spi.connector.MetadataDownload;
-import org.eclipse.aether.spi.connector.MetadataUpload;
-import org.eclipse.aether.spi.connector.RepositoryConnector;
-import org.eclipse.aether.transfer.MetadataNotFoundException;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class DefaultDeployerTest
-{
-
- private Artifact artifact;
-
- private DefaultMetadata metadata;
-
- private DefaultRepositorySystemSession session;
-
- private StubRepositoryConnectorProvider connectorProvider;
-
- private DefaultDeployer deployer;
-
- private DeployRequest request;
-
- private RecordingRepositoryConnector connector;
-
- private RecordingRepositoryListener listener;
-
- @Before
- public void setup()
- throws IOException
- {
- artifact = new DefaultArtifact( "gid", "aid", "jar", "ver" );
- artifact = artifact.setFile( TestFileUtils.createTempFile( "artifact" ) );
- metadata =
- new DefaultMetadata( "gid", "aid", "ver", "type", Nature.RELEASE_OR_SNAPSHOT,
- TestFileUtils.createTempFile( "metadata" ) );
-
- session = TestUtils.newSession();
- connectorProvider = new StubRepositoryConnectorProvider();
-
- deployer = new DefaultDeployer();
- deployer.setRepositoryConnectorProvider( connectorProvider );
- deployer.setRemoteRepositoryManager( new StubRemoteRepositoryManager() );
- deployer.setRepositoryEventDispatcher( new StubRepositoryEventDispatcher() );
- deployer.setUpdateCheckManager( new StaticUpdateCheckManager( true ) );
- deployer.setFileProcessor( new TestFileProcessor() );
- deployer.setSyncContextFactory( new StubSyncContextFactory() );
- deployer.setOfflineController( new DefaultOfflineController() );
-
- request = new DeployRequest();
- request.setRepository( new RemoteRepository.Builder( "id", "default", "file:///" ).build() );
- connector = new RecordingRepositoryConnector( session );
- connectorProvider.setConnector( connector );
-
- listener = new RecordingRepositoryListener();
- session.setRepositoryListener( listener );
- }
-
- @After
- public void teardown()
- throws Exception
- {
- if ( session.getLocalRepository() != null )
- {
- TestFileUtils.deleteFile( session.getLocalRepository().getBasedir() );
- }
- session = null;
- listener = null;
- connector = null;
- connectorProvider = null;
- deployer = null;
- }
-
- @Test
- public void testSuccessfulDeploy()
- throws DeploymentException
- {
-
- connector.setExpectPut( artifact );
- connector.setExpectPut( metadata );
-
- request.addArtifact( artifact );
- request.addMetadata( metadata );
-
- deployer.deploy( session, request );
-
- connector.assertSeenExpected();
- }
-
- @Test( expected = DeploymentException.class )
- public void testNullArtifactFile()
- throws DeploymentException
- {
- request.addArtifact( artifact.setFile( null ) );
- deployer.deploy( session, request );
- }
-
- @Test( expected = DeploymentException.class )
- public void testNullMetadataFile()
- throws DeploymentException
- {
- request.addArtifact( artifact.setFile( null ) );
- deployer.deploy( session, request );
- }
-
- @Test
- public void testSuccessfulArtifactEvents()
- throws DeploymentException
- {
- request.addArtifact( artifact );
-
- deployer.deploy( session, request );
-
- List<RepositoryEvent> events = listener.getEvents();
- assertEquals( 2, events.size() );
-
- RepositoryEvent event = events.get( 0 );
- assertEquals( EventType.ARTIFACT_DEPLOYING, event.getType() );
- assertEquals( artifact, event.getArtifact() );
- assertNull( event.getException() );
-
- event = events.get( 1 );
- assertEquals( EventType.ARTIFACT_DEPLOYED, event.getType() );
- assertEquals( artifact, event.getArtifact() );
- assertNull( event.getException() );
- }
-
- @Test
- public void testFailingArtifactEvents()
- {
- connector.fail = true;
-
- request.addArtifact( artifact );
-
- try
- {
- deployer.deploy( session, request );
- fail( "expected exception" );
- }
- catch ( DeploymentException e )
- {
- List<RepositoryEvent> events = listener.getEvents();
- assertEquals( 2, events.size() );
-
- RepositoryEvent event = events.get( 0 );
- assertEquals( EventType.ARTIFACT_DEPLOYING, event.getType() );
- assertEquals( artifact, event.getArtifact() );
- assertNull( event.getException() );
-
- event = events.get( 1 );
- assertEquals( EventType.ARTIFACT_DEPLOYED, event.getType() );
- assertEquals( artifact, event.getArtifact() );
- assertNotNull( event.getException() );
- }
- }
-
- @Test
- public void testSuccessfulMetadataEvents()
- throws DeploymentException
- {
- request.addMetadata( metadata );
-
- deployer.deploy( session, request );
-
- List<RepositoryEvent> events = listener.getEvents();
- assertEquals( 2, events.size() );
-
- RepositoryEvent event = events.get( 0 );
- assertEquals( EventType.METADATA_DEPLOYING, event.getType() );
- assertEquals( metadata, event.getMetadata() );
- assertNull( event.getException() );
-
- event = events.get( 1 );
- assertEquals( EventType.METADATA_DEPLOYED, event.getType() );
- assertEquals( metadata, event.getMetadata() );
- assertNull( event.getException() );
- }
-
- @Test
- public void testFailingMetdataEvents()
- {
- connector.fail = true;
-
- request.addMetadata( metadata );
-
- try
- {
- deployer.deploy( session, request );
- fail( "expected exception" );
- }
- catch ( DeploymentException e )
- {
- List<RepositoryEvent> events = listener.getEvents();
- assertEquals( 2, events.size() );
-
- RepositoryEvent event = events.get( 0 );
- assertEquals( EventType.METADATA_DEPLOYING, event.getType() );
- assertEquals( metadata, event.getMetadata() );
- assertNull( event.getException() );
-
- event = events.get( 1 );
- assertEquals( EventType.METADATA_DEPLOYED, event.getType() );
- assertEquals( metadata, event.getMetadata() );
- assertNotNull( event.getException() );
- }
- }
-
- @Test
- public void testStaleLocalMetadataCopyGetsDeletedBeforeMergeWhenMetadataIsNotCurrentlyPresentInRemoteRepo()
- throws Exception
- {
- MergeableMetadata metadata = new MergeableMetadata()
- {
-
- public Metadata setFile( File file )
- {
- return this;
- }
-
- public String getVersion()
- {
- return "";
- }
-
- public String getType()
- {
- return "test.properties";
- }
-
- public Nature getNature()
- {
- return Nature.RELEASE;
- }
-
- public String getGroupId()
- {
- return "org";
- }
-
- public File getFile()
- {
- return null;
- }
-
- public String getArtifactId()
- {
- return "aether";
- }
-
- public Metadata setProperties( Map<String, String> properties )
- {
- return this;
- }
-
- public Map<String, String> getProperties()
- {
- return Collections.emptyMap();
- }
-
- public String getProperty( String key, String defaultValue )
- {
- return defaultValue;
- }
-
- public void merge( File current, File result )
- throws RepositoryException
- {
- Properties props = new Properties();
-
- try
- {
- if ( current.isFile() )
- {
- TestFileUtils.readProps( current, props );
- }
-
- props.setProperty( "new", "value" );
-
- TestFileUtils.writeProps( result, props );
- }
- catch ( IOException e )
- {
- throw new RepositoryException( e.getMessage(), e );
- }
- }
-
- public boolean isMerged()
- {
- return false;
- }
- };
-
- connectorProvider.setConnector( new RepositoryConnector()
- {
-
- public void put( Collection<? extends ArtifactUpload> artifactUploads,
- Collection<? extends MetadataUpload> metadataUploads )
- {
- }
-
- public void get( Collection<? extends ArtifactDownload> artifactDownloads,
- Collection<? extends MetadataDownload> metadataDownloads )
- {
- if ( metadataDownloads != null )
- {
- for ( MetadataDownload download : metadataDownloads )
- {
- download.setException( new MetadataNotFoundException( download.getMetadata(), null, null ) );
- }
- }
- }
-
- public void close()
- {
- }
- } );
-
- request.addMetadata( metadata );
-
- File metadataFile =
- new File( session.getLocalRepository().getBasedir(),
- session.getLocalRepositoryManager().getPathForRemoteMetadata( metadata, request.getRepository(),
- "" ) );
- Properties props = new Properties();
- props.setProperty( "old", "value" );
- TestFileUtils.writeProps( metadataFile, props );
-
- deployer.deploy( session, request );
-
- props = new Properties();
- TestFileUtils.readProps( metadataFile, props );
- assertNull( props.toString(), props.get( "old" ) );
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultFileProcessorTest.java
----------------------------------------------------------------------
diff --git a/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultFileProcessorTest.java b/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultFileProcessorTest.java
deleted file mode 100644
index 3f8ab5e..0000000
--- a/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultFileProcessorTest.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package org.eclipse.aether.internal.impl;
-
-/*
- * 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 static org.junit.Assert.*;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.eclipse.aether.internal.impl.DefaultFileProcessor;
-import org.eclipse.aether.internal.test.util.TestFileUtils;
-import org.eclipse.aether.spi.io.FileProcessor.ProgressListener;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- */
-public class DefaultFileProcessorTest
-{
-
- private File targetDir;
-
- private DefaultFileProcessor fileProcessor;
-
- @Before
- public void setup()
- throws IOException
- {
- targetDir = TestFileUtils.createTempDir( getClass().getSimpleName() );
- fileProcessor = new DefaultFileProcessor();
- }
-
- @After
- public void teardown()
- throws Exception
- {
- TestFileUtils.deleteFile( targetDir );
- fileProcessor = null;
- }
-
- @Test
- public void testCopy()
- throws IOException
- {
- String data = "testCopy\nasdf";
- File file = TestFileUtils.createTempFile( data );
- File target = new File( targetDir, "testCopy.txt" );
-
- fileProcessor.copy( file, target );
-
- assertEquals( data, TestFileUtils.readString( file ) );
-
- file.delete();
- }
-
- @Test
- public void testOverwrite()
- throws IOException
- {
- String data = "testCopy\nasdf";
- File file = TestFileUtils.createTempFile( data );
-
- for ( int i = 0; i < 5; i++ )
- {
- File target = new File( targetDir, "testCopy.txt" );
- fileProcessor.copy( file, target );
- assertEquals( data, TestFileUtils.readString( file ) );
- }
-
- file.delete();
- }
-
- @Test
- public void testCopyEmptyFile()
- throws IOException
- {
- File file = TestFileUtils.createTempFile( "" );
- File target = new File( targetDir, "testCopyEmptyFile" );
- target.delete();
- fileProcessor.copy( file, target );
- assertTrue( "empty file was not copied", target.exists() && target.length() == 0 );
- target.delete();
- }
-
- @Test
- public void testProgressingChannel()
- throws IOException
- {
- File file = TestFileUtils.createTempFile( "test" );
- File target = new File( targetDir, "testProgressingChannel" );
- target.delete();
- final AtomicInteger progressed = new AtomicInteger();
- ProgressListener listener = new ProgressListener()
- {
- public void progressed( ByteBuffer buffer )
- throws IOException
- {
- progressed.addAndGet( buffer.remaining() );
- }
- };
- fileProcessor.copy( file, target, listener );
- assertTrue( "file was not created", target.isFile() );
- assertEquals( "file was not fully copied", 4, target.length() );
- assertEquals( "listener not called", 4, progressed.intValue() );
- target.delete();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultInstallerTest.java
----------------------------------------------------------------------
diff --git a/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultInstallerTest.java b/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultInstallerTest.java
deleted file mode 100644
index 99d57bc..0000000
--- a/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultInstallerTest.java
+++ /dev/null
@@ -1,414 +0,0 @@
-package org.eclipse.aether.internal.impl;
-
-/*
- * 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 static org.junit.Assert.*;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.util.List;
-
-import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.RepositoryEvent;
-import org.eclipse.aether.RepositoryEvent.EventType;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.eclipse.aether.installation.InstallRequest;
-import org.eclipse.aether.installation.InstallResult;
-import org.eclipse.aether.installation.InstallationException;
-import org.eclipse.aether.internal.impl.DefaultFileProcessor;
-import org.eclipse.aether.internal.impl.DefaultInstaller;
-import org.eclipse.aether.internal.test.util.TestFileProcessor;
-import org.eclipse.aether.internal.test.util.TestFileUtils;
-import org.eclipse.aether.internal.test.util.TestLocalRepositoryManager;
-import org.eclipse.aether.internal.test.util.TestUtils;
-import org.eclipse.aether.metadata.DefaultMetadata;
-import org.eclipse.aether.metadata.Metadata;
-import org.eclipse.aether.metadata.Metadata.Nature;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class DefaultInstallerTest
-{
-
- private Artifact artifact;
-
- private Metadata metadata;
-
- private DefaultRepositorySystemSession session;
-
- private String localArtifactPath;
-
- private String localMetadataPath;
-
- private DefaultInstaller installer;
-
- private InstallRequest request;
-
- private RecordingRepositoryListener listener;
-
- private File localArtifactFile;
-
- private TestLocalRepositoryManager lrm;
-
- @Before
- public void setup()
- throws IOException
- {
- artifact = new DefaultArtifact( "gid", "aid", "jar", "ver" );
- artifact = artifact.setFile( TestFileUtils.createTempFile( "artifact".getBytes(), 1 ) );
- metadata =
- new DefaultMetadata( "gid", "aid", "ver", "type", Nature.RELEASE_OR_SNAPSHOT,
- TestFileUtils.createTempFile( "metadata".getBytes(), 1 ) );
-
- session = TestUtils.newSession();
- localArtifactPath = session.getLocalRepositoryManager().getPathForLocalArtifact( artifact );
- localMetadataPath = session.getLocalRepositoryManager().getPathForLocalMetadata( metadata );
-
- localArtifactFile = new File( session.getLocalRepository().getBasedir(), localArtifactPath );
-
- installer = new DefaultInstaller();
- installer.setFileProcessor( new TestFileProcessor() );
- installer.setRepositoryEventDispatcher( new StubRepositoryEventDispatcher() );
- installer.setSyncContextFactory( new StubSyncContextFactory() );
- request = new InstallRequest();
- listener = new RecordingRepositoryListener();
- session.setRepositoryListener( listener );
-
- lrm = (TestLocalRepositoryManager) session.getLocalRepositoryManager();
-
- TestFileUtils.deleteFile( session.getLocalRepository().getBasedir() );
- }
-
- @After
- public void teardown()
- throws Exception
- {
- TestFileUtils.deleteFile( session.getLocalRepository().getBasedir() );
- }
-
- @Test
- public void testSuccessfulInstall()
- throws InstallationException, UnsupportedEncodingException, IOException
- {
- File artifactFile =
- new File( session.getLocalRepositoryManager().getRepository().getBasedir(), localArtifactPath );
- File metadataFile =
- new File( session.getLocalRepositoryManager().getRepository().getBasedir(), localMetadataPath );
-
- artifactFile.delete();
- metadataFile.delete();
-
- request.addArtifact( artifact );
- request.addMetadata( metadata );
-
- InstallResult result = installer.install( session, request );
-
- assertTrue( artifactFile.exists() );
- assertEquals( "artifact", TestFileUtils.readString( artifactFile ) );
-
- assertTrue( metadataFile.exists() );
- assertEquals( "metadata", TestFileUtils.readString( metadataFile ) );
-
- assertEquals( result.getRequest(), request );
-
- assertEquals( result.getArtifacts().size(), 1 );
- assertTrue( result.getArtifacts().contains( artifact ) );
-
- assertEquals( result.getMetadata().size(), 1 );
- assertTrue( result.getMetadata().contains( metadata ) );
-
- assertEquals( 1, lrm.getMetadataRegistration().size() );
- assertTrue( lrm.getMetadataRegistration().contains( metadata ) );
- assertEquals( 1, lrm.getArtifactRegistration().size() );
- assertTrue( lrm.getArtifactRegistration().contains( artifact ) );
- }
-
- @Test( expected = InstallationException.class )
- public void testNullArtifactFile()
- throws InstallationException
- {
- InstallRequest request = new InstallRequest();
- request.addArtifact( artifact.setFile( null ) );
-
- installer.install( session, request );
- }
-
- @Test( expected = InstallationException.class )
- public void testNullMetadataFile()
- throws InstallationException
- {
- InstallRequest request = new InstallRequest();
- request.addMetadata( metadata.setFile( null ) );
-
- installer.install( session, request );
- }
-
- @Test( expected = InstallationException.class )
- public void testNonExistentArtifactFile()
- throws InstallationException
- {
- InstallRequest request = new InstallRequest();
- request.addArtifact( artifact.setFile( new File( "missing.txt" ) ) );
-
- installer.install( session, request );
- }
-
- @Test( expected = InstallationException.class )
- public void testNonExistentMetadataFile()
- throws InstallationException
- {
- InstallRequest request = new InstallRequest();
- request.addMetadata( metadata.setFile( new File( "missing.xml" ) ) );
-
- installer.install( session, request );
- }
-
- @Test( expected = InstallationException.class )
- public void testArtifactExistsAsDir()
- throws InstallationException
- {
- String path = session.getLocalRepositoryManager().getPathForLocalArtifact( artifact );
- File file = new File( session.getLocalRepository().getBasedir(), path );
- assertFalse( file.getAbsolutePath() + " is a file, not directory", file.isFile() );
- assertFalse( file.getAbsolutePath() + " already exists", file.exists() );
- assertTrue( "failed to setup test: could not create " + file.getAbsolutePath(),
- file.mkdirs() || file.isDirectory() );
-
- request.addArtifact( artifact );
- installer.install( session, request );
- }
-
- @Test( expected = InstallationException.class )
- public void testMetadataExistsAsDir()
- throws InstallationException
- {
- String path = session.getLocalRepositoryManager().getPathForLocalMetadata( metadata );
- assertTrue( "failed to setup test: could not create " + path,
- new File( session.getLocalRepository().getBasedir(), path ).mkdirs() );
-
- request.addMetadata( metadata );
- installer.install( session, request );
- }
-
- @Test( expected = InstallationException.class )
- public void testArtifactDestinationEqualsSource()
- throws Exception
- {
- String path = session.getLocalRepositoryManager().getPathForLocalArtifact( artifact );
- File file = new File( session.getLocalRepository().getBasedir(), path );
- artifact = artifact.setFile( file );
- TestFileUtils.writeString( file, "test" );
-
- request.addArtifact( artifact );
- installer.install( session, request );
- }
-
- @Test( expected = InstallationException.class )
- public void testMetadataDestinationEqualsSource()
- throws Exception
- {
- String path = session.getLocalRepositoryManager().getPathForLocalMetadata( metadata );
- File file = new File( session.getLocalRepository().getBasedir(), path );
- metadata = metadata.setFile( file );
- TestFileUtils.writeString( file, "test" );
-
- request.addMetadata( metadata );
- installer.install( session, request );
- }
-
- @Test
- public void testSuccessfulArtifactEvents()
- throws InstallationException
- {
- InstallRequest request = new InstallRequest();
- request.addArtifact( artifact );
-
- installer.install( session, request );
- checkEvents( "Repository Event problem", artifact, false );
- }
-
- @Test
- public void testSuccessfulMetadataEvents()
- throws InstallationException
- {
- InstallRequest request = new InstallRequest();
- request.addMetadata( metadata );
-
- installer.install( session, request );
- checkEvents( "Repository Event problem", metadata, false );
- }
-
- @Test
- public void testFailingEventsNullArtifactFile()
- {
- checkFailedEvents( "null artifact file", this.artifact.setFile( null ) );
- }
-
- @Test
- public void testFailingEventsNullMetadataFile()
- {
- checkFailedEvents( "null metadata file", this.metadata.setFile( null ) );
- }
-
- @Test
- public void testFailingEventsArtifactExistsAsDir()
- {
- String path = session.getLocalRepositoryManager().getPathForLocalArtifact( artifact );
- assertTrue( "failed to setup test: could not create " + path,
- new File( session.getLocalRepository().getBasedir(), path ).mkdirs() );
- checkFailedEvents( "target exists as dir", artifact );
- }
-
- @Test
- public void testFailingEventsMetadataExistsAsDir()
- {
- String path = session.getLocalRepositoryManager().getPathForLocalMetadata( metadata );
- assertTrue( "failed to setup test: could not create " + path,
- new File( session.getLocalRepository().getBasedir(), path ).mkdirs() );
- checkFailedEvents( "target exists as dir", metadata );
- }
-
- private void checkFailedEvents( String msg, Metadata metadata )
- {
- InstallRequest request = new InstallRequest().addMetadata( metadata );
- msg = "Repository events problem (case: " + msg + ")";
-
- try
- {
- installer.install( session, request );
- fail( "expected exception" );
- }
- catch ( InstallationException e )
- {
- checkEvents( msg, metadata, true );
- }
-
- }
-
- private void checkEvents( String msg, Metadata metadata, boolean failed )
- {
- List<RepositoryEvent> events = listener.getEvents();
- assertEquals( msg, 2, events.size() );
- RepositoryEvent event = events.get( 0 );
- assertEquals( msg, EventType.METADATA_INSTALLING, event.getType() );
- assertEquals( msg, metadata, event.getMetadata() );
- assertNull( msg, event.getException() );
-
- event = events.get( 1 );
- assertEquals( msg, EventType.METADATA_INSTALLED, event.getType() );
- assertEquals( msg, metadata, event.getMetadata() );
- if ( failed )
- {
- assertNotNull( msg, event.getException() );
- }
- else
- {
- assertNull( msg, event.getException() );
- }
- }
-
- private void checkFailedEvents( String msg, Artifact artifact )
- {
- InstallRequest request = new InstallRequest().addArtifact( artifact );
- msg = "Repository events problem (case: " + msg + ")";
-
- try
- {
- installer.install( session, request );
- fail( "expected exception" );
- }
- catch ( InstallationException e )
- {
- checkEvents( msg, artifact, true );
- }
- }
-
- private void checkEvents( String msg, Artifact artifact, boolean failed )
- {
- List<RepositoryEvent> events = listener.getEvents();
- assertEquals( msg, 2, events.size() );
- RepositoryEvent event = events.get( 0 );
- assertEquals( msg, EventType.ARTIFACT_INSTALLING, event.getType() );
- assertEquals( msg, artifact, event.getArtifact() );
- assertNull( msg, event.getException() );
-
- event = events.get( 1 );
- assertEquals( msg, EventType.ARTIFACT_INSTALLED, event.getType() );
- assertEquals( msg, artifact, event.getArtifact() );
- if ( failed )
- {
- assertNotNull( msg + " > expected exception", event.getException() );
- }
- else
- {
- assertNull( msg + " > " + event.getException(), event.getException() );
- }
- }
-
- @Test
- public void testDoNotUpdateUnchangedArtifact()
- throws InstallationException
- {
- request.addArtifact( artifact );
- installer.install( session, request );
-
- installer.setFileProcessor( new DefaultFileProcessor()
- {
- @Override
- public long copy( File src, File target, ProgressListener listener )
- throws IOException
- {
- throw new IOException( "copy called" );
- }
- } );
-
- request = new InstallRequest();
- request.addArtifact( artifact );
- installer.install( session, request );
- }
-
- @Test
- public void testSetArtifactTimestamps()
- throws InstallationException
- {
- artifact.getFile().setLastModified( artifact.getFile().lastModified() - 60000 );
-
- request.addArtifact( artifact );
-
- installer.install( session, request );
-
- assertEquals( "artifact timestamp was not set to src file", artifact.getFile().lastModified(),
- localArtifactFile.lastModified() );
-
- request = new InstallRequest();
-
- request.addArtifact( artifact );
-
- artifact.getFile().setLastModified( artifact.getFile().lastModified() - 60000 );
-
- installer.install( session, request );
-
- assertEquals( "artifact timestamp was not set to src file", artifact.getFile().lastModified(),
- localArtifactFile.lastModified() );
- }
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultMetadataResolverTest.java
----------------------------------------------------------------------
diff --git a/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultMetadataResolverTest.java b/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultMetadataResolverTest.java
deleted file mode 100644
index d977a78..0000000
--- a/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultMetadataResolverTest.java
+++ /dev/null
@@ -1,256 +0,0 @@
-package org.eclipse.aether.internal.impl;
-
-/*
- * 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 static org.junit.Assert.*;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.internal.impl.DefaultMetadataResolver;
-import org.eclipse.aether.internal.test.util.TestFileUtils;
-import org.eclipse.aether.internal.test.util.TestLocalRepositoryManager;
-import org.eclipse.aether.internal.test.util.TestUtils;
-import org.eclipse.aether.metadata.DefaultMetadata;
-import org.eclipse.aether.metadata.Metadata;
-import org.eclipse.aether.repository.LocalMetadataRegistration;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.resolution.MetadataRequest;
-import org.eclipse.aether.resolution.MetadataResult;
-import org.eclipse.aether.spi.connector.ArtifactDownload;
-import org.eclipse.aether.spi.connector.MetadataDownload;
-import org.eclipse.aether.transfer.MetadataNotFoundException;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- */
-public class DefaultMetadataResolverTest
-{
-
- private DefaultMetadataResolver resolver;
-
- private StubRepositoryConnectorProvider connectorProvider;
-
- private RemoteRepository repository;
-
- private DefaultRepositorySystemSession session;
-
- private Metadata metadata;
-
- private RecordingRepositoryConnector connector;
-
- private TestLocalRepositoryManager lrm;
-
- @Before
- public void setup()
- throws Exception
- {
- session = TestUtils.newSession();
- lrm = (TestLocalRepositoryManager) session.getLocalRepositoryManager();
- connectorProvider = new StubRepositoryConnectorProvider();
- resolver = new DefaultMetadataResolver();
- resolver.setUpdateCheckManager( new StaticUpdateCheckManager( true ) );
- resolver.setRepositoryEventDispatcher( new StubRepositoryEventDispatcher() );
- resolver.setRepositoryConnectorProvider( connectorProvider );
- resolver.setRemoteRepositoryManager( new StubRemoteRepositoryManager() );
- resolver.setSyncContextFactory( new StubSyncContextFactory() );
- resolver.setOfflineController( new DefaultOfflineController() );
- repository =
- new RemoteRepository.Builder( "test-DMRT", "default",
- TestFileUtils.createTempDir().toURI().toURL().toString() ).build();
- metadata = new DefaultMetadata( "gid", "aid", "ver", "maven-metadata.xml", Metadata.Nature.RELEASE_OR_SNAPSHOT );
- connector = new RecordingRepositoryConnector();
- connectorProvider.setConnector( connector );
- }
-
- @After
- public void teardown()
- throws Exception
- {
- TestFileUtils.deleteFile( new File( new URI( repository.getUrl() ) ) );
- TestFileUtils.deleteFile( session.getLocalRepository().getBasedir() );
- }
-
- @Test
- public void testNoRepositoryFailing()
- {
- MetadataRequest request = new MetadataRequest( metadata, null, "" );
- List<MetadataResult> results = resolver.resolveMetadata( session, Arrays.asList( request ) );
-
- assertEquals( 1, results.size() );
-
- MetadataResult result = results.get( 0 );
- assertSame( request, result.getRequest() );
- assertNotNull( "" + ( result.getMetadata() != null ? result.getMetadata().getFile() : result.getMetadata() ),
- result.getException() );
- assertEquals( MetadataNotFoundException.class, result.getException().getClass() );
-
- assertNull( result.getMetadata() );
- }
-
- @Test
- public void testResolve()
- throws IOException
- {
- connector.setExpectGet( metadata );
-
- // prepare "download"
- File file =
- new File( session.getLocalRepository().getBasedir(),
- session.getLocalRepositoryManager().getPathForRemoteMetadata( metadata, repository, "" ) );
-
- TestFileUtils.writeString( file, file.getAbsolutePath() );
-
- MetadataRequest request = new MetadataRequest( metadata, repository, "" );
- List<MetadataResult> results = resolver.resolveMetadata( session, Arrays.asList( request ) );
-
- assertEquals( 1, results.size() );
-
- MetadataResult result = results.get( 0 );
- assertSame( request, result.getRequest() );
- assertNull( result.getException() );
- assertNotNull( result.getMetadata() );
- assertNotNull( result.getMetadata().getFile() );
-
- assertEquals( file, result.getMetadata().getFile() );
- assertEquals( metadata, result.getMetadata().setFile( null ) );
-
- connector.assertSeenExpected();
- Set<Metadata> metadataRegistration =
- ( (TestLocalRepositoryManager) session.getLocalRepositoryManager() ).getMetadataRegistration();
- assertTrue( metadataRegistration.contains( metadata ) );
- assertEquals( 1, metadataRegistration.size() );
- }
-
- @Test
- public void testRemoveMetadataIfMissing()
- throws IOException
- {
- connector = new RecordingRepositoryConnector()
- {
-
- @Override
- public void get( Collection<? extends ArtifactDownload> artifactDownloads,
- Collection<? extends MetadataDownload> metadataDownloads )
- {
- super.get( artifactDownloads, metadataDownloads );
- for ( MetadataDownload d : metadataDownloads )
- {
- d.setException( new MetadataNotFoundException( metadata, repository ) );
- }
- }
-
- };
- connectorProvider.setConnector( connector );
-
- File file =
- new File( session.getLocalRepository().getBasedir(),
- session.getLocalRepositoryManager().getPathForRemoteMetadata( metadata, repository, "" ) );
- TestFileUtils.writeString( file, file.getAbsolutePath() );
- metadata.setFile( file );
-
- MetadataRequest request = new MetadataRequest( metadata, repository, "" );
- request.setDeleteLocalCopyIfMissing( true );
-
- List<MetadataResult> results = resolver.resolveMetadata( session, Arrays.asList( request ) );
- assertEquals( 1, results.size() );
- MetadataResult result = results.get( 0 );
-
- assertNotNull( result.getException() );
- assertEquals( false, file.exists() );
- }
-
- @Test
- public void testOfflineSessionResolveMetadataMissing()
- {
- session.setOffline( true );
- MetadataRequest request = new MetadataRequest( metadata, repository, "" );
- List<MetadataResult> results = resolver.resolveMetadata( session, Arrays.asList( request ) );
-
- assertEquals( 1, results.size() );
-
- MetadataResult result = results.get( 0 );
- assertSame( request, result.getRequest() );
- assertNotNull( result.getException() );
- assertNull( result.getMetadata() );
-
- connector.assertSeenExpected();
- }
-
- @Test
- public void testOfflineSessionResolveMetadata()
- throws IOException
- {
- session.setOffline( true );
-
- String path = session.getLocalRepositoryManager().getPathForRemoteMetadata( metadata, repository, "" );
- File file = new File( session.getLocalRepository().getBasedir(), path );
- TestFileUtils.writeString( file, file.getAbsolutePath() );
-
- // set file to use in TestLRM find()
- metadata = metadata.setFile( file );
-
- MetadataRequest request = new MetadataRequest( metadata, repository, "" );
- List<MetadataResult> results = resolver.resolveMetadata( session, Arrays.asList( request ) );
-
- assertEquals( 1, results.size() );
- MetadataResult result = results.get( 0 );
- assertSame( request, result.getRequest() );
- assertNull( String.valueOf( result.getException() ), result.getException() );
- assertNotNull( result.getMetadata() );
- assertNotNull( result.getMetadata().getFile() );
-
- assertEquals( file, result.getMetadata().getFile() );
- assertEquals( metadata.setFile( null ), result.getMetadata().setFile( null ) );
-
- connector.assertSeenExpected();
- }
-
- @Test
- public void testFavorLocal()
- throws IOException
- {
- lrm.add( session, new LocalMetadataRegistration( metadata ) );
- String path = session.getLocalRepositoryManager().getPathForLocalMetadata( metadata );
- File file = new File( session.getLocalRepository().getBasedir(), path );
- TestFileUtils.writeString( file, file.getAbsolutePath() );
-
- MetadataRequest request = new MetadataRequest( metadata, repository, "" );
- request.setFavorLocalRepository( true );
- resolver.setUpdateCheckManager( new StaticUpdateCheckManager( true, true ) );
-
- List<MetadataResult> results = resolver.resolveMetadata( session, Arrays.asList( request ) );
-
- assertEquals( 1, results.size() );
- MetadataResult result = results.get( 0 );
- assertSame( request, result.getRequest() );
- assertNull( String.valueOf( result.getException() ), result.getException() );
-
- connector.assertSeenExpected();
- }
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultOfflineControllerTest.java
----------------------------------------------------------------------
diff --git a/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultOfflineControllerTest.java b/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultOfflineControllerTest.java
deleted file mode 100644
index 7e42707..0000000
--- a/aether-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultOfflineControllerTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package org.eclipse.aether.internal.impl;
-
-/*
- * 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.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.transfer.RepositoryOfflineException;
-import org.junit.Before;
-import org.junit.Test;
-
-public class DefaultOfflineControllerTest
-{
-
- private DefaultOfflineController controller;
-
- private RepositorySystemSession newSession( boolean offline, String protocols, String hosts )
- {
- DefaultRepositorySystemSession session = new DefaultRepositorySystemSession();
- session.setOffline( offline );
- session.setConfigProperty( DefaultOfflineController.CONFIG_PROP_OFFLINE_PROTOCOLS, protocols );
- session.setConfigProperty( DefaultOfflineController.CONFIG_PROP_OFFLINE_HOSTS, hosts );
- return session;
- }
-
- private RemoteRepository newRepo( String url )
- {
- return new RemoteRepository.Builder( "central", "default", url ).build();
- }
-
- @Before
- public void setup()
- {
- controller = new DefaultOfflineController();
- }
-
- @Test( expected = RepositoryOfflineException.class )
- public void testCheckOffline_Online()
- throws Exception
- {
- controller.checkOffline( newSession( false, null, null ), newRepo( "http://eclipse.org" ) );
- }
-
- @Test( expected = RepositoryOfflineException.class )
- public void testCheckOffline_Offline()
- throws Exception
- {
- controller.checkOffline( newSession( true, null, null ), newRepo( "http://eclipse.org" ) );
- }
-
- @Test
- public void testCheckOffline_Offline_OfflineProtocol()
- throws Exception
- {
- controller.checkOffline( newSession( true, "file", null ), newRepo( "file://repo" ) );
- controller.checkOffline( newSession( true, "file", null ), newRepo( "FILE://repo" ) );
- controller.checkOffline( newSession( true, " file , classpath ", null ), newRepo( "file://repo" ) );
- controller.checkOffline( newSession( true, " file , classpath ", null ), newRepo( "classpath://repo" ) );
- }
-
- @Test( expected = RepositoryOfflineException.class )
- public void testCheckOffline_Offline_OnlineProtocol()
- throws Exception
- {
- controller.checkOffline( newSession( true, "file", null ), newRepo( "http://eclipse.org" ) );
- }
-
- @Test
- public void testCheckOffline_Offline_OfflineHost()
- throws Exception
- {
- controller.checkOffline( newSession( true, null, "localhost" ), newRepo( "http://localhost" ) );
- controller.checkOffline( newSession( true, null, "localhost" ), newRepo( "http://LOCALHOST" ) );
- controller.checkOffline( newSession( true, null, " localhost , 127.0.0.1 " ), newRepo( "http://localhost" ) );
- controller.checkOffline( newSession( true, null, " localhost , 127.0.0.1 " ), newRepo( "http://127.0.0.1" ) );
- }
-
- @Test( expected = RepositoryOfflineException.class )
- public void testCheckOffline_Offline_OnlineHost()
- throws Exception
- {
- controller.checkOffline( newSession( true, null, "localhost" ), newRepo( "http://eclipse.org" ) );
- }
-
-}