1 package org.apache.maven.report.projectinfo;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.net.URL;
23 import java.util.Locale;
24
25 import org.apache.maven.report.projectinfo.MailingListsReport.MailingListsRenderer;
26
27 import junitx.util.PrivateAccessor;
28
29 import com.meterware.httpunit.GetMethodWebRequest;
30 import com.meterware.httpunit.TextBlock;
31 import com.meterware.httpunit.WebConversation;
32 import com.meterware.httpunit.WebRequest;
33 import com.meterware.httpunit.WebResponse;
34
35
36
37
38
39
40 public class MailingListsReportTest
41 extends AbstractProjectInfoTestCase
42 {
43
44
45
46 private static final WebConversation WEB_CONVERSATION = new WebConversation();
47
48
49
50
51
52
53 public void testReport()
54 throws Exception
55 {
56 generateReport( "mailing-list", "mailing-list-plugin-config.xml" );
57 assertTrue( "Test html generated", getGeneratedReport( "mail-lists.html" ).exists() );
58
59 URL reportURL = getGeneratedReport( "mail-lists.html" ).toURI().toURL();
60 assertNotNull( reportURL );
61
62
63 WebRequest request = new GetMethodWebRequest( reportURL.toString() );
64 WebResponse response = WEB_CONVERSATION.getResponse( request );
65
66
67 assertTrue( response.isHTML() );
68 assertTrue( response.getContentLength() > 0 );
69
70
71 assertEquals( getString( "report.mailing-lists.title" ), response.getTitle() );
72
73
74 TextBlock[] textBlocks = response.getTextBlocks();
75 assertEquals( getString( "report.mailing-lists.title" ), textBlocks[0].getText() );
76 assertEquals( getString( "report.mailing-lists.intro" ), textBlocks[1].getText() );
77 }
78
79
80
81
82
83
84 public void testFrenchReport()
85 throws Exception
86 {
87 Locale oldLocale = Locale.getDefault();
88
89 try
90 {
91 Locale.setDefault( Locale.FRENCH );
92
93 generateReport( "mailing-list", "mailing-list-plugin-config.xml" );
94 assertTrue( "Test html generated", getGeneratedReport( "mail-lists.html" ).exists() );
95 }
96 finally
97 {
98 Locale.setDefault( oldLocale );
99 }
100 }
101
102
103
104
105 public void testGetArchiveServer()
106 throws Throwable
107 {
108 String server = "http://mail-archives.apache.org/mod_mbox/maven-announce/";
109 assertEquals( "mail-archives.apache.org", invokeGetArchiveServer( server ) );
110
111 server = "http://mail-archives.apache.org/mod_mbox/maven-announce";
112 assertEquals( "mail-archives.apache.org", invokeGetArchiveServer( server ) );
113
114 server = "http://www.mail-archive.com/announce@maven.apache.org";
115 assertEquals( "www.mail-archive.com", invokeGetArchiveServer( server ) );
116
117 server = "http://www.nabble.com/Maven-Announcements-f15617.html";
118 assertEquals( "www.nabble.com", invokeGetArchiveServer( server ) );
119
120 server = "http://maven.announce.markmail.org/";
121 assertEquals( "maven.announce.markmail.org", invokeGetArchiveServer( server ) );
122
123 server = "http://maven.announce.markmail.org";
124 assertEquals( "maven.announce.markmail.org", invokeGetArchiveServer( server ) );
125 }
126
127
128
129
130 private static String invokeGetArchiveServer( String s )
131 throws Throwable
132 {
133 return (String) PrivateAccessor.invoke( MailingListsRenderer.class, "getArchiveServer",
134 new Class[] { String.class }, new Object[] { s } );
135 }
136 }