You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by bw...@apache.org on 2003/06/12 10:02:42 UTC

cvs commit: maven-new/fetch/src/test/java/org/apache/maven/fetch FetchTest.java

bwalding    2003/06/12 01:02:42

  Modified:    fetch/src/test/java/org/apache/maven/fetch FetchTest.java
  Log:
  Test user-agent components
  
  Revision  Changes    Path
  1.5       +115 -1    maven-new/fetch/src/test/java/org/apache/maven/fetch/FetchTest.java
  
  Index: FetchTest.java
  ===================================================================
  RCS file: /home/cvs/maven-new/fetch/src/test/java/org/apache/maven/fetch/FetchTest.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- FetchTest.java	25 May 2003 14:54:54 -0000	1.4
  +++ FetchTest.java	12 Jun 2003 08:02:42 -0000	1.5
  @@ -1,5 +1,61 @@
   package org.apache.maven.fetch;
   
  +/* ====================================================================
  + * The Apache Software License, Version 1.1
  + *
  + * Copyright (c) 2003 The Apache Software Foundation.  All rights
  + * reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without
  + * modification, are permitted provided that the following conditions
  + * are met:
  + *
  + * 1. Redistributions of source code must retain the above copyright
  + *    notice, this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright
  + *    notice, this list of conditions and the following disclaimer in
  + *    the documentation and/or other materials provided with the
  + *    distribution.
  + *
  + * 3. The end-user documentation included with the redistribution,
  + *    if any, must include the following acknowledgment:
  + *       "This product includes software developed by the
  + *        Apache Software Foundation (http://www.apache.org/)."
  + *    Alternately, this acknowledgment may appear in the software itself,
  + *    if and wherever such third-party acknowledgments normally appear.
  + *
  + * 4. The names "Apache" and "Apache Software Foundation" and
  + *    "Apache Maven" must not be used to endorse or promote products
  + *    derived from this software without prior written permission. For
  + *    written permission, please contact apache@apache.org.
  + *
  + * 5. Products derived from this software may not be called "Apache",
  + *    "Apache Maven", nor may "Apache" appear in their name, without
  + *    prior written permission of the Apache Software Foundation.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  + * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  + * SUCH DAMAGE.
  + * ====================================================================
  + *
  + * This software consists of voluntary contributions made by many
  + * individuals on behalf of the Apache Software Foundation.  For more
  + * information on the Apache Software Foundation, please see
  + * <http://www.apache.org/>.
  + *
  + * ====================================================================
  + */
  +
   import java.io.ByteArrayOutputStream;
   import java.io.File;
   import java.text.ParseException;
  @@ -11,6 +67,7 @@
   import org.apache.maven.fetch.exceptions.NotAuthorizedFetchException;
   import org.apache.maven.fetch.exceptions.NotModifiedFetchException;
   import org.apache.maven.fetch.exceptions.ProxyNotAuthorizedFetchException;
  +import org.apache.maven.fetch.exceptions.UnsupportedProtocolFetchException;
   import org.apache.maven.fetch.jetty.JettyTestEngine;
   import org.mortbay.util.MultiException;
   
  @@ -205,6 +262,63 @@
   
           FetchResponse dresp = bean.performDownload(dreq);
           assertNotNull(dresp);
  +        assertEquals("THIS IS TEST-DATA-1.TXT", baos.toString());
  +    }
  +
  +    public void testUnknownProtocol() throws FetchException
  +    {
  +        try
  +        {
  +            FetchTool bean = new FetchTool();
  +
  +            FetchRequest dreq = new FetchRequest("shrub://test/fred.html");
  +            ByteArrayOutputStream baos = new ByteArrayOutputStream();
  +            dreq.setOutputStream(baos);
  +            bean.performDownload(dreq);
  +            fail("shrub is not a valid protocol. FetchTool should have thrown an exception,");
  +        }
  +        catch (UnsupportedProtocolFetchException e)
  +        {
  +            //success
  +        }
  +    }
  +
  +    /**
  +     * This tests the end-to-end handling of both authorisation (based on user agent)
  +     * and the transfer of user-agent amongst components.
  +     * @throws InterruptedException
  +     * @throws FetchException
  +     */
  +    public void testUserAgentFred() throws InterruptedException, FetchException
  +    {
  +        try
  +        {
  +            FetchTool bean = new FetchTool();
  +
  +            FetchRequest dreq = new FetchRequest(testEngine.getUrl("/useragent-repo/test-data-1.txt"));
  +            dreq.setUser("Fred");
  +            ByteArrayOutputStream baos = new ByteArrayOutputStream();
  +            dreq.setOutputStream(baos);
  +
  +            bean.performDownload(dreq);
  +            fail("Should have thrown " + NotAuthorizedFetchException.class.getName());
  +        }
  +        catch (NotAuthorizedFetchException e)
  +        {
  +            //Success
  +        }
  +    }
  +
  +    public void testUserAgentBonza() throws InterruptedException, FetchException
  +    {
  +        FetchTool bean = new FetchTool();
  +
  +        FetchRequest dreq = new FetchRequest(testEngine.getUrl("/useragent-repo/test-data-1.txt"));
  +        dreq.setHeaderUserAgent("Bonza");
  +        ByteArrayOutputStream baos = new ByteArrayOutputStream();
  +        dreq.setOutputStream(baos);
  +
  +        bean.performDownload(dreq);
           assertEquals("THIS IS TEST-DATA-1.TXT", baos.toString());
       }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org