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