]> source.dussan.org Git - archiva.git/blob
00b916f11c36ce587e3d4f84d3f97cc5c0334631
[archiva.git] /
1 package org.apache.archiva.consumers.core;
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 junit.framework.TestCase;
23 import org.apache.archiva.common.utils.BaseFile;
24 import org.apache.archiva.configuration.ArchivaConfiguration;
25 import org.apache.archiva.configuration.FileType;
26 import org.apache.archiva.configuration.FileTypes;
27 import org.apache.archiva.consumers.KnownRepositoryContentConsumer;
28 import org.apache.archiva.consumers.functors.ConsumerWantsFilePredicate;
29 import org.junit.Before;
30 import org.junit.Test;
31 import org.junit.runner.RunWith;
32 import org.springframework.context.ApplicationContext;
33 import org.springframework.test.context.ContextConfiguration;
34 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
35
36 import javax.inject.Inject;
37 import java.io.File;
38
39 @RunWith( SpringJUnit4ClassRunner.class )
40 @ContextConfiguration( locations = {"classpath*:/META-INF/spring-context.xml","classpath:/spring-context.xml"} )
41 public abstract class AbstractArtifactConsumerTest
42     extends TestCase
43 {
44     private File repoLocation;
45
46     protected KnownRepositoryContentConsumer consumer;
47
48     @Inject
49     protected ApplicationContext applicationContext;
50
51     @Inject
52     ArchivaConfiguration archivaConfiguration;
53
54     @Before
55     public void setUp()
56         throws Exception
57     {
58         super.setUp();
59
60         FileType fileType =
61             (FileType) archivaConfiguration.getConfiguration().getRepositoryScanning().getFileTypes().get( 0 );
62         assertEquals( FileTypes.ARTIFACTS, fileType.getId() );
63         fileType.addPattern( "**/*.xml" );
64
65         repoLocation = new File( "target/test-" + getName() + "/test-repo" );
66     }
67
68     @Test
69     public void testConsumption()
70     {
71         File localFile =
72             new File( repoLocation, "org/apache/maven/plugins/maven-plugin-plugin/2.4.1/maven-metadata.xml" );
73
74         ConsumerWantsFilePredicate predicate = new ConsumerWantsFilePredicate();
75         BaseFile baseFile = new BaseFile( repoLocation, localFile );
76         predicate.setBasefile( baseFile );
77
78         assertFalse( predicate.evaluate( consumer ) );
79     }
80
81     @Test
82     public void testConsumptionOfOtherMetadata()
83     {
84         File localFile =
85             new File( repoLocation, "org/apache/maven/plugins/maven-plugin-plugin/2.4.1/maven-metadata-central.xml" );
86
87         ConsumerWantsFilePredicate predicate = new ConsumerWantsFilePredicate();
88         BaseFile baseFile = new BaseFile( repoLocation, localFile );
89         predicate.setBasefile( baseFile );
90
91         assertFalse( predicate.evaluate( consumer ) );
92     }
93 }