]> source.dussan.org Git - archiva.git/blob
97b0b12d3916fe31b821493078849879dab92215
[archiva.git] /
1 package org.apache.archiva.admin.repository.proxyconnector;
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.remote.RemoteRepository;
23 import org.apache.archiva.audit.AuditEvent;
24 import org.junit.Test;
25
26 import java.util.Arrays;
27
28 /**
29  * @author Olivier Lamy
30  */
31 public class ProxyConnectorAdminTest
32     extends AbstractRepositoryAdminTest
33 {
34
35     @Test
36     public void addAndDelete()
37         throws Exception
38     {
39         assertEquals( "not proxyConnectors 2 " + proxyConnectorAdmin.getProxyConnectors(), 2,
40                       proxyConnectorAdmin.getProxyConnectors().size() );
41         assertFalse( proxyConnectorAdmin.getProxyConnectors().isEmpty() );
42         ProxyConnector proxyConnector = new ProxyConnector();
43         proxyConnector.setSourceRepoId( "snapshots" );
44         proxyConnector.setTargetRepoId( "central" );
45         proxyConnectorAdmin.addProxyConnector( proxyConnector, getFakeAuditInformation() );
46
47         assertFalse( proxyConnectorAdmin.getProxyConnectors().isEmpty() );
48         assertEquals( 3, proxyConnectorAdmin.getProxyConnectors().size() );
49
50         assertNotNull( proxyConnectorAdmin.getProxyConnector( "snapshots", "central" ) );
51
52         proxyConnectorAdmin.deleteProxyConnector( proxyConnector, getFakeAuditInformation() );
53
54         assertEquals( 2, proxyConnectorAdmin.getProxyConnectors().size() );
55         assertFalse( proxyConnectorAdmin.getProxyConnectors().isEmpty() );
56
57         assertEquals( 2, mockAuditListener.getAuditEvents().size() );
58
59         assertEquals( AuditEvent.ADD_PROXY_CONNECTOR, mockAuditListener.getAuditEvents().get( 0 ).getAction() );
60         assertEquals( "root", mockAuditListener.getAuditEvents().get( 0 ).getUserId() );
61         assertEquals( "archiva-localhost", mockAuditListener.getAuditEvents().get( 0 ).getRemoteIP() );
62
63         assertEquals( AuditEvent.DELETE_PROXY_CONNECTOR, mockAuditListener.getAuditEvents().get( 1 ).getAction() );
64         assertEquals( "root", mockAuditListener.getAuditEvents().get( 1 ).getUserId() );
65
66         assertNull( proxyConnectorAdmin.getProxyConnector( "snapshots", "central" ) );
67
68         mockAuditListener.clearEvents();
69     }
70
71     @Test
72     public void addAndUpdateAndDelete()
73         throws Exception
74     {
75
76         RemoteRepository remoteRepository = getRemoteRepository( "test-new-one" );
77
78         remoteRepositoryAdmin.addRemoteRepository( remoteRepository, getFakeAuditInformation() );
79
80         assertEquals( "not proxyConnectors 2 " + proxyConnectorAdmin.getProxyConnectors(), 2,
81                       proxyConnectorAdmin.getProxyConnectors().size() );
82         assertFalse( proxyConnectorAdmin.getProxyConnectors().isEmpty() );
83         ProxyConnector proxyConnector = new ProxyConnector();
84         proxyConnector.setSourceRepoId( "snapshots" );
85         proxyConnector.setTargetRepoId( "central" );
86         proxyConnector.setWhiteListPatterns( Arrays.asList( "foo", "bar" ) );
87         proxyConnectorAdmin.addProxyConnector( proxyConnector, getFakeAuditInformation() );
88
89         assertFalse( proxyConnectorAdmin.getProxyConnectors().isEmpty() );
90         assertEquals( 3, proxyConnectorAdmin.getProxyConnectors().size() );
91
92         assertNotNull( proxyConnectorAdmin.getProxyConnector( "snapshots", "central" ) );
93         assertEquals( Arrays.asList( "foo", "bar" ),
94                       proxyConnectorAdmin.getProxyConnector( "snapshots", "central" ).getWhiteListPatterns() );
95
96         proxyConnectorAdmin.deleteProxyConnector( proxyConnector, getFakeAuditInformation() );
97
98         proxyConnector.setTargetRepoId( remoteRepository.getId() );
99         proxyConnectorAdmin.addProxyConnector( proxyConnector, getFakeAuditInformation() );
100
101         assertNull( proxyConnectorAdmin.getProxyConnector( "snapshots", "central" ) );
102         assertNotNull( remoteRepository.getId(),
103                        proxyConnectorAdmin.getProxyConnector( "snapshots", remoteRepository.getId() ) );
104
105         proxyConnectorAdmin.deleteProxyConnector( proxyConnector, getFakeAuditInformation() );
106
107         assertNull( proxyConnectorAdmin.getProxyConnector( "snapshots", "central" ) );
108
109         assertEquals( 2, proxyConnectorAdmin.getProxyConnectors().size() );
110         assertFalse( proxyConnectorAdmin.getProxyConnectors().isEmpty() );
111
112         assertEquals( 5, mockAuditListener.getAuditEvents().size() );
113
114         assertEquals( AuditEvent.ADD_REMOTE_REPO, mockAuditListener.getAuditEvents().get( 0 ).getAction() );
115
116         assertEquals( AuditEvent.ADD_PROXY_CONNECTOR, mockAuditListener.getAuditEvents().get( 1 ).getAction() );
117         assertEquals( "root", mockAuditListener.getAuditEvents().get( 2 ).getUserId() );
118         assertEquals( "archiva-localhost", mockAuditListener.getAuditEvents().get( 2 ).getRemoteIP() );
119
120         assertEquals( AuditEvent.DELETE_PROXY_CONNECTOR, mockAuditListener.getAuditEvents().get( 2 ).getAction() );
121
122         assertEquals( AuditEvent.ADD_PROXY_CONNECTOR, mockAuditListener.getAuditEvents().get( 3 ).getAction() );
123
124         assertEquals( AuditEvent.DELETE_PROXY_CONNECTOR, mockAuditListener.getAuditEvents().get( 4 ).getAction() );
125         assertEquals( "root", mockAuditListener.getAuditEvents().get( 4 ).getUserId() );
126
127         remoteRepositoryAdmin.deleteRemoteRepository( remoteRepository.getId(), getFakeAuditInformation() );
128         mockAuditListener.clearEvents();
129     }
130
131     @Test
132     public void findProxyConnector()
133         throws Exception
134     {
135         ProxyConnector proxyConnector = proxyConnectorAdmin.findProxyConnector( "internal", "central" );
136         assertNotNull( proxyConnector );
137     }
138
139 }