]> source.dussan.org Git - archiva.git/blob
27da863ed33dff358062d95f40457dc90d456a41
[archiva.git] /
1 package org.apache.archiva.admin.repository;
2 /*
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  */
20
21 import junit.framework.TestCase;
22 import org.apache.archiva.admin.AuditInformation;
23 import org.apache.archiva.admin.mock.MockAuditListener;
24 import org.apache.archiva.admin.repository.managed.ManagedRepository;
25 import org.apache.archiva.admin.repository.managed.ManagedRepositoryAdmin;
26 import org.apache.archiva.admin.repository.remote.RemoteRepositoryAdmin;
27 import org.apache.commons.io.FileUtils;
28 import org.apache.commons.lang.StringUtils;
29 import org.codehaus.plexus.redback.role.RoleManager;
30 import org.codehaus.plexus.redback.users.User;
31 import org.codehaus.plexus.redback.users.memory.SimpleUser;
32 import org.junit.runner.RunWith;
33 import org.slf4j.Logger;
34 import org.slf4j.LoggerFactory;
35 import org.springframework.test.context.ContextConfiguration;
36 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
37
38 import javax.inject.Inject;
39 import java.io.File;
40 import java.util.List;
41
42 /**
43  * @author Olivier Lamy
44  */
45 @RunWith( SpringJUnit4ClassRunner.class )
46 @ContextConfiguration( locations = { "classpath*:/META-INF/spring-context.xml", "classpath:/spring-context.xml" } )
47 public abstract class AbstractRepositoryAdminTest
48     extends TestCase
49 {
50     protected Logger log = LoggerFactory.getLogger( getClass() );
51
52     public static final String APPSERVER_BASE_PATH = System.getProperty( "appserver.base" );
53
54     @Inject
55     protected MockAuditListener mockAuditListener;
56
57     @Inject
58     protected RoleManager roleManager;
59
60     @Inject
61     protected RemoteRepositoryAdmin remoteRepositoryAdmin;
62
63     @Inject
64     protected ManagedRepositoryAdmin managedRepositoryAdmin;
65
66     protected AuditInformation getFakeAuditInformation()
67     {
68         AuditInformation auditInformation = new AuditInformation( getFakeUser(), "archiva-localhost" );
69         return auditInformation;
70     }
71
72     protected User getFakeUser()
73     {
74         SimpleUser user = new SimpleUser()
75         {
76             @Override
77             public Object getPrincipal()
78             {
79                 return "root";
80             }
81
82         };
83
84         user.setUsername( "root" );
85         user.setFullName( "The top user" );
86         return user;
87     }
88
89     protected ManagedRepository getTestManagedRepository( String repoId, String repoLocation )
90     {
91         return new ManagedRepository( repoId, "test repo", repoLocation, "default", false, true, true, "0 0 * * * ?",
92                                       repoLocation + "/.index", false, 1, 2, true );
93     }
94
95     protected File clearRepoLocation( String path )
96         throws Exception
97     {
98         File repoDir = new File( path );
99         if ( repoDir.exists() )
100         {
101             FileUtils.deleteDirectory( repoDir );
102         }
103         assertFalse( repoDir.exists() );
104         return repoDir;
105     }
106
107     protected ManagedRepository findManagedRepoById( List<ManagedRepository> repos, String id )
108     {
109         for ( ManagedRepository repo : repos )
110         {
111             if ( StringUtils.equals( id, repo.getId() ) )
112             {
113                 return repo;
114             }
115         }
116         return null;
117     }
118 }