Java Source Code: org.apache.commons.httpclient.cookie.TestCookieIgnoreSpec


   1: /*
   2:  * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//httpclient/src/test/org/apache/commons/httpclient/cookie/TestCookieIgnoreSpec.java,v 1.5 2004/10/31 14:42:59 olegk Exp $
   3:  * $Revision: 480424 $
   4:  * $Date: 2006-11-29 06:56:49 +0100 (Wed, 29 Nov 2006) $
   5:  * ====================================================================
   6:  *
   7:  *  Licensed to the Apache Software Foundation (ASF) under one or more
   8:  *  contributor license agreements.  See the NOTICE file distributed with
   9:  *  this work for additional information regarding copyright ownership.
  10:  *  The ASF licenses this file to You under the Apache License, Version 2.0
  11:  *  (the "License"); you may not use this file except in compliance with
  12:  *  the License.  You may obtain a copy of the License at
  13:  *
  14:  *      http://www.apache.org/licenses/LICENSE-2.0
  15:  *
  16:  *  Unless required by applicable law or agreed to in writing, software
  17:  *  distributed under the License is distributed on an "AS IS" BASIS,
  18:  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  19:  *  See the License for the specific language governing permissions and
  20:  *  limitations under the License.
  21:  * ====================================================================
  22:  *
  23:  * This software consists of voluntary contributions made by many
  24:  * individuals on behalf of the Apache Software Foundation.  For more
  25:  * information on the Apache Software Foundation, please see
  26:  * <http://www.apache.org/>.
  27:  *
  28:  */
  29: 
  30: package org.apache.commons.httpclient.cookie;
  31: 
  32: import java.io.IOException;
  33: 
  34: import junit.framework.Test;
  35: import junit.framework.TestSuite;
  36: 
  37: import org.apache.commons.httpclient.Cookie;
  38: import org.apache.commons.httpclient.Header;
  39: import org.apache.commons.httpclient.HttpClientTestBase;
  40: import org.apache.commons.httpclient.HttpStatus;
  41: import org.apache.commons.httpclient.HttpVersion;
  42: import org.apache.commons.httpclient.methods.GetMethod;
  43: import org.apache.commons.httpclient.server.HttpService;
  44: import org.apache.commons.httpclient.server.SimpleRequest;
  45: import org.apache.commons.httpclient.server.SimpleResponse;
  46: 
  47: 
  48: /**
  49:  * Test cases for ignore cookie apec
  50:  *
  51:  * @author Michael Becke
  52:  * 
  53:  * @version $Revision: 480424 $
  54:  */
  55:	  public class TestCookieIgnoreSpec extends HttpClientTestBase {
  56:
  57:    // ------------------------------------------------------------ Constructor
  58:
  59:	      public TestCookieIgnoreSpec(final String testName) throws IOException {
  60:        super(testName);
  61:    }
  62:
  63:    // ------------------------------------------------------- TestCase Methods
  64:
  65:	      public static Test suite() {
  66:        return new TestSuite(TestCookieIgnoreSpec.class);
  67:    }
  68:
  69:	      private class BasicAuthService implements HttpService {
  70:
  71:	          public BasicAuthService() {
  72:            super();
  73:        }
  74:
  75:        public boolean process(final SimpleRequest request, final SimpleResponse response)
  76:            throws IOException
  77:	          {
  78:            HttpVersion ver = request.getRequestLine().getHttpVersion();
  79:            response.setStatusLine(ver, HttpStatus.SC_OK);
  80:            response.addHeader(new Header("Connection", "close"));
  81:            response.addHeader(new Header("Set-Cookie", 
  82:                "custno = 12345; comment=test; version=1," +
  83:                " name=John; version=1; max-age=600; secure; domain=.apache.org"));
  84:            return true;
  85:        }
  86:    }
  87:
  88:	      public void testIgnoreCookies() throws Exception {
  89:        this.server.setHttpService(new BasicAuthService());
  90:
  91:        GetMethod httpget = new GetMethod("/");
  92:        httpget.getParams().setCookiePolicy(CookiePolicy.IGNORE_COOKIES);
  93:        
  94:	          try {
  95:            this.client.executeMethod(httpget);
  96:        } finally {
  97:            httpget.releaseConnection();
  98:        }
  99:        assertEquals("Cookie parsing should have been disabled", 
 100:                0, this.client.getState().getCookies().length);
 101:    }
 102:
 103:	      public void testKeepCloverHappy() throws Exception {
 104:        CookieSpec cookiespec = new IgnoreCookiesSpec();
 105:        cookiespec.parseAttribute(null, null);
 106:        cookiespec.parse("host", 80, "/", false, (String)null);
 107:        cookiespec.parse("host", 80, "/", false, (Header)null);
 108:        cookiespec.validate("host", 80, "/", false, (Cookie)null);
 109:        cookiespec.match("host", 80, "/", false, (Cookie)null);
 110:        cookiespec.match("host", 80, "/", false, (Cookie [])null);
 111:        cookiespec.domainMatch(null, null);
 112:        cookiespec.pathMatch(null, null);
 113:        cookiespec.match("host", 80, "/", false, (Cookie [])null);
 114:        cookiespec.formatCookie(null);
 115:        cookiespec.formatCookies(null);
 116:        cookiespec.formatCookieHeader((Cookie)null);
 117:        cookiespec.formatCookieHeader((Cookie [])null);
 118:    }
 119:}