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.name" ) + " - " + getString( "report.mailing-lists.title" ),
72 response.getTitle() );
73
74
75 TextBlock[] textBlocks = response.getTextBlocks();
76 assertEquals( textBlocks[0].getText(), getString( "report.mailing-lists.title" ) );
77 assertEquals( textBlocks[1].getText(), getString( "report.mailing-lists.intro" ) );
78 }
79
80
81
82
83
84
85 public void testFrenchReport()
86 throws Exception
87 {
88 Locale oldLocale = Locale.getDefault();
89
90 try
91 {
92 Locale.setDefault( Locale.FRENCH );
93
94 generateReport( "mailing-list", "mailing-list-plugin-config.xml" );
95 assertTrue( "Test html generated", getGeneratedReport( "mail-lists.html" ).exists() );
96 }
97 finally
98 {
99 Locale.setDefault( oldLocale );
100 }
101 }
102
103
104
105
106 public void testGetArchiveServer()
107 throws Throwable
108 {
109 String server = "http://mail-archives.apache.org/mod_mbox/maven-announce/";
110 assertEquals( "mail-archives.apache.org", invokeGetArchiveServer( server ) );
111
112 server = "http://mail-archives.apache.org/mod_mbox/maven-announce";
113 assertEquals( "mail-archives.apache.org", invokeGetArchiveServer( server ) );
114
115 server = "http://www.mail-archive.com/announce@maven.apache.org";
116 assertEquals( "www.mail-archive.com", invokeGetArchiveServer( server ) );
117
118 server = "http://www.nabble.com/Maven-Announcements-f15617.html";
119 assertEquals( "www.nabble.com", invokeGetArchiveServer( server ) );
120
121 server = "http://maven.announce.markmail.org/";
122 assertEquals( "maven.announce.markmail.org", invokeGetArchiveServer( server ) );
123
124 server = "http://maven.announce.markmail.org";
125 assertEquals( "maven.announce.markmail.org", invokeGetArchiveServer( server ) );
126 }
127
128
129
130
131 private static String invokeGetArchiveServer( String s )
132 throws Throwable
133 {
134 return (String) PrivateAccessor.invoke( MailingListsRenderer.class, "getArchiveServer",
135 new Class[] { String.class }, new Object[] { s } );
136 }
137 }