View Javadoc
1   package org.apache.maven.repository.internal;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *   http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import org.eclipse.aether.artifact.Artifact;
23  import org.eclipse.aether.impl.VersionResolver;
24  import org.eclipse.aether.resolution.VersionRequest;
25  import org.eclipse.aether.resolution.VersionResult;
26  import org.eclipse.aether.artifact.DefaultArtifact;
27  
28  public class DefaultVersionResolverTest
29      extends AbstractRepositoryTestCase
30  {
31      private DefaultVersionResolver versionResolver;
32  
33      @Override
34      protected void setUp()
35          throws Exception
36      {
37          super.setUp();
38          // be sure we're testing the right class, i.e. DefaultVersionResolver.class
39          versionResolver = (DefaultVersionResolver) lookup( VersionResolver.class, "default" );
40      }
41  
42      @Override
43      protected void tearDown()
44          throws Exception
45      {
46          versionResolver = null;
47          super.tearDown();
48      }
49  
50      public void testResolveSeparateInstalledClassifiedNonUniqueVersionedArtifacts()
51          throws Exception
52      {
53          VersionRequest requestB = new VersionRequest();
54          requestB.addRepository( newTestRepository() );
55          Artifact artifactB =
56              new DefaultArtifact( "org.apache.maven.its", "dep-mng5324", "classifierB", "jar", "07.20.3-SNAPSHOT" );
57          requestB.setArtifact( artifactB );
58  
59          VersionResult resultB = versionResolver.resolveVersion( session, requestB );
60          assertEquals( "07.20.3-20120809.112920-97", resultB.getVersion() );
61  
62          VersionRequest requestA = new VersionRequest();
63          requestA.addRepository( newTestRepository() );
64  
65          Artifact artifactA =
66              new DefaultArtifact( "org.apache.maven.its", "dep-mng5324", "classifierA", "jar", "07.20.3-SNAPSHOT" );
67          requestA.setArtifact( artifactA );
68  
69          VersionResult resultA = versionResolver.resolveVersion( session, requestA );
70          assertEquals( "07.20.3-20120809.112124-88", resultA.getVersion() );
71      }
72  
73      public void testResolveSeparateInstalledClassifiedNonVersionedArtifacts()
74          throws Exception
75      {
76          VersionRequest requestA = new VersionRequest();
77          requestA.addRepository( newTestRepository() );
78          String versionA = "07.20.3-20120809.112124-88";
79          Artifact artifactA =
80              new DefaultArtifact( "org.apache.maven.its", "dep-mng5324", "classifierA", "jar", versionA );
81          requestA.setArtifact( artifactA );
82  
83          VersionResult resultA = versionResolver.resolveVersion( session, requestA );
84          assertEquals( versionA, resultA.getVersion() );
85  
86          VersionRequest requestB = new VersionRequest();
87          requestB.addRepository( newTestRepository() );
88          String versionB = "07.20.3-20120809.112920-97";
89          Artifact artifactB =
90              new DefaultArtifact( "org.apache.maven.its", "dep-mng5324", "classifierB", "jar", versionB );
91          requestB.setArtifact( artifactB );
92  
93          VersionResult resultB = versionResolver.resolveVersion( session, requestB );
94          assertEquals( versionB, resultB.getVersion() );
95      }
96  }