]> source.dussan.org Git - archiva.git/blob
7fcb198e63a3f1e85ceb28c43985910583db7139
[archiva.git] /
1 package org.apache.maven.archiva.proxy;
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 org.apache.maven.archiva.model.ArtifactReference;
23 import org.apache.maven.archiva.policies.CachedFailuresPolicy;
24 import org.apache.maven.archiva.policies.ChecksumPolicy;
25 import org.apache.maven.archiva.policies.ReleasesPolicy;
26 import org.apache.maven.archiva.policies.SnapshotsPolicy;
27 import org.junit.Test;
28
29 import java.io.File;
30
31 /**
32  * ManagedLegacyTransferTest 
33  *
34  * @version $Id$
35  */
36 public class ManagedLegacyTransferTest
37     extends AbstractProxyTestCase
38 {
39     /**
40      * Incoming request on a Managed Legacy repository, for content that does not
41      * exist in the managed legacy repository, but does exist on a remote default layout repository.
42      */
43     @Test
44     public void testManagedLegacyNotPresentRemoteDefaultPresent()
45         throws Exception
46     {
47         String path = "org.apache.maven.test/jars/get-default-layout-1.0.jar";
48         File expectedFile = new File( managedLegacyDir, path );
49         ArtifactReference artifact = managedLegacyRepository.toArtifactReference( path );
50
51         assertNotExistsInManagedLegacyRepo( expectedFile );
52
53         // Configure Connector (usually done within archiva.xml configuration)
54         saveConnector( ID_LEGACY_MANAGED, ID_PROXIED1, false );
55
56         File downloadedFile = proxyHandler.fetchFromProxies( managedLegacyRepository, artifact );
57
58         File proxied2File = new File( REPOPATH_PROXIED1,
59                                       "org/apache/maven/test/get-default-layout/1.0/get-default-layout-1.0.jar" );
60         assertFileEquals( expectedFile, downloadedFile, proxied2File );
61         assertNoTempFiles( expectedFile );
62     }
63
64     /**
65      * Incoming request on a Managed Legacy repository, for content that already
66      * exist in the managed legacy repository, and also exist on a remote default layout repository.
67      */
68     @Test
69     public void testManagedLegacyPresentRemoteDefaultPresent()
70         throws Exception
71     {
72         String path = "org.apache.maven.test/jars/get-default-layout-present-1.0.jar";
73         String remotePath = "org/apache/maven/test/get-default-layout-present/1.0/get-default-layout-present-1.0.jar";
74         
75         File expectedFile = new File( managedLegacyDir, path );
76         File remoteFile = new File( REPOPATH_PROXIED1, remotePath );
77
78         setManagedOlderThanRemote( expectedFile, remoteFile );
79         
80         ArtifactReference artifact = managedLegacyRepository.toArtifactReference( path );
81
82         // Configure Connector (usually done within archiva.xml configuration)
83         saveConnector( ID_LEGACY_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
84                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
85
86         File downloadedFile = proxyHandler.fetchFromProxies( managedLegacyRepository, artifact );
87
88         assertFileEquals( expectedFile, downloadedFile, remoteFile );
89         assertNoTempFiles( expectedFile );
90     }
91
92     /**
93      * Incoming request on a Managed Legacy repository, for content that does not
94      * exist in the managed legacy repository, and does not exist on a remote legacy layout repository.
95      */
96     @Test
97     public void testManagedLegacyNotPresentRemoteLegacyPresent()
98         throws Exception
99     {
100         String path = "org.apache.maven.test/plugins/get-legacy-plugin-1.0.jar";
101         File expectedFile = new File( managedLegacyDir, path );
102         ArtifactReference artifact = managedLegacyRepository.toArtifactReference( path );
103
104         assertNotExistsInManagedLegacyRepo( expectedFile );
105
106         // Configure Connector (usually done within archiva.xml configuration)
107         saveConnector( ID_LEGACY_MANAGED, ID_LEGACY_PROXIED, false );
108
109         File downloadedFile = proxyHandler.fetchFromProxies( managedLegacyRepository, artifact );
110
111         File proxiedFile = new File( REPOPATH_PROXIED_LEGACY, path );
112         assertFileEquals( expectedFile, downloadedFile, proxiedFile );
113         assertNoTempFiles( expectedFile );
114     }
115
116     /**
117      * Incoming request on a Managed Legacy repository, for content that does exist in the 
118      * managed legacy repository, and also exists on a remote legacy layout repository. 
119      */
120     @Test
121     public void testManagedLegacyPresentRemoteLegacyPresent()
122         throws Exception
123     {
124         String path = "org.apache.maven.test/jars/get-default-layout-present-1.0.jar";
125         File expectedFile = new File( managedLegacyDir, path );
126         File remoteFile = new File( REPOPATH_PROXIED_LEGACY, path );
127
128         setManagedOlderThanRemote( expectedFile, remoteFile );
129         
130         ArtifactReference artifact = managedLegacyRepository.toArtifactReference( path );
131
132         // Configure Connector (usually done within archiva.xml configuration)
133         saveConnector( ID_LEGACY_MANAGED, ID_LEGACY_PROXIED, false );
134
135         File downloadedFile = proxyHandler.fetchFromProxies( managedLegacyRepository, artifact );
136
137         assertFileEquals( expectedFile, downloadedFile, remoteFile );
138         assertNoTempFiles( expectedFile );
139     }
140
141     /**
142      * Incoming request on a Managed Legacy repository, for content that does exist in the 
143      * managed legacy repository, and does not exist on a remote legacy layout repository. 
144      */
145     @Test
146     public void testManagedLegacyPresentRemoteLegacyNotPresent()
147         throws Exception
148     {
149         String path = "org.apache.maven.test/jars/managed-only-lib-2.1.jar";
150         File expectedFile = new File( managedLegacyDir, path );
151         ArtifactReference artifact = managedLegacyRepository.toArtifactReference( path );
152
153         assertTrue( expectedFile.exists() );
154
155         // Configure Connector (usually done within archiva.xml configuration)
156         saveConnector( ID_LEGACY_MANAGED, ID_LEGACY_PROXIED, false );
157
158         File downloadedFile = proxyHandler.fetchFromProxies( managedLegacyRepository, artifact );
159
160         assertNotDownloaded( downloadedFile );
161         assertNoTempFiles( expectedFile );
162     }
163
164     /**
165      * Incoming request on a Managed Legacy repository, for content that does exist in the 
166      * managed legacy repository, and does not exists on a remote default layout repository. 
167      */
168     @Test
169     public void testManagedLegacyPresentRemoteDefaultNotPresent()
170         throws Exception
171     {
172         String path = "org.apache.maven.test/jars/managed-only-lib-2.1.jar";
173         File expectedFile = new File( managedLegacyDir, path );
174         ArtifactReference artifact = managedLegacyRepository.toArtifactReference( path );
175
176         assertTrue( expectedFile.exists() );
177
178         // Configure Connector (usually done within archiva.xml configuration)
179         saveConnector( ID_LEGACY_MANAGED, ID_PROXIED1, false );
180
181         File downloadedFile = proxyHandler.fetchFromProxies( managedLegacyRepository, artifact );
182
183         assertNotDownloaded( downloadedFile );
184         assertNoTempFiles( expectedFile );
185     }
186
187     /**
188      * Incoming request on a Managed Legacy repository, for content that does not exist in the 
189      * managed legacy repository, and does not exists on a remote legacy layout repository. 
190      */
191     @Test
192     public void testManagedLegacyNotPresentRemoteLegacyNotPresent()
193         throws Exception
194     {
195         String path = "org.apache.archiva.test/jars/mystery-lib-1.0.jar";
196         File expectedFile = new File( managedLegacyDir, path );
197         ArtifactReference artifact = managedLegacyRepository.toArtifactReference( path );
198
199         assertNotExistsInManagedLegacyRepo( expectedFile );
200
201         // Configure Connector (usually done within archiva.xml configuration)
202         saveConnector( ID_LEGACY_MANAGED, ID_LEGACY_PROXIED, false );
203
204         File downloadedFile = proxyHandler.fetchFromProxies( managedLegacyRepository, artifact );
205
206         assertNotDownloaded( downloadedFile );
207         assertNoTempFiles( expectedFile );
208     }
209
210     /**
211      * Incoming request on a Managed Legacy repository, for content that does not exist in the 
212      * managed legacy repository, and does not exists on a remote default layout repository. 
213      */
214     @Test
215     public void testManagedLegacyNotPresentRemoteDefaultNotPresent()
216         throws Exception
217     {
218         String path = "org.apache.archiva.test/jars/mystery-lib-2.1.jar";
219         File expectedFile = new File( managedLegacyDir, path );
220         ArtifactReference artifact = managedLegacyRepository.toArtifactReference( path );
221
222         assertNotExistsInManagedLegacyRepo( expectedFile );
223
224         // Configure Connector (usually done within archiva.xml configuration)
225         saveConnector( ID_LEGACY_MANAGED, ID_PROXIED1, false );
226
227         File downloadedFile = proxyHandler.fetchFromProxies( managedLegacyRepository, artifact );
228
229         assertNotDownloaded( downloadedFile );
230         assertNoTempFiles( expectedFile );
231     }
232 }