]> source.dussan.org Git - archiva.git/blob
85e381d17457375c298993f075e4e0f837f55855
[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.repository.AbstractRepositoryAdminTest;
22 import org.apache.archiva.admin.repository.RepositoryAdminException;
23 import org.apache.archiva.audit.AuditEvent;
24 import org.junit.Test;
25
26 import javax.inject.Inject;
27 import java.util.Arrays;
28
29 /**
30  * @author Olivier Lamy
31  */
32 public class ArchivaAdministrationTest
33     extends AbstractRepositoryAdminTest
34 {
35     @Inject
36     ArchivaAdministration archivaAdministration;
37
38
39     @Test
40     public void getAllLegacyPaths()
41         throws Exception
42     {
43         assertNotNull( archivaAdministration.getLegacyArtifactPaths() );
44         assertFalse( archivaAdministration.getLegacyArtifactPaths().isEmpty() );
45         assertEquals( 1, archivaAdministration.getLegacyArtifactPaths().size() );
46         log.info( "all legacy paths {}", archivaAdministration.getLegacyArtifactPaths() );
47     }
48
49     public void addAndDeleteLegacyPath()
50         throws Exception
51     {
52         int initialSize = archivaAdministration.getLegacyArtifactPaths().size();
53
54         LegacyArtifactPath legacyArtifactPath = new LegacyArtifactPath( "foo", "bar" );
55         archivaAdministration.addLegacyArtifactPath( legacyArtifactPath, getFakeAuditInformation() );
56
57         assertTrue( archivaAdministration.getLegacyArtifactPaths().contains( new LegacyArtifactPath( "foo", "bar" ) ) );
58         assertEquals( initialSize + 1, archivaAdministration.getLegacyArtifactPaths().size() );
59
60         archivaAdministration.deleteLegacyArtifactPath( legacyArtifactPath.getPath(), getFakeAuditInformation() );
61
62         assertFalse(
63             archivaAdministration.getLegacyArtifactPaths().contains( new LegacyArtifactPath( "foo", "bar" ) ) );
64         assertEquals( initialSize, archivaAdministration.getLegacyArtifactPaths().size() );
65         mockAuditListener.clearEvents();
66     }
67
68     @Test
69     public void addAndUpdateAndDeleteFileType()
70         throws RepositoryAdminException
71     {
72         int initialSize = archivaAdministration.getRepositoryScanning().getFileTypes().size();
73
74         FileType fileType = new FileType();
75         fileType.setId( "foo" );
76         fileType.setPatterns( Arrays.asList( "bar", "toto" ) );
77
78         archivaAdministration.addFileType( fileType, getFakeAuditInformation() );
79
80         assertEquals( initialSize + 1, archivaAdministration.getRepositoryScanning().getFileTypes().size() );
81
82         archivaAdministration.addFileTypePattern( "foo", "zorro", getFakeAuditInformation() );
83
84         assertEquals( initialSize + 1, archivaAdministration.getRepositoryScanning().getFileTypes().size() );
85
86         assertEquals( 3, archivaAdministration.getFileType( "foo" ).getPatterns().size() );
87
88         assertTrue( archivaAdministration.getFileType( "foo" ).getPatterns().contains( "bar" ) );
89         assertTrue( archivaAdministration.getFileType( "foo" ).getPatterns().contains( "toto" ) );
90         assertTrue( archivaAdministration.getFileType( "foo" ).getPatterns().contains( "zorro" ) );
91
92         archivaAdministration.removeFileTypePattern( "foo", "zorro", getFakeAuditInformation() );
93
94         assertEquals( initialSize + 1, archivaAdministration.getRepositoryScanning().getFileTypes().size() );
95
96         assertEquals( 2, archivaAdministration.getFileType( "foo" ).getPatterns().size() );
97
98         assertTrue( archivaAdministration.getFileType( "foo" ).getPatterns().contains( "bar" ) );
99         assertTrue( archivaAdministration.getFileType( "foo" ).getPatterns().contains( "toto" ) );
100         assertFalse( archivaAdministration.getFileType( "foo" ).getPatterns().contains( "zorro" ) );
101
102         archivaAdministration.removeFileType( "foo", getFakeAuditInformation() );
103
104         assertEquals( initialSize, archivaAdministration.getRepositoryScanning().getFileTypes().size() );
105         assertNull( archivaAdministration.getFileType( "foo" ) );
106         mockAuditListener.clearEvents();
107     }
108
109     @Test
110     public void knownContentConsumersTest()
111         throws Exception
112     {
113         int initialSize = archivaAdministration.getRepositoryScanning().getKnownContentConsumers().size();
114
115         archivaAdministration.addKnownContentConsumer( "foo", getFakeAuditInformation() );
116
117         assertEquals( initialSize + 1,
118                       archivaAdministration.getRepositoryScanning().getKnownContentConsumers().size() );
119         assertTrue( archivaAdministration.getRepositoryScanning().getKnownContentConsumers().contains( "foo" ) );
120
121         // ensure we don't add it twice as it's an ArrayList as storage
122         archivaAdministration.addKnownContentConsumer( "foo", getFakeAuditInformation() );
123
124         assertEquals( initialSize + 1,
125                       archivaAdministration.getRepositoryScanning().getKnownContentConsumers().size() );
126         assertTrue( archivaAdministration.getRepositoryScanning().getKnownContentConsumers().contains( "foo" ) );
127
128         archivaAdministration.removeKnownContentConsumer( "foo", getFakeAuditInformation() );
129
130
131         assertEquals( initialSize ,
132                       archivaAdministration.getRepositoryScanning().getKnownContentConsumers().size() );
133         assertFalse( archivaAdministration.getRepositoryScanning().getKnownContentConsumers().contains( "foo" ) );
134
135         assertEquals( 2, mockAuditListener.getAuditEvents().size() );
136         assertEquals( AuditEvent.ENABLE_REPO_CONSUMER, mockAuditListener.getAuditEvents().get( 0 ).getAction() );
137         assertEquals( AuditEvent.DISABLE_REPO_CONSUMER, mockAuditListener.getAuditEvents().get( 1 ).getAction() );
138
139         mockAuditListener.clearEvents();
140
141     }
142
143     @Test
144     public void invalidContentConsumersTest()
145         throws Exception
146     {
147         int initialSize = archivaAdministration.getRepositoryScanning().getInvalidContentConsumers().size();
148
149         archivaAdministration.addInvalidContentConsumer( "foo", getFakeAuditInformation() );
150
151         assertEquals( initialSize + 1,
152                       archivaAdministration.getRepositoryScanning().getInvalidContentConsumers().size() );
153         assertTrue( archivaAdministration.getRepositoryScanning().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,
159                       archivaAdministration.getRepositoryScanning().getInvalidContentConsumers().size() );
160         assertTrue( archivaAdministration.getRepositoryScanning().getInvalidContentConsumers().contains( "foo" ) );
161
162         archivaAdministration.removeInvalidContentConsumer( "foo", getFakeAuditInformation() );
163
164         assertEquals( initialSize, archivaAdministration.getRepositoryScanning().getInvalidContentConsumers().size() );
165         assertFalse( archivaAdministration.getRepositoryScanning().getInvalidContentConsumers().contains( "foo" ) );
166
167         assertEquals( 2, mockAuditListener.getAuditEvents().size() );
168         assertEquals( AuditEvent.ENABLE_REPO_CONSUMER, mockAuditListener.getAuditEvents().get( 0 ).getAction() );
169         assertEquals( AuditEvent.DISABLE_REPO_CONSUMER, mockAuditListener.getAuditEvents().get( 1 ).getAction() );
170
171         mockAuditListener.clearEvents();
172
173     }
174 }