    1   /*
    2    * Licensed to the Apache Software Foundation (ASF) under one or more
    3    * contributor license agreements.  See the NOTICE file distributed with
    4    * this work for additional information regarding copyright ownership.
    5    * The ASF licenses this file to You under the Apache License, Version 2.0
    6    * (the "License"); you may not use this file except in compliance with
    7    * the License.  You may obtain a copy of the License at
    8    *
    9    *      http://www.apache.org/licenses/LICENSE-2.0
    10   *
    11   * Unless required by applicable law or agreed to in writing, software
    12   * distributed under the License is distributed on an "AS IS" BASIS,
    13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14   * See the License for the specific language governing permissions and
    15   * limitations under the License.
    16   */
    17  package org.apache.commons.fileupload;
    18
    19  import java.io.UnsupportedEncodingException;
    20  import java.util.List;
    21
    22  import javax.servlet.http.HttpServletRequest;
    23
    24  import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    25  import org.apache.commons.fileupload.servlet.ServletFileUpload;
    26
    27  import junit.framework.TestCase;
    28
    29
    30  /**
    31   * Base class for deriving test cases.
    32   */
    33  public abstract class FileUploadTestCase extends TestCase {
    34  	protected static final String CONTENT_TYPE = "multipart/form-data; boundary=---1234";
    35
    36  	protected List parseUpload(byte[] bytes) throws FileUploadException {
    37          return parseUpload(bytes, CONTENT_TYPE);
    38      }
    39
    40  	protected List parseUpload(byte[] bytes, String contentType) throws FileUploadException {
    41  		ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory());
    42          HttpServletRequest request = new MockHttpServletRequest(bytes, contentType);
    43
    44          List fileItems = upload.parseRequest(request);
    45          return fileItems;
    46  	}
    47
    48  	protected List parseUpload(String content)
    49      	throws UnsupportedEncodingException, FileUploadException
    50      {
    51  		byte[] bytes = content.getBytes("US-ASCII");
    52  		return parseUpload(bytes, CONTENT_TYPE);
    53      }
    54  }