]> source.dussan.org Git - archiva.git/blob
4eef8f532cb45c5a99ed995b141bcd83fbf054a1
[archiva.git] /
1 package org.apache.maven.archiva.web.rss;
2
3 /*
4  * Licensed to the Apache Software Foundation (ASF) under one
5  * or more contributor license agreements.  See the NOTICE file
6  * distributed with this work for additional information
7  * regarding copyright ownership.  The ASF licenses this file
8  * to you under the Apache License, Version 2.0 (the
9  * "License"); you may not use this file except in compliance
10  * with the License.  You may obtain a copy of the License at
11  *
12  *  http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17  * KIND, either express or implied.  See the License for the
18  * specific language governing permissions and limitations
19  * under the License.
20  */
21
22 import javax.servlet.http.HttpServletResponse;
23 import org.codehaus.plexus.spring.PlexusInSpringTestCase;
24 import com.meterware.httpunit.HttpException;
25 import com.meterware.httpunit.WebResponse;
26 import com.meterware.servletunit.ServletRunner;
27 import com.meterware.servletunit.ServletUnitClient;
28
29 /**
30  * 
31  * @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>
32  * @version
33  */
34 public class RssFeedServletTest
35     extends PlexusInSpringTestCase
36 {
37     private ServletRunner sr;
38
39     private ServletUnitClient client;
40
41     public void setUp()
42         throws Exception
43     {
44         sr = new ServletRunner( getTestFile( "src/test/webapp/WEB-INF/feedServletTest-web.xml" ) );
45         client = sr.newClient();
46     }
47
48     public void testRetrieveServlet()
49         throws Exception
50     {
51         RssFeedServlet servlet =
52             (RssFeedServlet) client.newInvocation( "http://localhost/rss/rss_feeds?repoId=test-repo" ).getServlet();
53         assertNotNull( servlet );
54     }
55
56     public void testRequestNewArtifactsInRepo()
57         throws Exception
58     {
59         RssFeedServlet servlet =
60             (RssFeedServlet) client.newInvocation( "http://localhost/rss/rss_feeds?repoId=test-repo" ).getServlet();
61         assertNotNull( servlet );
62
63         WebResponse response = client.getResponse( "http://localhost/rss/rss_feeds?repoId=test-repo" );
64         assertEquals( RssFeedServlet.MIME_TYPE, response.getHeaderField( "CONTENT-TYPE" ) );
65
66         assertNotNull( "Should have recieved a response", response );
67         assertEquals( "Should have been an OK response code.", HttpServletResponse.SC_OK, response.getResponseCode() );
68     }
69
70     public void testRequestNewVersionsOfArtifact()
71         throws Exception
72     {
73         RssFeedServlet servlet =
74             (RssFeedServlet) client.newInvocation(
75                                                    "http://localhost/rss/rss_feeds?groupId=org.apache.archiva&artifactId=artifact-two" ).getServlet();
76         assertNotNull( servlet );
77
78         WebResponse response = client.getResponse( "http://localhost/rss/rss_feeds?groupId=org.apache.archiva&artifactId=artifact-two" );        
79         assertEquals( RssFeedServlet.MIME_TYPE, response.getHeaderField( "CONTENT-TYPE" ) );
80
81         assertNotNull( "Should have recieved a response", response );
82         assertEquals( "Should have been an OK response code.", HttpServletResponse.SC_OK, response.getResponseCode() );        
83     }
84     
85     public void testInvalidRequest()
86         throws Exception
87     {
88         RssFeedServlet servlet =
89             (RssFeedServlet) client.newInvocation(
90                                                    "http://localhost/rss/rss_feeds?invalid_param=xxx" ).getServlet();
91         assertNotNull( servlet );
92
93         try
94         {
95             WebResponse response = client.getResponse( "http://localhost/rss/rss_feeds?invalid_param=xxx" );
96         }
97         catch ( HttpException he )
98         {
99             assertEquals( "Should have been a bad request response code.", HttpServletResponse.SC_BAD_REQUEST, he.getResponseCode() );
100         }                
101     }
102     
103     public void testUnAuthorizedRequest()
104         throws Exception
105     {
106         RssFeedServlet servlet =
107             (RssFeedServlet) client.newInvocation(
108                                                    "http://localhost/rss/rss_feeds" ).getServlet();
109         assertNotNull( servlet );
110     
111         //WebResponse response = client.getResponse( "http://localhost/rss/rss_feeds" );
112         //assertNotNull( "Should have recieved a response", response );
113         //assertEquals( "Should have been a bad request response code.", HttpServletResponse.SC_BAD_REQUEST, response.getResponseCode() );
114     } 
115
116     @Override
117     protected String getPlexusConfigLocation()
118     {
119         return "org/apache/maven/archiva/web/rss/RssFeedServletTest.xml";
120     }
121
122     @Override
123     protected void tearDown()
124         throws Exception
125     {
126         if ( client != null )
127         {
128             client.clearContents();
129         }
130
131         if ( sr != null )
132         {
133             sr.shutDown();
134         }
135
136         super.tearDown();
137     }
138
139 }