]> source.dussan.org Git - archiva.git/blob
d25abd4348fd14939eea5f1993b0f3960c74f085
[archiva.git] /
1 package org.apache.archiva.web.action.admin.repositories;
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 com.opensymphony.xwork2.validator.ActionValidatorManager;
23 import org.apache.archiva.admin.model.beans.ManagedRepository;
24 import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
25 import org.apache.struts2.StrutsSpringTestCase;
26
27 import java.io.File;
28 import org.apache.archiva.test.utils.ArchivaBlockJUnit4ClassRunner;
29 import org.junit.Before;
30 import org.junit.runner.RunWith;
31 @RunWith( ArchivaBlockJUnit4ClassRunner.class )
32 public abstract class AbstractManagedRepositoryActionTest
33     extends StrutsSpringTestCase
34 {
35     protected static final String EMPTY_STRING = "";
36
37     // valid inputs; validation testing
38     protected static final String REPOSITORY_ID_VALID_INPUT = "abcXYZ0129._-";
39
40     protected static final String REPOSITORY_LOCATION_VALID_INPUT = "abcXYZ0129._/\\~:?!&=-";
41
42     protected static final String REPOSITORY_INDEX_DIR_VALID_INPUT = "abcXYZ0129._/\\~:?!&=-";
43
44     protected static final String REPOSITORY_NAME_VALID_INPUT = "abcXYZ   0129.)/   _(-";
45
46     protected static final int REPOSITORY_RETENTION_COUNT_VALID_INPUT = 1;
47
48     protected static final int REPOSITORY_DAYS_OLDER_VALID_INPUT = 1;
49
50     // invalid inputs; validation testing
51     protected static final String REPOSITORY_ID_INVALID_INPUT = "<> \\/~+[ ]'\"";
52
53     protected static final String REPOSITORY_LOCATION_INVALID_INPUT = "<> ~+[ ]'\"";
54
55     protected static final String REPOSITORY_INDEX_DIR_INVALID_INPUT = "<> ~+[ ]'\"";
56
57     protected static final String REPOSITORY_NAME_INVALID_INPUT = "<>\\~+[]'\"";
58
59     protected static final int REPOSITORY_RETENTION_COUNT_INVALID_INPUT = 101;
60
61     protected static final int REPOSITORY_DAYS_OLDER_INVALID_INPUT = -1;
62
63     // testing requisite; validation testing
64     protected ActionValidatorManager actionValidatorManager;
65
66     protected static final String REPO_ID = "repo-ident";
67
68     protected File location;
69
70     @Override
71     protected String[] getContextLocations()
72     {
73         return new String[]{ "classpath*:/META-INF/spring-context.xml", "classpath*:/spring-context.xml" };
74     }
75
76     @Override
77     @Before
78     public void setUp()
79         throws Exception
80     {
81         super.setUp();
82
83         DefaultActionValidatorManagerFactory defaultActionValidatorManagerFactory =
84             new DefaultActionValidatorManagerFactory();
85
86         actionValidatorManager = defaultActionValidatorManagerFactory.createDefaultActionValidatorManager();
87     }
88
89     protected void populateRepository( ManagedRepository repository )
90     {
91         repository.setId( REPO_ID );
92         repository.setName( "repo name" );
93         repository.setLocation( location.getAbsolutePath() );
94         repository.setLayout( "default" );
95         repository.setCronExpression( "* 0/5 * * * ?" );
96         repository.setDaysOlder( 31 );
97         repository.setRetentionCount( 20 );
98         repository.setReleases( true );
99         repository.setSnapshots( false );
100         repository.setScanned( false );
101         repository.setDeleteReleasedSnapshots( true );
102     }
103
104     protected ManagedRepository createManagedRepository( String id, String name, String location )
105     {
106         ManagedRepository managedRepositoryConfiguration = new ManagedRepository();
107
108         managedRepositoryConfiguration.setId( id );
109         managedRepositoryConfiguration.setName( name );
110         managedRepositoryConfiguration.setLocation( location );
111
112         return managedRepositoryConfiguration;
113     }
114
115     // over-loaded
116     // for simulating empty/null form purposes; excluding primitive data-typed values
117     protected ManagedRepository createManagedRepository( String id, String name, String location,
118                                                                       String indexDir )
119     {
120         ManagedRepository managedRepositoryConfiguration = new ManagedRepository();
121
122         managedRepositoryConfiguration.setId( id );
123         managedRepositoryConfiguration.setName( name );
124         managedRepositoryConfiguration.setLocation( location );
125         managedRepositoryConfiguration.setIndexDirectory( indexDir );
126
127         return managedRepositoryConfiguration;
128     }
129
130     protected ManagedRepository createManagedRepository( String id, String name, String location, String indexDir,
131                                                          int daysOlder, int retentionCount )
132     {
133         ManagedRepository managedRepositoryConfiguration = new ManagedRepository();
134
135         managedRepositoryConfiguration.setId( id );
136         managedRepositoryConfiguration.setName( name );
137         managedRepositoryConfiguration.setLocation( location );
138         managedRepositoryConfiguration.setIndexDirectory( indexDir );
139         managedRepositoryConfiguration.setDaysOlder( daysOlder );
140         managedRepositoryConfiguration.setRetentionCount( retentionCount );
141
142         return managedRepositoryConfiguration;
143     }
144
145
146     protected ManagedRepositoryAdmin getManagedRepositoryAdmin()
147     {
148         return applicationContext.getBean( ManagedRepositoryAdmin.class );
149     }
150 }