]> source.dussan.org Git - archiva.git/blob
1a3e153fad8592c28c245680278fb0fa8b05c14f
[archiva.git] /
1 package org.apache.archiva.admin.repository.admin;
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 org.apache.archiva.admin.model.RepositoryAdminException;
22 import org.apache.archiva.admin.model.admin.ArchivaAdministration;
23 import org.apache.archiva.admin.model.beans.FileType;
24 import org.apache.archiva.admin.model.beans.LegacyArtifactPath;
25 import org.apache.archiva.admin.model.beans.OrganisationInformation;
26 import org.apache.archiva.admin.model.beans.UiConfiguration;
27 import org.apache.archiva.admin.repository.AbstractRepositoryAdminTest;
28 import org.apache.archiva.audit.AuditEvent;
29 import org.junit.Test;
30
31 import javax.inject.Inject;
32 import java.util.Arrays;
33
34 /**
35  * @author Olivier Lamy
36  */
37 public class ArchivaAdministrationTest
38     extends AbstractRepositoryAdminTest
39 {
40     @Inject
41     ArchivaAdministration archivaAdministration;
42
43
44     @Test
45     public void getAllLegacyPaths()
46         throws Exception
47     {
48         assertNotNull( archivaAdministration.getLegacyArtifactPaths() );
49         assertFalse( archivaAdministration.getLegacyArtifactPaths().isEmpty() );
50         assertEquals( 1, archivaAdministration.getLegacyArtifactPaths().size() );
51         log.info( "all legacy paths {}", archivaAdministration.getLegacyArtifactPaths() );
52     }
53
54     public void addAndDeleteLegacyPath()
55         throws Exception
56     {
57         int initialSize = archivaAdministration.getLegacyArtifactPaths().size();
58
59         LegacyArtifactPath legacyArtifactPath = new LegacyArtifactPath( "foo", "bar" );
60         archivaAdministration.addLegacyArtifactPath( legacyArtifactPath, getFakeAuditInformation() );
61
62         assertTrue( archivaAdministration.getLegacyArtifactPaths().contains( new LegacyArtifactPath( "foo", "bar" ) ) );
63         assertEquals( initialSize + 1, archivaAdministration.getLegacyArtifactPaths().size() );
64
65         archivaAdministration.deleteLegacyArtifactPath( legacyArtifactPath.getPath(), getFakeAuditInformation() );
66
67         assertFalse(
68             archivaAdministration.getLegacyArtifactPaths().contains( new LegacyArtifactPath( "foo", "bar" ) ) );
69         assertEquals( initialSize, archivaAdministration.getLegacyArtifactPaths().size() );
70         mockAuditListener.clearEvents();
71     }
72
73     @Test
74     public void addAndUpdateAndDeleteFileType()
75         throws RepositoryAdminException
76     {
77         int initialSize = archivaAdministration.getFileTypes().size();
78
79         FileType fileType = new FileType();
80         fileType.setId( "foo" );
81         fileType.setPatterns( Arrays.asList( "bar", "toto" ) );
82
83         archivaAdministration.addFileType( fileType, getFakeAuditInformation() );
84
85         assertEquals( initialSize + 1, archivaAdministration.getFileTypes().size() );
86
87         archivaAdministration.addFileTypePattern( "foo", "zorro", getFakeAuditInformation() );
88
89         assertEquals( initialSize + 1, archivaAdministration.getFileTypes().size() );
90
91         assertEquals( 3, archivaAdministration.getFileType( "foo" ).getPatterns().size() );
92
93         assertTrue( archivaAdministration.getFileType( "foo" ).getPatterns().contains( "bar" ) );
94         assertTrue( archivaAdministration.getFileType( "foo" ).getPatterns().contains( "toto" ) );
95         assertTrue( archivaAdministration.getFileType( "foo" ).getPatterns().contains( "zorro" ) );
96
97         archivaAdministration.removeFileTypePattern( "foo", "zorro", getFakeAuditInformation() );
98
99         assertEquals( initialSize + 1, archivaAdministration.getFileTypes().size() );
100
101         assertEquals( 2, archivaAdministration.getFileType( "foo" ).getPatterns().size() );
102
103         assertTrue( archivaAdministration.getFileType( "foo" ).getPatterns().contains( "bar" ) );
104         assertTrue( archivaAdministration.getFileType( "foo" ).getPatterns().contains( "toto" ) );
105         assertFalse( archivaAdministration.getFileType( "foo" ).getPatterns().contains( "zorro" ) );
106
107         archivaAdministration.removeFileType( "foo", getFakeAuditInformation() );
108
109         assertEquals( initialSize, archivaAdministration.getFileTypes().size() );
110         assertNull( archivaAdministration.getFileType( "foo" ) );
111         mockAuditListener.clearEvents();
112     }
113
114     @Test
115     public void knownContentConsumersTest()
116         throws Exception
117     {
118         int initialSize = archivaAdministration.getKnownContentConsumers().size();
119
120         archivaAdministration.addKnownContentConsumer( "foo", getFakeAuditInformation() );
121
122         assertEquals( initialSize + 1, archivaAdministration.getKnownContentConsumers().size() );
123         assertTrue( archivaAdministration.getKnownContentConsumers().contains( "foo" ) );
124
125         // ensure we don't add it twice as it's an ArrayList as storage
126         archivaAdministration.addKnownContentConsumer( "foo", getFakeAuditInformation() );
127
128         assertEquals( initialSize + 1, archivaAdministration.getKnownContentConsumers().size() );
129         assertTrue( archivaAdministration.getKnownContentConsumers().contains( "foo" ) );
130
131         archivaAdministration.removeKnownContentConsumer( "foo", getFakeAuditInformation() );
132
133         assertEquals( initialSize, archivaAdministration.getKnownContentConsumers().size() );
134         assertFalse( archivaAdministration.getKnownContentConsumers().contains( "foo" ) );
135
136         assertEquals( 2, mockAuditListener.getAuditEvents().size() );
137         assertEquals( AuditEvent.ENABLE_REPO_CONSUMER, mockAuditListener.getAuditEvents().get( 0 ).getAction() );
138         assertEquals( AuditEvent.DISABLE_REPO_CONSUMER, mockAuditListener.getAuditEvents().get( 1 ).getAction() );
139
140         mockAuditListener.clearEvents();
141
142     }
143
144     @Test
145     public void invalidContentConsumersTest()
146         throws Exception
147     {
148         int initialSize = archivaAdministration.getInvalidContentConsumers().size();
149
150         archivaAdministration.addInvalidContentConsumer( "foo", getFakeAuditInformation() );
151
152         assertEquals( initialSize + 1, archivaAdministration.getInvalidContentConsumers().size() );
153         assertTrue( archivaAdministration.getInvalidContentConsumers().contains( "foo" ) );
154
155         // ensure we don't add it twice as it's an ArrayList as storage
156         archivaAdministration.addInvalidContentConsumer( "foo", getFakeAuditInformation() );
157
158         assertEquals( initialSize + 1, archivaAdministration.getInvalidContentConsumers().size() );
159         assertTrue( archivaAdministration.getInvalidContentConsumers().contains( "foo" ) );
160
161         archivaAdministration.removeInvalidContentConsumer( "foo", getFakeAuditInformation() );
162
163         assertEquals( initialSize, archivaAdministration.getInvalidContentConsumers().size() );
164         assertFalse( archivaAdministration.getInvalidContentConsumers().contains( "foo" ) );
165
166         assertEquals( 2, mockAuditListener.getAuditEvents().size() );
167         assertEquals( AuditEvent.ENABLE_REPO_CONSUMER, mockAuditListener.getAuditEvents().get( 0 ).getAction() );
168         assertEquals( AuditEvent.DISABLE_REPO_CONSUMER, mockAuditListener.getAuditEvents().get( 1 ).getAction() );
169
170         mockAuditListener.clearEvents();
171
172     }
173
174     @Test
175     public void organisationInfoUpdate()
176         throws Exception
177     {
178         OrganisationInformation organisationInformation = archivaAdministration.getOrganisationInformation();
179         assertNotNull( organisationInformation );
180         assertNull( organisationInformation.getLogoLocation() );
181         assertNull( organisationInformation.getName() );
182         assertNull( organisationInformation.getUrl() );
183
184         organisationInformation = new OrganisationInformation();
185         organisationInformation.setLogoLocation( "http://foo.com/bar.png" );
186         organisationInformation.setName( "foo org" );
187         organisationInformation.setUrl( "http://foo.com" );
188
189         archivaAdministration.setOrganisationInformation( organisationInformation );
190
191         organisationInformation = archivaAdministration.getOrganisationInformation();
192         assertNotNull( organisationInformation );
193         assertEquals( "http://foo.com/bar.png", organisationInformation.getLogoLocation() );
194         assertEquals( "foo org", organisationInformation.getName() );
195         assertEquals( "http://foo.com", organisationInformation.getUrl() );
196
197     }
198
199     @Test
200     public void uiConfiguration()
201         throws Exception
202     {
203         UiConfiguration ui = archivaAdministration.getUiConfiguration();
204         assertNotNull( ui );
205         // assert default values
206         assertFalse( ui.isDisableEasterEggs() );
207         assertTrue( ui.isAppletFindEnabled() );
208         assertTrue( ui.isShowFindArtifacts() );
209
210         ui.setAppletFindEnabled( false );
211         ui.setShowFindArtifacts( false );
212         ui.setDisableEasterEggs( true );
213
214         archivaAdministration.updateUiConfiguration( ui );
215
216         ui = archivaAdministration.getUiConfiguration();
217
218         assertTrue( ui.isDisableEasterEggs() );
219         assertFalse( ui.isAppletFindEnabled() );
220         assertFalse( ui.isShowFindArtifacts() );
221     }
222 }