]> source.dussan.org Git - archiva.git/blob
fa19654172c147ca04144b8940a64fefaf6818f8
[archiva.git] /
1 package org.apache.maven.repository.discovery;
2
3 /*
4  * Copyright 2005-2006 The Apache Software Foundation.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19 import org.codehaus.plexus.PlexusTestCase;
20
21 import java.io.File;
22 import java.util.Iterator;
23 import java.util.List;
24
25 /**
26  * This class tests the DefaultMetadataDiscoverer class.
27  */
28 public class DefaultMetadataDiscovererTest
29     extends PlexusTestCase
30 {
31     private MetadataDiscoverer discoverer;
32
33     private File repositoryLocation;
34
35     /**
36      *
37      */
38     public void setUp()
39         throws Exception
40     {
41         super.setUp();
42
43         discoverer = (MetadataDiscoverer) lookup( MetadataDiscoverer.ROLE, "default" );
44         repositoryLocation = getTestFile( "src/test/repository" );
45     }
46
47     /**
48      *
49      */
50     public void tearDown()
51         throws Exception
52     {
53         super.tearDown();
54         discoverer = null;
55     }
56
57     /**
58      * Test DefaultMetadataDiscoverer when the all metadata paths are valid.
59      */
60     public void testMetadataDiscovererSuccess()
61     {
62         List metadataPaths = discoverer.discoverMetadata( repositoryLocation, null );
63         assertNotNull( "Check metadata not null", metadataPaths );
64         assertTrue( metadataPaths.size() == 3 );
65     }
66
67     /**
68      * Test if metadata file in wrong directory was added to the kickedOutPaths.
69      */
70     public void testKickoutWrongDirectory()
71     {
72         List metadataPaths = discoverer.discoverMetadata( repositoryLocation, null );
73         Iterator iter = discoverer.getKickedOutPathsIterator();
74         boolean found = false;
75         while ( iter.hasNext() && !found )
76         {
77             String dir = (String) iter.next();
78             String normalizedDir = dir.replace( '\\', '/' );
79             if ( "javax/maven-metadata-repository.xml".equals( normalizedDir ) )
80             {
81                 found = true;
82             }
83         }
84         assertTrue( found );
85     }
86
87     /**
88      * Test if blank metadata file was added to the kickedOutPaths.
89      */
90     public void testKickoutBlankMetadata()
91     {
92         List metadataPaths = discoverer.discoverMetadata( repositoryLocation, null );
93         Iterator iter = discoverer.getKickedOutPathsIterator();
94         boolean found = false;
95         while ( iter.hasNext() && !found )
96         {
97             String dir = (String) iter.next();
98             String normalizedDir = dir.replace( '\\', '/' );
99             if ( "org/apache/maven/some-ejb/1.0/maven-metadata-repository.xml".equals( normalizedDir ) )
100             {
101                 found = true;
102             }
103         }
104         assertTrue( found );
105     }
106
107 }