You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2006/08/14 17:20:09 UTC
svn commit: r431367 - in
/maven/repository-manager/trunk/maven-repository-proxy/src/test:
java/org/apache/maven/repository/proxy/ repositories/legacy-managed/
repositories/legacy-managed/org.apache.maven.test/
repositories/legacy-managed/org.apache.mav...
Author: brett
Date: Mon Aug 14 08:20:08 2006
New Revision: 431367
URL: http://svn.apache.org/viewvc?rev=431367&view=rev
Log:
[MRM-138] add legacy layout tests
Added:
maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-managed/
maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-managed/org.apache.maven.test/
maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-managed/org.apache.maven.test/jars/
maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-managed/org.apache.maven.test/jars/get-default-layout-present-1.0.jar
maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-proxied/
maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/
maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/jars/
maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/jars/get-default-layout-1.0.jar
maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/jars/get-default-layout-present-1.0.jar
Modified:
maven/repository-manager/trunk/maven-repository-proxy/src/test/java/org/apache/maven/repository/proxy/ProxyRequestHandlerTest.java
maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/managed/org/apache/maven/test/get-updated-metadata/.metadata-proxied1
Modified: maven/repository-manager/trunk/maven-repository-proxy/src/test/java/org/apache/maven/repository/proxy/ProxyRequestHandlerTest.java
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-proxy/src/test/java/org/apache/maven/repository/proxy/ProxyRequestHandlerTest.java?rev=431367&r1=431366&r2=431367&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-proxy/src/test/java/org/apache/maven/repository/proxy/ProxyRequestHandlerTest.java (original)
+++ maven/repository-manager/trunk/maven-repository-proxy/src/test/java/org/apache/maven/repository/proxy/ProxyRequestHandlerTest.java Mon Aug 14 08:20:08 2006
@@ -40,6 +40,7 @@
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
+import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Locale;
@@ -48,10 +49,6 @@
* Test the proxy handler.
*
* @author Brett Porter
- * @todo! tests to do vvv
- * @todo test when managed repo is m1 layout (proxy is m2), including metadata
- * @todo test when one proxied repo is m1 layout (managed is m2), including metadata
- * @todo test when one proxied repo is m1 layout (managed is m1), including metadata
*/
public class ProxyRequestHandlerTest
extends PlexusTestCase
@@ -60,12 +57,18 @@
private List proxiedRepositories;
+ private List legacyProxiedRepositories;
+
private ArtifactRepository defaultManagedRepository;
+ private ArtifactRepository legacyManagedRepository;
+
private ArtifactRepository proxiedRepository1;
private ArtifactRepository proxiedRepository2;
+ private ArtifactRepository legacyProxiedRepository;
+
private ArtifactRepositoryLayout defaultLayout;
private ArtifactRepositoryFactory factory;
@@ -87,15 +90,25 @@
requestHandler = (ProxyRequestHandler) lookup( ProxyRequestHandler.ROLE );
+ factory = (ArtifactRepositoryFactory) lookup( ArtifactRepositoryFactory.ROLE );
+
File repoLocation = getTestFile( "target/test-repository/managed" );
FileUtils.deleteDirectory( repoLocation );
copyDirectoryStructure( getTestFile( "src/test/repositories/managed" ), repoLocation );
defaultLayout = (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE, "default" );
- factory = (ArtifactRepositoryFactory) lookup( ArtifactRepositoryFactory.ROLE );
defaultManagedRepository = createRepository( "managed-repository", repoLocation );
+ repoLocation = getTestFile( "target/test-repository/legacy-managed" );
+ FileUtils.deleteDirectory( repoLocation );
+ copyDirectoryStructure( getTestFile( "src/test/repositories/legacy-managed" ), repoLocation );
+
+ ArtifactRepositoryLayout legacyLayout =
+ (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE, "legacy" );
+
+ legacyManagedRepository = createRepository( "managed-repository", repoLocation );
+
File location = getTestFile( "src/test/repositories/proxied1" );
proxiedRepository1 = createRepository( "proxied1", location );
@@ -106,6 +119,11 @@
proxiedRepositories.add( createProxiedRepository( proxiedRepository1 ) );
proxiedRepositories.add( createProxiedRepository( proxiedRepository2 ) );
+ location = getTestFile( "src/test/repositories/legacy-proxied" );
+ legacyProxiedRepository = createRepository( "legacy-proxied", location, legacyLayout );
+
+ legacyProxiedRepositories = Collections.singletonList( createProxiedRepository( legacyProxiedRepository ) );
+
wagonMockControl = MockControl.createNiceControl( Wagon.class );
wagonMock = (Wagon) wagonMockControl.getMock();
WagonDelegate delegate = (WagonDelegate) lookup( Wagon.ROLE, "test" );
@@ -1457,6 +1475,136 @@
assertFalse( "Check file contents", unexpectedContents.equals( FileUtils.fileRead( file ) ) );
}
+ public void testLegacyManagedRepoGetNotPresent()
+ throws IOException, ResourceDoesNotExistException, ProxyException
+ {
+ String path = "org.apache.maven.test/jars/get-default-layout-1.0.jar";
+ File expectedFile = new File( legacyManagedRepository.getBasedir(), path );
+
+ assertFalse( expectedFile.exists() );
+
+ File file = requestHandler.get( path, proxiedRepositories, legacyManagedRepository );
+
+ assertEquals( "Check file matches", expectedFile, file );
+ assertTrue( "Check file created", file.exists() );
+ File proxiedFile = new File( proxiedRepository1.getBasedir(),
+ "org/apache/maven/test/get-default-layout/1.0/get-default-layout-1.0.jar" );
+ String expectedContents = FileUtils.fileRead( proxiedFile );
+ assertEquals( "Check file contents", expectedContents, FileUtils.fileRead( file ) );
+ // TODO: timestamp preservation requires support for that in wagon
+// assertEquals( "Check file timestamp", proxiedFile.lastModified(), file.lastModified() );
+ }
+
+ public void testLegacyManagedRepoGetAlreadyPresent()
+ throws IOException, ResourceDoesNotExistException, ProxyException
+ {
+ String path = "org.apache.maven.test/jars/get-default-layout-present-1.0.jar";
+ File expectedFile = new File( legacyManagedRepository.getBasedir(), path );
+ String expectedContents = FileUtils.fileRead( expectedFile );
+ long originalModificationTime = expectedFile.lastModified();
+
+ assertTrue( expectedFile.exists() );
+
+ File file = requestHandler.get( path, proxiedRepositories, legacyManagedRepository );
+
+ assertEquals( "Check file matches", expectedFile, file );
+ assertTrue( "Check file created", file.exists() );
+ assertEquals( "Check file contents", expectedContents, FileUtils.fileRead( file ) );
+ File proxiedFile = new File( proxiedRepository1.getBasedir(),
+ "org/apache/maven/test/get-default-layout-present/1.0/get-default-layout-present-1.0.jar" );
+ String unexpectedContents = FileUtils.fileRead( proxiedFile );
+ assertFalse( "Check file contents", unexpectedContents.equals( FileUtils.fileRead( file ) ) );
+ assertFalse( "Check file timestamp is not that of proxy", proxiedFile.lastModified() == file.lastModified() );
+ assertEquals( "Check file timestamp is that of original managed file", originalModificationTime,
+ file.lastModified() );
+ }
+
+ public void testLegacyProxyRepoGetNotPresent()
+ throws IOException, ResourceDoesNotExistException, ProxyException
+ {
+ String path = "org/apache/maven/test/get-default-layout/1.0/get-default-layout-1.0.jar";
+ File expectedFile = new File( defaultManagedRepository.getBasedir(), path );
+
+ assertFalse( expectedFile.exists() );
+
+ File file = requestHandler.get( path, legacyProxiedRepositories, defaultManagedRepository );
+
+ assertEquals( "Check file matches", expectedFile, file );
+ assertTrue( "Check file created", file.exists() );
+ File proxiedFile =
+ new File( legacyProxiedRepository.getBasedir(), "org.apache.maven.test/jars/get-default-layout-1.0.jar" );
+ String expectedContents = FileUtils.fileRead( proxiedFile );
+ assertEquals( "Check file contents", expectedContents, FileUtils.fileRead( file ) );
+ // TODO: timestamp preservation requires support for that in wagon
+// assertEquals( "Check file timestamp", proxiedFile.lastModified(), file.lastModified() );
+ }
+
+ public void testLegacyProxyRepoGetAlreadyPresent()
+ throws IOException, ResourceDoesNotExistException, ProxyException
+ {
+ String path = "org/apache/maven/test/get-default-layout-present/1.0/get-default-layout-present-1.0.jar";
+ File expectedFile = new File( defaultManagedRepository.getBasedir(), path );
+ String expectedContents = FileUtils.fileRead( expectedFile );
+ long originalModificationTime = expectedFile.lastModified();
+
+ assertTrue( expectedFile.exists() );
+
+ File file = requestHandler.get( path, legacyProxiedRepositories, defaultManagedRepository );
+
+ assertEquals( "Check file matches", expectedFile, file );
+ assertTrue( "Check file created", file.exists() );
+ assertEquals( "Check file contents", expectedContents, FileUtils.fileRead( file ) );
+ File proxiedFile = new File( legacyProxiedRepository.getBasedir(),
+ "org.apache.maven.test/jars/get-default-layout-present-1.0.jar" );
+ String unexpectedContents = FileUtils.fileRead( proxiedFile );
+ assertFalse( "Check file contents", unexpectedContents.equals( FileUtils.fileRead( file ) ) );
+ assertFalse( "Check file timestamp is not that of proxy", proxiedFile.lastModified() == file.lastModified() );
+ assertEquals( "Check file timestamp is that of original managed file", originalModificationTime,
+ file.lastModified() );
+ }
+
+ public void testLegacyManagedAndProxyRepoGetNotPresent()
+ throws IOException, ResourceDoesNotExistException, ProxyException
+ {
+ String path = "org.apache.maven.test/jars/get-default-layout-1.0.jar";
+ File expectedFile = new File( legacyManagedRepository.getBasedir(), path );
+
+ assertFalse( expectedFile.exists() );
+
+ File file = requestHandler.get( path, legacyProxiedRepositories, legacyManagedRepository );
+
+ assertEquals( "Check file matches", expectedFile, file );
+ assertTrue( "Check file created", file.exists() );
+ File proxiedFile = new File( legacyProxiedRepository.getBasedir(), path );
+ String expectedContents = FileUtils.fileRead( proxiedFile );
+ assertEquals( "Check file contents", expectedContents, FileUtils.fileRead( file ) );
+ // TODO: timestamp preservation requires support for that in wagon
+// assertEquals( "Check file timestamp", proxiedFile.lastModified(), file.lastModified() );
+ }
+
+ public void testLegacyManagedAndProxyRepoGetAlreadyPresent()
+ throws IOException, ResourceDoesNotExistException, ProxyException
+ {
+ String path = "org.apache.maven.test/jars/get-default-layout-present-1.0.jar";
+ File expectedFile = new File( legacyManagedRepository.getBasedir(), path );
+ String expectedContents = FileUtils.fileRead( expectedFile );
+ long originalModificationTime = expectedFile.lastModified();
+
+ assertTrue( expectedFile.exists() );
+
+ File file = requestHandler.get( path, legacyProxiedRepositories, legacyManagedRepository );
+
+ assertEquals( "Check file matches", expectedFile, file );
+ assertTrue( "Check file created", file.exists() );
+ assertEquals( "Check file contents", expectedContents, FileUtils.fileRead( file ) );
+ File proxiedFile = new File( legacyProxiedRepository.getBasedir(), path );
+ String unexpectedContents = FileUtils.fileRead( proxiedFile );
+ assertFalse( "Check file contents", unexpectedContents.equals( FileUtils.fileRead( file ) ) );
+ assertFalse( "Check file timestamp is not that of proxy", proxiedFile.lastModified() == file.lastModified() );
+ assertEquals( "Check file timestamp is that of original managed file", originalModificationTime,
+ file.lastModified() );
+ }
+
private static Date getPastDate()
throws ParseException
{
@@ -1567,6 +1715,12 @@
throws MalformedURLException
{
return createRepository( id, repoLocation.toURI().toURL().toExternalForm() );
+ }
+
+ private ArtifactRepository createRepository( String id, File location, ArtifactRepositoryLayout layout )
+ throws MalformedURLException
+ {
+ return createRepository( id, location.toURI().toURL().toExternalForm(), layout );
}
private ArtifactRepository createRepository( String id, String url )
Added: maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-managed/org.apache.maven.test/jars/get-default-layout-present-1.0.jar
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-managed/org.apache.maven.test/jars/get-default-layout-present-1.0.jar?rev=431367&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-managed/org.apache.maven.test/jars/get-default-layout-present-1.0.jar (added)
+++ maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-managed/org.apache.maven.test/jars/get-default-layout-present-1.0.jar Mon Aug 14 08:20:08 2006
@@ -0,0 +1,2 @@
+get-default-layout-present-1.0.jar
+(managed)
Added: maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/jars/get-default-layout-1.0.jar
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/jars/get-default-layout-1.0.jar?rev=431367&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/jars/get-default-layout-1.0.jar (added)
+++ maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/jars/get-default-layout-1.0.jar Mon Aug 14 08:20:08 2006
@@ -0,0 +1 @@
+get-default-layout-1.0.jar
Added: maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/jars/get-default-layout-present-1.0.jar
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/jars/get-default-layout-present-1.0.jar?rev=431367&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/jars/get-default-layout-present-1.0.jar (added)
+++ maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/jars/get-default-layout-present-1.0.jar Mon Aug 14 08:20:08 2006
@@ -0,0 +1,2 @@
+get-default-layout-present-1.0.jar
+(proxied)
Modified: maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/managed/org/apache/maven/test/get-updated-metadata/.metadata-proxied1
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/managed/org/apache/maven/test/get-updated-metadata/.metadata-proxied1?rev=431367&r1=431366&r2=431367&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/managed/org/apache/maven/test/get-updated-metadata/.metadata-proxied1 (original)
+++ maven/repository-manager/trunk/maven-repository-proxy/src/test/repositories/managed/org/apache/maven/test/get-updated-metadata/.metadata-proxied1 Mon Aug 14 08:20:08 2006
@@ -17,9 +17,9 @@
<metadata>
<groupId>org.apache.maven.test</groupId>
<artifactId>get-updated-metadata</artifactId>
- <versionining>
+ <versioning>
<versions>
<version>1.0</version>
</versions>
- </versionining>
-</metadata>
\ No newline at end of file
+ </versioning>
+</metadata>