]> source.dussan.org Git - archiva.git/blob
1a6cf7cf9e5f8af6ae7192809b63b030c3a14330
[archiva.git] /
1 package org.apache.archiva.repository;
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.archiva.admin.model.beans.ManagedRepository;
23 import org.apache.archiva.admin.model.beans.RemoteRepository;
24 import org.apache.archiva.repository.maven2.MavenManagedRepository;
25 import org.apache.archiva.repository.maven2.MavenRemoteRepository;
26 import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
27 import org.junit.Rule;
28 import org.junit.rules.TestName;
29 import org.junit.runner.RunWith;
30 import org.springframework.context.ApplicationContext;
31 import org.springframework.test.context.ContextConfiguration;
32
33 import javax.inject.Inject;
34 import java.net.URI;
35 import java.net.URISyntaxException;
36 import java.nio.file.Path;
37 import java.util.Locale;
38
39 /**
40  * AbstractRepositoryLayerTestCase
41  *
42  *
43  */
44 @RunWith( ArchivaSpringJUnit4ClassRunner.class )
45 @ContextConfiguration( { "classpath*:/META-INF/spring-context.xml", "classpath:/spring-context-no-mock-conf.xml" } )
46 public abstract class AbstractRepositoryLayerTestCase
47 {
48     @Rule
49     public TestName name = new TestName();
50
51     @Inject
52     protected ApplicationContext applicationContext;
53
54     protected MavenManagedRepository createRepository( String id, String name, Path location )
55     {
56         MavenManagedRepository repo = new MavenManagedRepository( id, name);
57         repo.setLocation( location.toAbsolutePath().toUri() );
58         return repo;
59     }
60
61     protected MavenRemoteRepository createRemoteRepository( String id, String name, String url ) throws URISyntaxException
62     {
63         MavenRemoteRepository repo = new MavenRemoteRepository(id, name);
64         repo.setLocation( new URI( url ) );
65         return repo;
66     }
67
68     protected ManagedRepositoryContent createManagedRepositoryContent( String id, String name, Path location,
69                                                                        String layout )
70         throws Exception
71     {
72         MavenManagedRepository repo = new MavenManagedRepository( id, name );
73         repo.setLocation( location.toAbsolutePath().toUri() );
74         repo.setLayout( layout );
75
76         ManagedRepositoryContent repoContent =
77             applicationContext.getBean( "managedRepositoryContent#" + layout, ManagedRepositoryContent.class );
78         repoContent.setRepository( repo );
79
80         return repoContent;
81     }
82
83     protected RemoteRepositoryContent createRemoteRepositoryContent( String id, String name, String url, String layout )
84         throws Exception
85     {
86         MavenRemoteRepository repo = new MavenRemoteRepository(id, name);
87         repo.setLocation( new URI( url ) );
88         repo.setLayout( layout );
89
90         RemoteRepositoryContent repoContent =
91             applicationContext.getBean( "remoteRepositoryContent#" + layout, RemoteRepositoryContent.class );
92         repoContent.setRepository( repo );
93
94         return repoContent;
95     }
96 }