1 package org.apache.maven.archiva.webdav;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import com.meterware.httpunit.GetMethodWebRequest;
23 import com.meterware.httpunit.WebRequest;
24 import com.meterware.httpunit.WebResponse;
25 import org.apache.commons.io.FileUtils;
26
27 import java.io.File;
28
29
30
31
32
33
34 public class RepositoryServletNoProxyMetadataTest
35 extends AbstractRepositoryServletTestCase
36 {
37 public void testGetVersionMetadataDefaultLayout()
38 throws Exception
39 {
40 String commonsLangMetadata = "commons-lang/commons-lang/2.1/maven-metadata.xml";
41 String expectedMetadataContents = "metadata-for-commons-lang-version-2.1";
42
43 File checksumFile = new File( repoRootInternal, commonsLangMetadata );
44 checksumFile.getParentFile().mkdirs();
45
46 FileUtils.writeStringToFile( checksumFile, expectedMetadataContents, null );
47
48 WebRequest request = new GetMethodWebRequest( "http://machine.com/repository/internal/" + commonsLangMetadata );
49 WebResponse response = sc.getResponse( request );
50 assertResponseOK( response );
51
52 assertEquals( "Expected file contents", expectedMetadataContents, response.getText() );
53 }
54
55 public void testGetProjectMetadataDefaultLayout()
56 throws Exception
57 {
58 String commonsLangMetadata = "commons-lang/commons-lang/maven-metadata.xml";
59 String expectedMetadataContents = "metadata-for-commons-lang-version-for-project";
60
61 File checksumFile = new File( repoRootInternal, commonsLangMetadata );
62 checksumFile.getParentFile().mkdirs();
63
64 FileUtils.writeStringToFile( checksumFile, expectedMetadataContents, null );
65
66 WebRequest request = new GetMethodWebRequest( "http://machine.com/repository/internal/" + commonsLangMetadata );
67 WebResponse response = sc.getResponse( request );
68 assertResponseOK( response );
69
70 assertEquals( "Expected file contents", expectedMetadataContents, response.getText() );
71 }
72
73 public void testGetGroupMetadataDefaultLayout()
74 throws Exception
75 {
76 String commonsLangMetadata = "commons-lang/maven-metadata.xml";
77 String expectedMetadataContents = "metadata-for-commons-lang-group";
78
79 File checksumFile = new File( repoRootInternal, commonsLangMetadata );
80 checksumFile.getParentFile().mkdirs();
81
82 FileUtils.writeStringToFile( checksumFile, expectedMetadataContents, null );
83
84 WebRequest request = new GetMethodWebRequest( "http://machine.com/repository/internal/" + commonsLangMetadata );
85 WebResponse response = sc.getResponse( request );
86 assertResponseOK( response );
87
88 assertEquals( "Expected file contents", expectedMetadataContents, response.getText() );
89 }
90
91 public void testGetSnapshotVersionMetadataDefaultLayout()
92 throws Exception
93 {
94 String assemblyPluginMetadata = "org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-2-SNAPSHOT/maven-metadata.xml";
95 String expectedMetadataContents = "metadata-for-assembly-plugin-version-2.2-beta-2-SNAPSHOT";
96
97 File checksumFile = new File( repoRootInternal, assemblyPluginMetadata );
98 checksumFile.getParentFile().mkdirs();
99
100 FileUtils.writeStringToFile( checksumFile, expectedMetadataContents, null );
101
102 WebRequest request = new GetMethodWebRequest( "http://machine.com/repository/internal/" + assemblyPluginMetadata );
103 WebResponse response = sc.getResponse( request );
104 assertResponseOK( response );
105
106 assertEquals( "Expected file contents", expectedMetadataContents, response.getText() );
107 }
108
109 }