Home » HttpComponents-Core-4.0.1 » org.apache.http.entity » [javadoc | source]

    1   /*
    2    * $HeadURL: https://svn.apache.org/repos/asf/jakarta/httpcomponents/httpcore/tags/4.0-alpha2/src/test/org/apache/http/entity/TestBasicHttpEntity.java $
    3    * $Revision: 385310 $
    4    * $Date: 2006-03-12 17:28:43 +0100 (Sun, 12 Mar 2006) $
    5    * 
    6    * ====================================================================
    7    *
    8    *  Copyright 1999-2006 The Apache Software Foundation
    9    *
   10    *  Licensed under the Apache License, Version 2.0 (the "License");
   11    *  you may not use this file except in compliance with the License.
   12    *  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.http.entity;
   31   
   32   import java.io.ByteArrayInputStream;
   33   import java.io.ByteArrayOutputStream;
   34   import java.io.InputStream;
   35   
   36   import org.apache.http.protocol.HTTP;
   37   
   38   import junit.framework.Test;
   39   import junit.framework.TestCase;
   40   import junit.framework.TestSuite;
   41   
   42   /**
   43    * Unit tests for {@link BasicHttpEntity}.
   44    *
   45    * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
   46    */
   47   public class TestBasicHttpEntity extends TestCase {
   48   
   49       public TestBasicHttpEntity(String testName) {
   50           super(testName);
   51       }
   52   
   53       public static void main(String args[]) {
   54           String[] testCaseName = { TestBasicHttpEntity.class.getName() };
   55           junit.textui.TestRunner.main(testCaseName);
   56       }
   57   
   58       public static Test suite() {
   59           return new TestSuite(TestBasicHttpEntity.class);
   60       }
   61   
   62       public void testBasics() throws Exception {
   63       	
   64       	byte[] bytes = "Message content".getBytes(HTTP.US_ASCII);
   65       	InputStream content = new ByteArrayInputStream(bytes);
   66       	BasicHttpEntity httpentity = new BasicHttpEntity();
   67       	httpentity.setContent(content);
   68       	httpentity.setContentLength(bytes.length);
   69       	
   70       	assertEquals(bytes.length, httpentity.getContentLength());
   71       	assertFalse(httpentity.isRepeatable());
   72           assertTrue(httpentity.isStreaming());
   73       }
   74       
   75       public void testContent() throws Exception {
   76           byte[] bytes = "Message content".getBytes(HTTP.US_ASCII);
   77           InputStream content = new ByteArrayInputStream(bytes);
   78           BasicHttpEntity httpentity = new BasicHttpEntity();
   79           try {
   80               httpentity.getContent();
   81               fail("IllegalStateException should have been thrown");
   82           } catch (IllegalStateException ex) {
   83               // expected
   84           }
   85   
   86           httpentity.setContent(null);
   87           try {
   88               httpentity.getContent();
   89               fail("IllegalStateException should have been thrown");
   90           } catch (IllegalStateException ex) {
   91               // expected
   92           }
   93   
   94           httpentity.setContent(content);
   95           httpentity.getContent();
   96           try {
   97               httpentity.getContent();
   98               fail("IllegalStateException should have been thrown");
   99           } catch (IllegalStateException ex) {
  100               // expected
  101           }
  102   
  103       }
  104       
  105       public void testWriteTo() throws Exception {
  106       	byte[] bytes = "Message content".getBytes(HTTP.US_ASCII);
  107       	InputStream content = new ByteArrayInputStream(bytes);
  108       	BasicHttpEntity httpentity = new BasicHttpEntity();
  109       	httpentity.setContent(content);
  110       	
  111       	ByteArrayOutputStream out = new ByteArrayOutputStream();
  112       	httpentity.writeTo(out);
  113       	byte[] bytes2 = out.toByteArray();
  114       	assertNotNull(bytes2);
  115       	assertEquals(bytes.length, bytes2.length);
  116       	for (int i = 0; i < bytes.length; i++) {
  117       		assertEquals(bytes[i], bytes2[i]);
  118       	}
  119           out = new ByteArrayOutputStream();
  120           try {
  121               httpentity.writeTo(out);
  122               fail("IllegalStateException should have been thrown");
  123           } catch (IllegalStateException ex) {
  124               // expected
  125           }
  126   
  127       	httpentity.setContent(null);
  128           out = new ByteArrayOutputStream();
  129           try {
  130               httpentity.writeTo(out);
  131               fail("IllegalStateException should have been thrown");
  132           } catch (IllegalStateException ex) {
  133               // expected
  134           }
  135   
  136       	try {
  137       		httpentity.writeTo(null);
  138       		fail("IllegalArgumentException should have been thrown");
  139       	} catch (IllegalArgumentException ex) {
  140       		// expected
  141       	}
  142       }
  143   
  144       public void testConsumeContent() throws Exception {
  145           byte[] bytes = "Message content".getBytes(HTTP.US_ASCII);
  146           InputStream content = new ByteArrayInputStream(bytes);
  147           BasicHttpEntity httpentity = new BasicHttpEntity();
  148           httpentity.setContent(null);
  149           httpentity.consumeContent();
  150           httpentity.setContent(content);
  151           httpentity.consumeContent();
  152       }
  153       
  154   }

Home » HttpComponents-Core-4.0.1 » org.apache.http.entity » [javadoc | source]