diff options
author | Brett Porter <brett@apache.org> | 2006-08-14 15:20:08 +0000 |
---|---|---|
committer | Brett Porter <brett@apache.org> | 2006-08-14 15:20:08 +0000 |
commit | 8c96d47a9d3432d961069e754821c9668a68df61 (patch) | |
tree | 2937542748836c7ab79ef5e5cd3db53700958126 | |
parent | e31602a2a49784f351c01751692bb927772241ee (diff) | |
download | archiva-8c96d47a9d3432d961069e754821c9668a68df61.tar.gz archiva-8c96d47a9d3432d961069e754821c9668a68df61.zip |
[MRM-138] add legacy layout tests
git-svn-id: https://svn.apache.org/repos/asf/maven/repository-manager/trunk@431367 13f79535-47bb-0310-9956-ffa450edef68
5 files changed, 167 insertions, 8 deletions
diff --git a/maven-repository-proxy/src/test/java/org/apache/maven/repository/proxy/ProxyRequestHandlerTest.java b/maven-repository-proxy/src/test/java/org/apache/maven/repository/proxy/ProxyRequestHandlerTest.java index e5af26ed7..b71be98b9 100644 --- a/maven-repository-proxy/src/test/java/org/apache/maven/repository/proxy/ProxyRequestHandlerTest.java +++ b/maven-repository-proxy/src/test/java/org/apache/maven/repository/proxy/ProxyRequestHandlerTest.java @@ -40,6 +40,7 @@ import java.text.ParseException; 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 @@ import java.util.Locale; * 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 @@ public class ProxyRequestHandlerTest 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 @@ public class ProxyRequestHandlerTest 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 @@ public class ProxyRequestHandlerTest 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 @@ public class ProxyRequestHandlerTest 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 { @@ -1569,6 +1717,12 @@ public class ProxyRequestHandlerTest 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 ) { return createRepository( id, url, defaultLayout ); diff --git a/maven-repository-proxy/src/test/repositories/legacy-managed/org.apache.maven.test/jars/get-default-layout-present-1.0.jar b/maven-repository-proxy/src/test/repositories/legacy-managed/org.apache.maven.test/jars/get-default-layout-present-1.0.jar new file mode 100644 index 000000000..bf26f6b57 --- /dev/null +++ b/maven-repository-proxy/src/test/repositories/legacy-managed/org.apache.maven.test/jars/get-default-layout-present-1.0.jar @@ -0,0 +1,2 @@ +get-default-layout-present-1.0.jar
+(managed)
diff --git a/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/jars/get-default-layout-1.0.jar b/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/jars/get-default-layout-1.0.jar new file mode 100644 index 000000000..77dbb7858 --- /dev/null +++ b/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/jars/get-default-layout-1.0.jar @@ -0,0 +1 @@ +get-default-layout-1.0.jar diff --git a/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/jars/get-default-layout-present-1.0.jar b/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/jars/get-default-layout-present-1.0.jar new file mode 100644 index 000000000..9f4121a86 --- /dev/null +++ b/maven-repository-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/jars/get-default-layout-present-1.0.jar @@ -0,0 +1,2 @@ +get-default-layout-present-1.0.jar
+(proxied)
diff --git a/maven-repository-proxy/src/test/repositories/managed/org/apache/maven/test/get-updated-metadata/.metadata-proxied1 b/maven-repository-proxy/src/test/repositories/managed/org/apache/maven/test/get-updated-metadata/.metadata-proxied1 index 98361ced9..76b43d62a 100644 --- a/maven-repository-proxy/src/test/repositories/managed/org/apache/maven/test/get-updated-metadata/.metadata-proxied1 +++ b/maven-repository-proxy/src/test/repositories/managed/org/apache/maven/test/get-updated-metadata/.metadata-proxied1 @@ -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>
|