1 package org.apache.archiva.admin.repository.proxyconnectorrule;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import org.apache.archiva.admin.model.beans.ProxyConnector;
22 import org.apache.archiva.admin.model.beans.ProxyConnectorRule;
23 import org.apache.archiva.admin.model.beans.ProxyConnectorRuleType;
24 import org.apache.archiva.admin.model.beans.RemoteRepository;
25 import org.apache.archiva.admin.repository.AbstractRepositoryAdminTest;
26 import org.junit.Test;
27
28 import java.util.Arrays;
29
30
31
32
33 public class ProxyConnectorRuleAdminTest
34 extends AbstractRepositoryAdminTest
35 {
36 @Test
37 public void addProxyConnectorRule()
38 throws Exception
39 {
40 ProxyConnector proxyConnector = new ProxyConnector();
41 proxyConnector.setSourceRepoId( "snapshots" );
42 proxyConnector.setTargetRepoId( "central" );
43
44 ProxyConnectorRule rule = null;
45 try
46 {
47 int size = proxyConnectorRuleAdmin.getProxyConnectorRules().size();
48 assertEquals( 0, size );
49
50 proxyConnectorAdmin.addProxyConnector( proxyConnector, getFakeAuditInformation() );
51
52 rule = new ProxyConnectorRule( "org/apache/maven", ProxyConnectorRuleType.BLACK_LIST,
53 Arrays.asList( proxyConnector ) );
54
55 proxyConnectorRuleAdmin.addProxyConnectorRule( rule, getFakeAuditInformation() );
56 assertEquals( size + 1, proxyConnectorRuleAdmin.getProxyConnectorRules().size() );
57
58 rule = proxyConnectorRuleAdmin.getProxyConnectorRules().get( 0 );
59
60 assertEquals( "org/apache/maven", rule.getPattern() );
61 assertEquals( 1, rule.getProxyConnectors().size() );
62 assertEquals( "snapshots", rule.getProxyConnectors().get( 0 ).getSourceRepoId() );
63 assertEquals( "central", rule.getProxyConnectors().get( 0 ).getTargetRepoId() );
64 assertEquals( ProxyConnectorRuleType.BLACK_LIST, rule.getProxyConnectorRuleType() );
65 }
66 finally
67 {
68 proxyConnectorRuleAdmin.deleteProxyConnectorRule( rule, getFakeAuditInformation() );
69 proxyConnectorAdmin.deleteProxyConnector( proxyConnector, getFakeAuditInformation() );
70 }
71 }
72
73 @Test
74 public void addProxyConnectorRuleWithTwoProxyConnectors()
75 throws Exception
76 {
77 RemoteRepository remoteRepository = new RemoteRepository();
78 remoteRepository.setId( "archiva" );
79 remoteRepository.setName( "archiva rocks" );
80 remoteRepository.setUrl( "http://wine.org" );
81
82 remoteRepositoryAdmin.addRemoteRepository( remoteRepository, getFakeAuditInformation() );
83
84 int size = proxyConnectorRuleAdmin.getProxyConnectorRules().size();
85 assertEquals( 0, size );
86 ProxyConnector proxyConnector1 = new ProxyConnector();
87 proxyConnector1.setSourceRepoId( "snapshots" );
88 proxyConnector1.setTargetRepoId( "central" );
89 proxyConnectorAdmin.addProxyConnector( proxyConnector1, getFakeAuditInformation() );
90
91 ProxyConnector proxyConnector2 = new ProxyConnector();
92 proxyConnector2.setSourceRepoId( "snapshots" );
93 proxyConnector2.setTargetRepoId( "archiva" );
94 proxyConnectorAdmin.addProxyConnector( proxyConnector2, getFakeAuditInformation() );
95
96 ProxyConnectorRule rule = new ProxyConnectorRule( "org/apache/maven", ProxyConnectorRuleType.BLACK_LIST,
97 Arrays.asList( proxyConnector1, proxyConnector2 ) );
98 try
99 {
100 proxyConnectorRuleAdmin.addProxyConnectorRule( rule, getFakeAuditInformation() );
101 assertEquals( size + 1, proxyConnectorRuleAdmin.getProxyConnectorRules().size() );
102
103 rule = proxyConnectorRuleAdmin.getProxyConnectorRules().get( 0 );
104
105 assertEquals( "org/apache/maven", rule.getPattern() );
106 assertEquals( 2, rule.getProxyConnectors().size() );
107 assertEquals( ProxyConnectorRuleType.BLACK_LIST, rule.getProxyConnectorRuleType() );
108 }
109 finally
110 {
111 proxyConnectorRuleAdmin.deleteProxyConnectorRule( rule, getFakeAuditInformation() );
112 proxyConnectorAdmin.deleteProxyConnector( proxyConnector1, getFakeAuditInformation() );
113 proxyConnectorAdmin.deleteProxyConnector( proxyConnector2, getFakeAuditInformation() );
114 remoteRepositoryAdmin.deleteRemoteRepository( remoteRepository.getId(), getFakeAuditInformation() );
115 }
116 }
117
118
119 @Test
120 public void updateProxyConnectorRuleWithTwoProxyConnectors()
121 throws Exception
122 {
123 RemoteRepository remoteRepository = new RemoteRepository();
124 remoteRepository.setId( "archiva" );
125 remoteRepository.setName( "archiva rocks" );
126 remoteRepository.setUrl( "http://wine.org" );
127
128 remoteRepositoryAdmin.addRemoteRepository( remoteRepository, getFakeAuditInformation() );
129
130 int size = proxyConnectorRuleAdmin.getProxyConnectorRules().size();
131 assertEquals( 0, size );
132 ProxyConnector proxyConnector1 = new ProxyConnector();
133 proxyConnector1.setSourceRepoId( "snapshots" );
134 proxyConnector1.setTargetRepoId( "central" );
135 proxyConnectorAdmin.addProxyConnector( proxyConnector1, getFakeAuditInformation() );
136
137 ProxyConnector proxyConnector2 = new ProxyConnector();
138 proxyConnector2.setSourceRepoId( "snapshots" );
139 proxyConnector2.setTargetRepoId( "archiva" );
140 proxyConnectorAdmin.addProxyConnector( proxyConnector2, getFakeAuditInformation() );
141
142 ProxyConnectorRule rule = new ProxyConnectorRule( "org/apache/maven", ProxyConnectorRuleType.BLACK_LIST,
143 Arrays.asList( proxyConnector1, proxyConnector2 ) );
144 try
145 {
146 proxyConnectorRuleAdmin.addProxyConnectorRule( rule, getFakeAuditInformation() );
147 assertEquals( size + 1, proxyConnectorRuleAdmin.getProxyConnectorRules().size() );
148
149 rule = proxyConnectorRuleAdmin.getProxyConnectorRules().get( 0 );
150
151 assertEquals( "org/apache/maven", rule.getPattern() );
152 assertEquals( 2, rule.getProxyConnectors().size() );
153
154
155 assertEquals( ProxyConnectorRuleType.BLACK_LIST, rule.getProxyConnectorRuleType() );
156
157 rule.setProxyConnectors( Arrays.asList( proxyConnector1 ) );
158
159 proxyConnectorRuleAdmin.updateProxyConnectorRule( rule, getFakeAuditInformation() );
160
161 assertEquals( size + 1, proxyConnectorRuleAdmin.getProxyConnectorRules().size() );
162
163 rule = proxyConnectorRuleAdmin.getProxyConnectorRules().get( 0 );
164
165 assertEquals( "org/apache/maven", rule.getPattern() );
166 assertEquals( 1, rule.getProxyConnectors().size() );
167 assertEquals( "snapshots", rule.getProxyConnectors().get( 0 ).getSourceRepoId() );
168 assertEquals( "central", rule.getProxyConnectors().get( 0 ).getTargetRepoId() );
169
170 }
171 finally
172 {
173 proxyConnectorRuleAdmin.deleteProxyConnectorRule( rule, getFakeAuditInformation() );
174 proxyConnectorAdmin.deleteProxyConnector( proxyConnector1, getFakeAuditInformation() );
175 proxyConnectorAdmin.deleteProxyConnector( proxyConnector2, getFakeAuditInformation() );
176 remoteRepositoryAdmin.deleteRemoteRepository( remoteRepository.getId(), getFakeAuditInformation() );
177 }
178 }
179
180 }