]> source.dussan.org Git - archiva.git/blob
630af95fc816eb4b023a27afbb74b86bf87f6835
[archiva.git] /
1 package org.apache.maven.archiva.layer;
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.apache.maven.artifact.Artifact;
23 import org.apache.maven.artifact.factory.ArtifactFactory;
24 import org.apache.maven.artifact.repository.ArtifactRepository;
25 import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
26 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
27 import org.codehaus.plexus.PlexusTestCase;
28
29 import java.io.File;
30 import java.util.List;
31
32 /**
33  *
34  */
35 public abstract class AbstractRepositoryQueryLayerTestCase
36     extends PlexusTestCase
37 {
38     private ArtifactFactory artifactFactory;
39
40     protected ArtifactRepository repository;
41
42     protected RepositoryQueryLayer queryLayer;
43
44     protected void setUp()
45         throws Exception
46     {
47         super.setUp();
48         File repositoryDirectory = getTestFile( "src/test/repository" );
49
50         artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
51         ArtifactRepositoryFactory factory = (ArtifactRepositoryFactory) lookup( ArtifactRepositoryFactory.ROLE );
52         ArtifactRepositoryLayout layout = (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE, "default" );
53
54         repository =
55             factory.createArtifactRepository( "test", repositoryDirectory.toURL().toString(), layout, null, null );
56     }
57
58     public void testContainsArtifactTrue()
59     {
60         Artifact artifact = getArtifact( "groupId", "artifactId", "1.0-alpha-1" );
61
62         assertTrue( "check artifact", queryLayer.containsArtifact( artifact ) );
63     }
64
65     public void testContainsArtifactFalse()
66     {
67         Artifact artifact = getArtifact( "groupId", "artifactId", "1.0-beta-1" );
68
69         assertFalse( "check non-existent artifact", queryLayer.containsArtifact( artifact ) );
70     }
71
72     public void testContainsSnapshotArtifactTrue()
73     {
74         Artifact artifact = getArtifact( "groupId", "snapshot-artifact", "1.0-alpha-1-20050611.202024-1" );
75         assertTrue( "check for snapshot artifact", queryLayer.containsArtifact( artifact ) );
76     }
77
78     public void testContainsSnapshotArtifactFalse()
79     {
80         Artifact artifact = getArtifact( "groupId", "snapshot-artifact", "1.0-alpha-1-20050611.202024-2" );
81         assertFalse( "check for non-existent snapshot artifact", queryLayer.containsArtifact( artifact ) );
82     }
83
84     public void testArtifactVersions()
85         throws Exception
86     {
87         Artifact artifact = getArtifact( "groupId", "artifactId", "ignored" );
88
89         List versions = queryLayer.getVersions( artifact );
90
91         assertTrue( "check version 1.0-alpha-1", versions.contains( "1.0-alpha-1" ) );
92         assertFalse( "check version 1.0-alpha-2", versions.contains( "1.0-alpha-2" ) );
93     }
94
95     public void testArtifactVersionsError()
96     {
97         Artifact artifact = getArtifact( "groupId", "none", "ignored" );
98
99         try
100         {
101             queryLayer.getVersions( artifact );
102             fail( "expected error not thrown" );
103         }
104         catch ( RepositoryQueryLayerException e )
105         {
106             //expected
107         }
108     }
109
110     private Artifact getArtifact( String groupId, String artifactId, String version )
111     {
112         Artifact projectArtifact = artifactFactory.createProjectArtifact( groupId, artifactId, version );
113         projectArtifact.isSnapshot();
114         return projectArtifact;
115     }
116 }