Author: olamy
Date: Sat Sep  3 07:44:31 2011
New Revision: 1164815

URL: http://svn.apache.org/viewvc?rev=1164815&view=rev
Log:
start to get RID of org.apache.maven.archiva package : rss package

Added:
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/rss/
      - copied from r1164812, 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/rss/
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/rss/
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/rss/RssFeedServletTest.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/rss/SecuritySystemStub.java
Modified:
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/rss/RssFeedServlet.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/rss/
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/rss/
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/spring-context-rss-servlet.xml
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/webapp/WEB-INF/feedServletTest-web.xml

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/rss/RssFeedServlet.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/rss/RssFeedServlet.java?rev=1164815&r1=1164812&r2=1164815&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/rss/RssFeedServlet.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/rss/RssFeedServlet.java
 Sat Sep  3 07:44:31 2011
@@ -1,4 +1,4 @@
-package org.apache.maven.archiva.web.rss;
+package org.apache.archiva.web.rss;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml?rev=1164815&r1=1164814&r2=1164815&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
 Sat Sep  3 07:44:31 2011
@@ -142,8 +142,8 @@
        <servlet>
                <servlet-name>RssFeedServlet</servlet-name>
                <servlet-class>
-                       org.apache.maven.archiva.web.rss.RssFeedServlet
-               </servlet-class>
+      org.apache.archiva.web.rss.RssFeedServlet
+    </servlet-class>
        </servlet>
 
        <servlet-mapping>

Added: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/rss/RssFeedServletTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/rss/RssFeedServletTest.java?rev=1164815&view=auto
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/rss/RssFeedServletTest.java
 (added)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/rss/RssFeedServletTest.java
 Sat Sep  3 07:44:31 2011
@@ -0,0 +1,186 @@
+package org.apache.archiva.web.rss;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import com.meterware.httpunit.GetMethodWebRequest;
+import com.meterware.httpunit.HttpException;
+import com.meterware.httpunit.WebRequest;
+import com.meterware.httpunit.WebResponse;
+import com.meterware.servletunit.ServletRunner;
+import com.meterware.servletunit.ServletUnitClient;
+import junit.framework.TestCase;
+import org.apache.commons.codec.Encoder;
+import org.apache.commons.codec.binary.Base64;
+import sun.misc.BASE64Encoder;
+
+import java.io.File;
+import javax.servlet.http.HttpServletResponse;
+
+public class RssFeedServletTest
+    extends TestCase
+{
+    private ServletRunner sr;
+
+    private ServletUnitClient client;
+
+    public void setUp()
+        throws Exception
+    {
+        sr = new ServletRunner( new File( 
"src/test/webapp/WEB-INF/feedServletTest-web.xml" ) );
+        client = sr.newClient();
+    }
+
+    public void testRetrieveServlet()
+        throws Exception
+    {
+        RssFeedServlet servlet = (RssFeedServlet) client.newInvocation(
+            "http://localhost/feeds/test-repo"; ).getServlet();
+        assertNotNull( servlet );
+    }
+
+    public void testRequestNewArtifactsInRepo()
+        throws Exception
+    {
+        RssFeedServlet servlet = (RssFeedServlet) client.newInvocation(
+            "http://localhost/feeds/test-repo"; ).getServlet();
+        assertNotNull( servlet );
+
+        WebRequest request = new GetMethodWebRequest( 
"http://localhost/feeds/test-repo"; );
+
+        BASE64Encoder encoder = new BASE64Encoder();
+        String userPass = "user1:password1";
+        String encodedUserPass = encoder.encode( userPass.getBytes() );
+        request.setHeaderField( "Authorization", "BASIC " + encodedUserPass );
+
+        WebResponse response = client.getResponse( request );
+        assertEquals( RssFeedServlet.MIME_TYPE, response.getHeaderField( 
"CONTENT-TYPE" ) );
+        assertNotNull( "Should have recieved a response", response );
+        assertEquals( "Should have been an OK response code.", 
HttpServletResponse.SC_OK, response.getResponseCode() );
+    }
+
+    public void testRequestNewVersionsOfArtifact()
+        throws Exception
+    {
+        RssFeedServlet servlet = (RssFeedServlet) client.newInvocation(
+            "http://localhost/feeds/org/apache/archiva/artifact-two"; 
).getServlet();
+        assertNotNull( servlet );
+
+        WebRequest request = new GetMethodWebRequest( 
"http://localhost/feeds/org/apache/archiva/artifact-two"; );
+
+        BASE64Encoder encoder = new BASE64Encoder();
+        String userPass = "user1:password1";
+        String encodedUserPass = encoder.encode( userPass.getBytes() );
+        request.setHeaderField( "Authorization", "BASIC " + encodedUserPass );
+
+        WebResponse response = client.getResponse( request );
+        assertEquals( RssFeedServlet.MIME_TYPE, response.getHeaderField( 
"CONTENT-TYPE" ) );
+        assertNotNull( "Should have recieved a response", response );
+        assertEquals( "Should have been an OK response code.", 
HttpServletResponse.SC_OK, response.getResponseCode() );
+    }
+
+    public void XXX_testInvalidRequest()
+        throws Exception
+    {
+        RssFeedServlet servlet = (RssFeedServlet) client.newInvocation(
+            "http://localhost/feeds?invalid_param=xxx"; ).getServlet();
+        assertNotNull( servlet );
+
+        try
+        {
+            WebResponse resp = client.getResponse( 
"http://localhost/feeds?invalid_param=xxx"; );
+            assertEquals( HttpServletResponse.SC_BAD_REQUEST, 
resp.getResponseCode() );
+        }
+        catch ( HttpException he )
+        {
+            assertEquals( "Should have been a bad request response code.", 
HttpServletResponse.SC_BAD_REQUEST,
+                          he.getResponseCode() );
+        }
+    }
+
+    public void XXX_testInvalidAuthenticationRequest()
+        throws Exception
+    {
+        RssFeedServlet servlet = (RssFeedServlet) client.newInvocation(
+            "http://localhost/feeds/unauthorized-repo"; ).getServlet();
+        assertNotNull( servlet );
+
+        WebRequest request = new GetMethodWebRequest( 
"http://localhost/feeds/unauthorized-repo"; );
+
+        Encoder encoder = new Base64();
+        String userPass = "unauthUser:unauthPass";
+        String encodedUserPass = new String( (byte[]) encoder.encode( 
userPass.getBytes() ) );
+        request.setHeaderField( "Authorization", "BASIC " + encodedUserPass );
+
+        try
+        {
+            WebResponse resp = client.getResponse( request );
+            assertEquals( HttpServletResponse.SC_UNAUTHORIZED, 
resp.getResponseCode() );
+        }
+        catch ( HttpException he )
+        {
+            assertEquals( "Should have been a unauthorized response.", 
HttpServletResponse.SC_UNAUTHORIZED,
+                          he.getResponseCode() );
+        }
+    }
+
+    public void XXX_testUnauthorizedRequest()
+        throws Exception
+    {
+        RssFeedServlet servlet = (RssFeedServlet) client.newInvocation(
+            "http://localhost/feeds/unauthorized-repo"; ).getServlet();
+        assertNotNull( servlet );
+
+        WebRequest request = new GetMethodWebRequest( 
"http://localhost/feeds/unauthorized-repo"; );
+
+        BASE64Encoder encoder = new BASE64Encoder();
+        String userPass = "user1:password1";
+        String encodedUserPass = encoder.encode( userPass.getBytes() );
+        request.setHeaderField( "Authorization", "BASIC " + encodedUserPass );
+
+        try
+        {
+            WebResponse resp = client.getResponse( request );
+            assertEquals( HttpServletResponse.SC_UNAUTHORIZED, 
resp.getResponseCode() );
+        }
+        catch ( HttpException he )
+        {
+            assertEquals( "Should have been a unauthorized response.", 
HttpServletResponse.SC_UNAUTHORIZED,
+                          he.getResponseCode() );
+        }
+    }
+
+    @Override
+    protected void tearDown()
+        throws Exception
+    {
+        if ( client != null )
+        {
+            client.clearContents();
+        }
+
+        if ( sr != null )
+        {
+            sr.shutDown();
+        }
+
+        super.tearDown();
+    }
+
+}

Added: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/rss/SecuritySystemStub.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/rss/SecuritySystemStub.java?rev=1164815&view=auto
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/rss/SecuritySystemStub.java
 (added)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/rss/SecuritySystemStub.java
 Sat Sep  3 07:44:31 2011
@@ -0,0 +1,155 @@
+package org.apache.archiva.web.rss;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.codehaus.plexus.redback.authentication.AuthenticationDataSource;
+import org.codehaus.plexus.redback.authentication.AuthenticationException;
+import org.codehaus.plexus.redback.authentication.AuthenticationResult;
+import org.codehaus.plexus.redback.authorization.AuthorizationException;
+import org.codehaus.plexus.redback.authorization.AuthorizationResult;
+import org.codehaus.plexus.redback.keys.KeyManager;
+import org.codehaus.plexus.redback.policy.AccountLockedException;
+import org.codehaus.plexus.redback.policy.UserSecurityPolicy;
+import org.codehaus.plexus.redback.system.DefaultSecuritySession;
+import org.codehaus.plexus.redback.system.SecuritySession;
+import org.codehaus.plexus.redback.system.SecuritySystem;
+import org.codehaus.plexus.redback.users.User;
+import org.codehaus.plexus.redback.users.UserManager;
+import org.codehaus.plexus.redback.users.UserNotFoundException;
+import org.codehaus.plexus.redback.users.jdo.JdoUser;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * SecuritySystem stub used for testing.
+ *
+ * @version $Id$
+ */
+public class SecuritySystemStub
+    implements SecuritySystem
+{
+    Map<String, String> users = new HashMap<String, String>();
+
+    List<String> repoIds = new ArrayList<String>();
+
+    public SecuritySystemStub()
+    {
+        users.put( "user1", "password1" );
+        users.put( "user2", "password2" );
+        users.put( "user3", "password3" );
+
+        repoIds.add( "test-repo" );
+    }
+
+    public SecuritySession authenticate( AuthenticationDataSource source )
+        throws AuthenticationException, UserNotFoundException, 
AccountLockedException
+    {
+        AuthenticationResult result = null;
+        SecuritySession session = null;
+
+        if ( users.get( source.getPrincipal() ) != null )
+        {
+            result = new AuthenticationResult( true, source.getPrincipal(), 
null );
+
+            User user = new JdoUser();
+            user.setUsername( source.getPrincipal() );
+            user.setPassword( users.get( source.getPrincipal() ) );
+
+            session = new DefaultSecuritySession( result, user );
+        }
+        else
+        {
+            result = new AuthenticationResult( false, source.getPrincipal(), 
null );
+            session = new DefaultSecuritySession( result );
+        }
+        return session;
+    }
+
+    public AuthorizationResult authorize( SecuritySession arg0, Object arg1 )
+        throws AuthorizationException
+    {
+        return null;
+    }
+
+    public AuthorizationResult authorize( SecuritySession arg0, Object arg1, 
Object arg2 )
+        throws AuthorizationException
+    {
+        AuthorizationResult result = new AuthorizationResult( true, arg1, null 
);
+
+        return result;
+    }
+
+    public String getAuthenticatorId()
+    {
+        return null;
+    }
+
+    public String getAuthorizerId()
+    {
+        return null;
+    }
+
+    public KeyManager getKeyManager()
+    {
+        return null;
+    }
+
+    public UserSecurityPolicy getPolicy()
+    {
+        return null;
+    }
+
+    public String getUserManagementId()
+    {
+        return null;
+    }
+
+    public UserManager getUserManager()
+    {
+        return null;
+    }
+
+    public boolean isAuthenticated( AuthenticationDataSource arg0 )
+        throws AuthenticationException, UserNotFoundException, 
AccountLockedException
+    {
+        return false;
+    }
+
+    public boolean isAuthorized( SecuritySession arg0, Object arg1 )
+        throws AuthorizationException
+    {
+        return false;
+    }
+
+    public boolean isAuthorized( SecuritySession arg0, Object arg1, Object 
arg2 )
+        throws AuthorizationException
+    {
+        if ( repoIds.contains( arg2 ) )
+        {
+            return true;
+        }
+
+        return false;
+    }
+
+}

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/spring-context-rss-servlet.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/spring-context-rss-servlet.xml?rev=1164815&r1=1164814&r2=1164815&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/spring-context-rss-servlet.xml
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/spring-context-rss-servlet.xml
 Sat Sep  3 07:44:31 2011
@@ -39,7 +39,7 @@
   <alias name="userRepositories#test" alias="userRepositories"/>
 
 
-  <bean name="securitySystem#test" 
class="org.apache.maven.archiva.web.rss.SecuritySystemStub"/>
+  <bean name="securitySystem#test" 
class="org.apache.archiva.web.rss.SecuritySystemStub"/>
 
   <alias name="securitySystem#test" alias="securitySystem"/>
 

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/webapp/WEB-INF/feedServletTest-web.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/webapp/WEB-INF/feedServletTest-web.xml?rev=1164815&r1=1164814&r2=1164815&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/webapp/WEB-INF/feedServletTest-web.xml
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/webapp/WEB-INF/feedServletTest-web.xml
 Sat Sep  3 07:44:31 2011
@@ -35,7 +35,7 @@
 
   <servlet>
     <servlet-name>RssFeedServlet</servlet-name>
-    
<servlet-class>org.apache.maven.archiva.web.rss.RssFeedServlet</servlet-class>
+    <servlet-class>org.apache.archiva.web.rss.RssFeedServlet</servlet-class>
   </servlet>
 
   <servlet-mapping>


Reply via email to