This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-fileupload.git
The following commit(s) were added to refs/heads/master by this push: new ad9a1df Refactor for testing both Javax and Jakarta ad9a1df is described below commit ad9a1df99e54897eb8035c5c77abbd6aac501cf0 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Mon May 22 14:19:45 2023 -0400 Refactor for testing both Javax and Jakarta --- .../org/apache/commons/fileupload2/FileUpload.java | 20 +- .../org/apache/commons/fileupload2}/SizesTest.java | 58 ++-- .../fileupload2/jakarta/JakartaSizesTest.java | 45 ++++ .../jakarta}/MockHttpServletRequest.java | 291 ++++++++++++++------- .../commons/fileupload2/javax/JavaxSizesTest.java | 45 ++++ .../fileupload2/javax/MockHttpServletRequest.java | 167 ++++++------ .../commons/fileupload2/javax/StreamingTest.java | 4 +- 7 files changed, 404 insertions(+), 226 deletions(-) diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileUpload.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileUpload.java index ce45d75..32753cc 100644 --- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileUpload.java +++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileUpload.java @@ -69,16 +69,6 @@ public abstract class FileUpload<T> extends AbstractFileUpload { return fileItemFactory; } - /** - * Sets the factory class to use when creating file items. - * - * @param factory The factory class for new file items. - */ - @Override - public void setFileItemFactory(final FileItemFactory factory) { - this.fileItemFactory = factory; - } - /** * Gets a file item iterator. * @@ -109,4 +99,14 @@ public abstract class FileUpload<T> extends AbstractFileUpload { */ public abstract List<FileItem> parseRequest(T request) throws FileUploadException; + /** + * Sets the factory class to use when creating file items. + * + * @param factory The factory class for new file items. + */ + @Override + public void setFileItemFactory(final FileItemFactory factory) { + this.fileItemFactory = factory; + } + } diff --git a/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/SizesTest.java b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/SizesTest.java similarity index 76% rename from commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/SizesTest.java rename to commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/SizesTest.java index 7d14d16..86d85b6 100644 --- a/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/SizesTest.java +++ b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/SizesTest.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.fileupload2.javax; +package org.apache.commons.fileupload2; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -25,17 +25,8 @@ import static org.junit.jupiter.api.Assertions.fail; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; -import java.nio.charset.StandardCharsets; import java.util.List; -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.fileupload2.Constants; -import org.apache.commons.fileupload2.FileItem; -import org.apache.commons.fileupload2.FileItemIterator; -import org.apache.commons.fileupload2.FileItemStream; -import org.apache.commons.fileupload2.FileUploadException; -import org.apache.commons.fileupload2.disk.DiskFileItemFactory; import org.apache.commons.fileupload2.pub.FileUploadByteCountLimitException; import org.apache.commons.fileupload2.pub.FileUploadSizeException; import org.apache.commons.io.IOUtils; @@ -43,8 +34,15 @@ import org.junit.jupiter.api.Test; /** * Unit test for items with varying sizes. + * + * @param <F> The subclass of FileUpload. + * @param <R> The type of FileUpload request. */ -public class SizesTest { +public abstract class SizesTest<F extends FileUpload<R>, R> { + + protected abstract F newFileUpload(); + + protected abstract R newMockHttpServletRequest(String request, Integer overrideContenLength, Integer overrideReadLimit); /** * Checks, whether limiting the file size works. @@ -62,25 +60,25 @@ public class SizesTest { "-----1234--\r\n"; // @formatter:on - ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory()); + F upload = newFileUpload(); upload.setFileSizeMax(-1); - HttpServletRequest req = new MockHttpServletRequest(request.getBytes(StandardCharsets.US_ASCII), Constants.CONTENT_TYPE); + R req = newMockHttpServletRequest(request, null, null); List<FileItem> fileItems = upload.parseRequest(req); assertEquals(1, fileItems.size()); FileItem item = fileItems.get(0); assertEquals("This is the content of the file\n", new String(item.get())); - upload = new ServletFileUpload(new DiskFileItemFactory()); + upload = newFileUpload(); upload.setFileSizeMax(40); - req = new MockHttpServletRequest(request.getBytes(StandardCharsets.US_ASCII), Constants.CONTENT_TYPE); + req = newMockHttpServletRequest(request, null, null); fileItems = upload.parseRequest(req); assertEquals(1, fileItems.size()); item = fileItems.get(0); assertEquals("This is the content of the file\n", new String(item.get())); - upload = new ServletFileUpload(new DiskFileItemFactory()); + upload = newFileUpload(); upload.setFileSizeMax(30); - req = new MockHttpServletRequest(request.getBytes(StandardCharsets.US_ASCII), Constants.CONTENT_TYPE); + req = newMockHttpServletRequest(request, null, null); try { upload.parseRequest(req); fail("Expected exception."); @@ -106,26 +104,26 @@ public class SizesTest { "-----1234--\r\n"; // @formatter:on - ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory()); + F upload = newFileUpload(); upload.setFileSizeMax(-1); - HttpServletRequest req = new MockHttpServletRequest(request.getBytes(StandardCharsets.US_ASCII), Constants.CONTENT_TYPE); + R req = newMockHttpServletRequest(request, null, null); List<FileItem> fileItems = upload.parseRequest(req); assertEquals(1, fileItems.size()); FileItem item = fileItems.get(0); assertEquals("This is the content of the file\n", new String(item.get())); - upload = new ServletFileUpload(new DiskFileItemFactory()); + upload = newFileUpload(); upload.setFileSizeMax(40); - req = new MockHttpServletRequest(request.getBytes(StandardCharsets.US_ASCII), Constants.CONTENT_TYPE); + req = newMockHttpServletRequest(request, null, null); fileItems = upload.parseRequest(req); assertEquals(1, fileItems.size()); item = fileItems.get(0); assertEquals("This is the content of the file\n", new String(item.get())); // provided Content-Length is larger than the FileSizeMax -> handled by ctor - upload = new ServletFileUpload(new DiskFileItemFactory()); + upload = newFileUpload(); upload.setFileSizeMax(5); - req = new MockHttpServletRequest(request.getBytes(StandardCharsets.US_ASCII), Constants.CONTENT_TYPE); + req = newMockHttpServletRequest(request, null, null); try { upload.parseRequest(req); fail("Expected exception."); @@ -134,9 +132,9 @@ public class SizesTest { } // provided Content-Length is wrong, actual content is larger -> handled by LimitedInputStream - upload = new ServletFileUpload(new DiskFileItemFactory()); + upload = newFileUpload(); upload.setFileSizeMax(15); - req = new MockHttpServletRequest(request.getBytes(StandardCharsets.US_ASCII), Constants.CONTENT_TYPE); + req = newMockHttpServletRequest(request, null, null); try { upload.parseRequest(req); fail("Expected exception."); @@ -168,11 +166,11 @@ public class SizesTest { "-----1234--\r\n"; // @formatter:on - final ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory()); + final F upload = newFileUpload(); upload.setFileSizeMax(-1); upload.setSizeMax(200); - final MockHttpServletRequest req = new MockHttpServletRequest(request.getBytes(StandardCharsets.US_ASCII), Constants.CONTENT_TYPE); + final R req = newMockHttpServletRequest(request, null, null); try { upload.parseRequest(req); fail("Expected exception."); @@ -201,7 +199,7 @@ public class SizesTest { "-----1234--\r\n"; // @formatter:on - final ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory()); + final F upload = newFileUpload(); upload.setFileSizeMax(-1); upload.setSizeMax(300); @@ -209,9 +207,7 @@ public class SizesTest { // set the read limit to 10 to simulate a "real" stream // otherwise the buffer would be immediately filled - final MockHttpServletRequest req = new MockHttpServletRequest(request.getBytes(StandardCharsets.US_ASCII), Constants.CONTENT_TYPE); - req.setContentLength(-1); - req.setReadLimit(10); + final R req = newMockHttpServletRequest(request, -1, 10); final FileItemIterator it = upload.getItemIterator(req); assertTrue(it.hasNext()); diff --git a/commons-fileupload2-jakarta/src/test/java/org/apache/commons/fileupload2/jakarta/JakartaSizesTest.java b/commons-fileupload2-jakarta/src/test/java/org/apache/commons/fileupload2/jakarta/JakartaSizesTest.java new file mode 100644 index 0000000..9a27d18 --- /dev/null +++ b/commons-fileupload2-jakarta/src/test/java/org/apache/commons/fileupload2/jakarta/JakartaSizesTest.java @@ -0,0 +1,45 @@ +/* + * 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. + */ +package org.apache.commons.fileupload2.jakarta; + +import java.io.ByteArrayInputStream; +import java.nio.charset.StandardCharsets; + +import org.apache.commons.fileupload2.Constants; +import org.apache.commons.fileupload2.SizesTest; +import org.apache.commons.fileupload2.disk.DiskFileItemFactory; + +import jakarta.servlet.http.HttpServletRequest; + +/** + * Unit test for items with varying sizes. + */ +public class JakartaSizesTest extends SizesTest<JakartaServletFileUpload, HttpServletRequest> { + + @Override + protected JakartaServletFileUpload newFileUpload() { + return new JakartaServletFileUpload(new DiskFileItemFactory()); + } + + @Override + protected MockHttpServletRequest newMockHttpServletRequest(final String request, final Integer overrideContenLength, final Integer overrideReadLimit) { + final byte[] requestData = request.getBytes(StandardCharsets.US_ASCII); + return new MockHttpServletRequest(new ByteArrayInputStream(requestData), overrideContenLength != null ? overrideContenLength : requestData.length, + Constants.CONTENT_TYPE, overrideReadLimit != null ? overrideReadLimit : -1); + } + +} diff --git a/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/MockHttpServletRequest.java b/commons-fileupload2-jakarta/src/test/java/org/apache/commons/fileupload2/jakarta/MockHttpServletRequest.java similarity index 54% copy from commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/MockHttpServletRequest.java copy to commons-fileupload2-jakarta/src/test/java/org/apache/commons/fileupload2/jakarta/MockHttpServletRequest.java index 32fe8a1..d68cf08 100644 --- a/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/MockHttpServletRequest.java +++ b/commons-fileupload2-jakarta/src/test/java/org/apache/commons/fileupload2/jakarta/MockHttpServletRequest.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.fileupload2.javax; +package org.apache.commons.fileupload2.jakarta; import java.io.BufferedReader; import java.io.ByteArrayInputStream; @@ -22,21 +22,33 @@ import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.security.Principal; +import java.util.Collection; import java.util.Enumeration; +import java.util.HashMap; import java.util.Locale; import java.util.Map; -import javax.servlet.RequestDispatcher; -import javax.servlet.ServletInputStream; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; - import org.apache.commons.fileupload2.AbstractFileUpload; +import jakarta.servlet.AsyncContext; +import jakarta.servlet.DispatcherType; +import jakarta.servlet.ReadListener; +import jakarta.servlet.RequestDispatcher; +import jakarta.servlet.ServletContext; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletInputStream; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; +import jakarta.servlet.http.Cookie; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpSession; +import jakarta.servlet.http.HttpUpgradeHandler; +import jakarta.servlet.http.Part; + public class MockHttpServletRequest implements HttpServletRequest { - private static class MyServletInputStream extends javax.servlet.ServletInputStream { + private static class MyServletInputStream extends ServletInputStream { private final InputStream inputStream; private final int readLimit; @@ -49,6 +61,18 @@ public class MockHttpServletRequest implements HttpServletRequest { this.readLimit = readLimit; } + @Override + public boolean isFinished() { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean isReady() { + // TODO Auto-generated method stub + return false; + } + @Override public int read() throws IOException { return inputStream.read(); @@ -62,37 +86,62 @@ public class MockHttpServletRequest implements HttpServletRequest { return inputStream.read(b, off, len); } + @Override + public void setReadListener(final ReadListener readListener) { + // TODO Auto-generated method stub + + } + } - private final InputStream mmRequestData; + private final InputStream requestInputStream; - private long length; + private final long requestLength; - private final String mStrContentType; + private final String contentType; - private int readLimit = -1; + private final int readLimit; - private final Map<String, String> mHeaders = new java.util.HashMap<>(); + private final Map<String, String> headers = new HashMap<>(); /** * Creates a new instance with the given request data and content type. */ - public MockHttpServletRequest(final byte[] requestData, final String strContentType) { - this(new ByteArrayInputStream(requestData), requestData.length, strContentType); + public MockHttpServletRequest(final byte[] requestData, final String contentType) { + this(new ByteArrayInputStream(requestData), requestData.length, contentType, -1); } /** * Creates a new instance with the given request data and content type. */ - public MockHttpServletRequest(final InputStream requestData, final long requestLength, final String strContentType) { - mmRequestData = requestData; - length = requestLength; - mStrContentType = strContentType; - mHeaders.put(AbstractFileUpload.CONTENT_TYPE, strContentType); + public MockHttpServletRequest(final InputStream requestInputStream, final long requestLength, final String contentType, final int readLimit) { + this.requestInputStream = requestInputStream; + this.requestLength = requestLength; + this.contentType = contentType; + this.headers.put(AbstractFileUpload.CONTENT_TYPE, contentType); + this.readLimit = readLimit; + } + + @Override + public boolean authenticate(final HttpServletResponse response) throws IOException, ServletException { + // TODO Auto-generated method stub + return false; + } + + @Override + public String changeSessionId() { + // TODO Auto-generated method stub + return null; + } + + @Override + public AsyncContext getAsyncContext() { + // TODO Auto-generated method stub + return null; } /** - * @see javax.servlet.ServletRequest#getAttribute(String) + * @see ServletRequest#getAttribute(String) */ @Override public Object getAttribute(final String arg0) { @@ -100,7 +149,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getAttributeNames() + * @see ServletRequest#getAttributeNames() */ @Override public Enumeration<String> getAttributeNames() { @@ -108,7 +157,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getAuthType() + * @see HttpServletRequest#getAuthType() */ @Override public String getAuthType() { @@ -116,7 +165,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getCharacterEncoding() + * @see ServletRequest#getCharacterEncoding() */ @Override public String getCharacterEncoding() { @@ -124,33 +173,39 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getContentLength() + * @see ServletRequest#getContentLength() */ @Override public int getContentLength() { int iLength; - if (null == mmRequestData) { + if (null == requestInputStream) { iLength = -1; } else { - if (length > Integer.MAX_VALUE) { - throw new RuntimeException("Value '" + length + "' is too large to be converted to int"); + if (requestLength > Integer.MAX_VALUE) { + throw new RuntimeException("Value '" + requestLength + "' is too large to be converted to int"); } - iLength = (int) length; + iLength = (int) requestLength; } return iLength; } + @Override + public long getContentLengthLong() { + // TODO Auto-generated method stub + return 0; + } + /** - * @see javax.servlet.ServletRequest#getContentType() + * @see ServletRequest#getContentType() */ @Override public String getContentType() { - return mStrContentType; + return contentType; } /** - * @see javax.servlet.http.HttpServletRequest#getContextPath() + * @see HttpServletRequest#getContextPath() */ @Override public String getContextPath() { @@ -158,7 +213,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getCookies() + * @see HttpServletRequest#getCookies() */ @Override public Cookie[] getCookies() { @@ -166,23 +221,29 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getDateHeader(String) + * @see HttpServletRequest#getDateHeader(String) */ @Override public long getDateHeader(final String arg0) { return 0; } + @Override + public DispatcherType getDispatcherType() { + // TODO Auto-generated method stub + return null; + } + /** - * @see javax.servlet.http.HttpServletRequest#getHeader(String) + * @see HttpServletRequest#getHeader(String) */ @Override public String getHeader(final String headerName) { - return mHeaders.get(headerName); + return headers.get(headerName); } /** - * @see javax.servlet.http.HttpServletRequest#getHeaderNames() + * @see HttpServletRequest#getHeaderNames() */ @Override public Enumeration<String> getHeaderNames() { @@ -191,7 +252,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getHeaders(String) + * @see HttpServletRequest#getHeaders(String) */ @Override public Enumeration<String> getHeaders(final String arg0) { @@ -200,15 +261,15 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getInputStream() + * @see ServletRequest#getInputStream() */ @Override public ServletInputStream getInputStream() throws IOException { - return new MyServletInputStream(mmRequestData, readLimit); + return new MyServletInputStream(requestInputStream, readLimit); } /** - * @see javax.servlet.http.HttpServletRequest#getIntHeader(String) + * @see HttpServletRequest#getIntHeader(String) */ @Override public int getIntHeader(final String arg0) { @@ -216,7 +277,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getLocalAddr() + * @see ServletRequest#getLocalAddr() */ @Override @SuppressWarnings("javadoc") // This is a Servlet 2.4 method @@ -225,7 +286,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getLocale() + * @see ServletRequest#getLocale() */ @Override public Locale getLocale() { @@ -233,7 +294,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getLocales() + * @see ServletRequest#getLocales() */ @Override public Enumeration<Locale> getLocales() { @@ -241,7 +302,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getLocalName() + * @see ServletRequest#getLocalName() */ @Override @SuppressWarnings("javadoc") // This is a Servlet 2.4 method @@ -250,7 +311,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getLocalPort() + * @see ServletRequest#getLocalPort() */ @Override @SuppressWarnings("javadoc") // This is a Servlet 2.4 method @@ -259,7 +320,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getMethod() + * @see HttpServletRequest#getMethod() */ @Override public String getMethod() { @@ -267,7 +328,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getParameter(String) + * @see ServletRequest#getParameter(String) */ @Override public String getParameter(final String arg0) { @@ -275,7 +336,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getParameterMap() + * @see ServletRequest#getParameterMap() */ @Override public Map<String, String[]> getParameterMap() { @@ -283,7 +344,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getParameterNames() + * @see ServletRequest#getParameterNames() */ @Override public Enumeration<String> getParameterNames() { @@ -291,15 +352,27 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getParameterValues(String) + * @see ServletRequest#getParameterValues(String) */ @Override public String[] getParameterValues(final String arg0) { return null; } + @Override + public Part getPart(final String name) throws IOException, ServletException { + // TODO Auto-generated method stub + return null; + } + + @Override + public Collection<Part> getParts() throws IOException, ServletException { + // TODO Auto-generated method stub + return null; + } + /** - * @see javax.servlet.http.HttpServletRequest#getPathInfo() + * @see HttpServletRequest#getPathInfo() */ @Override public String getPathInfo() { @@ -307,7 +380,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getPathTranslated() + * @see HttpServletRequest#getPathTranslated() */ @Override public String getPathTranslated() { @@ -315,7 +388,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getProtocol() + * @see ServletRequest#getProtocol() */ @Override public String getProtocol() { @@ -323,7 +396,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getQueryString() + * @see HttpServletRequest#getQueryString() */ @Override public String getQueryString() { @@ -331,7 +404,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getReader() + * @see ServletRequest#getReader() */ @Override public BufferedReader getReader() throws IOException { @@ -339,7 +412,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getRealPath(String) + * @see ServletRequest#getRealPath(String) * @deprecated */ @Override @@ -349,7 +422,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getRemoteAddr() + * @see ServletRequest#getRemoteAddr() */ @Override public String getRemoteAddr() { @@ -357,7 +430,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getRemoteHost() + * @see ServletRequest#getRemoteHost() */ @Override public String getRemoteHost() { @@ -365,7 +438,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getRemotePort() + * @see ServletRequest#getRemotePort() */ @Override @SuppressWarnings("javadoc") // This is a Servlet 2.4 method @@ -374,7 +447,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getRemoteUser() + * @see HttpServletRequest#getRemoteUser() */ @Override public String getRemoteUser() { @@ -382,7 +455,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getRequestDispatcher(String) + * @see ServletRequest#getRequestDispatcher(String) */ @Override public RequestDispatcher getRequestDispatcher(final String arg0) { @@ -390,7 +463,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getRequestedSessionId() + * @see HttpServletRequest#getRequestedSessionId() */ @Override public String getRequestedSessionId() { @@ -398,7 +471,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getRequestURI() + * @see HttpServletRequest#getRequestURI() */ @Override public String getRequestURI() { @@ -406,7 +479,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getRequestURL() + * @see HttpServletRequest#getRequestURL() */ @Override public StringBuffer getRequestURL() { @@ -414,7 +487,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getScheme() + * @see ServletRequest#getScheme() */ @Override public String getScheme() { @@ -422,7 +495,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getServerName() + * @see ServletRequest#getServerName() */ @Override public String getServerName() { @@ -430,15 +503,21 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getServerPort() + * @see ServletRequest#getServerPort() */ @Override public int getServerPort() { return 0; } + @Override + public ServletContext getServletContext() { + // TODO Auto-generated method stub + return null; + } + /** - * @see javax.servlet.http.HttpServletRequest#getServletPath() + * @see HttpServletRequest#getServletPath() */ @Override public String getServletPath() { @@ -446,7 +525,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getSession() + * @see HttpServletRequest#getSession() */ @Override public HttpSession getSession() { @@ -454,7 +533,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getSession(boolean) + * @see HttpServletRequest#getSession(boolean) */ @Override public HttpSession getSession(final boolean arg0) { @@ -462,15 +541,27 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getUserPrincipal() + * @see HttpServletRequest#getUserPrincipal() */ @Override public Principal getUserPrincipal() { return null; } + @Override + public boolean isAsyncStarted() { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean isAsyncSupported() { + // TODO Auto-generated method stub + return false; + } + /** - * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromCookie() + * @see HttpServletRequest#isRequestedSessionIdFromCookie() */ @Override public boolean isRequestedSessionIdFromCookie() { @@ -478,7 +569,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromUrl() + * @see HttpServletRequest#isRequestedSessionIdFromUrl() * @deprecated */ @Override @@ -488,7 +579,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromURL() + * @see HttpServletRequest#isRequestedSessionIdFromURL() */ @Override public boolean isRequestedSessionIdFromURL() { @@ -496,7 +587,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdValid() + * @see HttpServletRequest#isRequestedSessionIdValid() */ @Override public boolean isRequestedSessionIdValid() { @@ -504,7 +595,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#isSecure() + * @see ServletRequest#isSecure() */ @Override public boolean isSecure() { @@ -512,48 +603,62 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#isUserInRole(String) + * @see HttpServletRequest#isUserInRole(String) */ @Override public boolean isUserInRole(final String arg0) { return false; } + @Override + public void login(final String username, final String password) throws ServletException { + // TODO Auto-generated method stub + + } + + @Override + public void logout() throws ServletException { + // TODO Auto-generated method stub + + } + /** - * @see javax.servlet.ServletRequest#removeAttribute(String) + * @see ServletRequest#removeAttribute(String) */ @Override public void removeAttribute(final String arg0) { } /** - * @see javax.servlet.ServletRequest#setAttribute(String, Object) + * @see ServletRequest#setAttribute(String, Object) */ @Override public void setAttribute(final String arg0, final Object arg1) { } /** - * @see javax.servlet.ServletRequest#setCharacterEncoding(String) + * @see ServletRequest#setCharacterEncoding(String) */ @Override public void setCharacterEncoding(final String arg0) throws UnsupportedEncodingException { } - /** - * For testing attack scenarios in SizesTest. - */ - public void setContentLength(final long length) { - this.length = length; + @Override + public AsyncContext startAsync() throws IllegalStateException { + // TODO Auto-generated method stub + return null; } - /** - * Sets the read limit. This can be used to limit the number of bytes to read ahead. - * - * @param readLimit the read limit to use - */ - public void setReadLimit(final int readLimit) { - this.readLimit = readLimit; + @Override + public AsyncContext startAsync(final ServletRequest servletRequest, final ServletResponse servletResponse) throws IllegalStateException { + // TODO Auto-generated method stub + return null; + } + + @Override + public <T extends HttpUpgradeHandler> T upgrade(final Class<T> handlerClass) throws IOException, ServletException { + // TODO Auto-generated method stub + return null; } } diff --git a/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/JavaxSizesTest.java b/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/JavaxSizesTest.java new file mode 100644 index 0000000..d75092e --- /dev/null +++ b/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/JavaxSizesTest.java @@ -0,0 +1,45 @@ +/* + * 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. + */ +package org.apache.commons.fileupload2.javax; + +import java.io.ByteArrayInputStream; +import java.nio.charset.StandardCharsets; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.fileupload2.Constants; +import org.apache.commons.fileupload2.SizesTest; +import org.apache.commons.fileupload2.disk.DiskFileItemFactory; + +/** + * Unit test for items with varying sizes. + */ +public class JavaxSizesTest extends SizesTest<ServletFileUpload, HttpServletRequest> { + + @Override + protected ServletFileUpload newFileUpload() { + return new ServletFileUpload(new DiskFileItemFactory()); + } + + @Override + protected MockHttpServletRequest newMockHttpServletRequest(final String request, final Integer overrideContenLength, final Integer overrideReadLimit) { + final byte[] requestData = request.getBytes(StandardCharsets.US_ASCII); + return new MockHttpServletRequest(new ByteArrayInputStream(requestData), overrideContenLength != null ? overrideContenLength : requestData.length, + Constants.CONTENT_TYPE, overrideReadLimit != null ? overrideReadLimit : -1); + } + +} diff --git a/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/MockHttpServletRequest.java b/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/MockHttpServletRequest.java index 32fe8a1..fc5993c 100644 --- a/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/MockHttpServletRequest.java +++ b/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/MockHttpServletRequest.java @@ -23,11 +23,13 @@ import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.security.Principal; import java.util.Enumeration; +import java.util.HashMap; import java.util.Locale; import java.util.Map; import javax.servlet.RequestDispatcher; import javax.servlet.ServletInputStream; +import javax.servlet.ServletRequest; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; @@ -36,7 +38,7 @@ import org.apache.commons.fileupload2.AbstractFileUpload; public class MockHttpServletRequest implements HttpServletRequest { - private static class MyServletInputStream extends javax.servlet.ServletInputStream { + private static class MyServletInputStream extends ServletInputStream { private final InputStream inputStream; private final int readLimit; @@ -64,35 +66,36 @@ public class MockHttpServletRequest implements HttpServletRequest { } - private final InputStream mmRequestData; + private final InputStream requestInputStream; - private long length; + private final long requestLength; - private final String mStrContentType; + private final String contentType; - private int readLimit = -1; + private final int readLimit; - private final Map<String, String> mHeaders = new java.util.HashMap<>(); + private final Map<String, String> headers = new HashMap<>(); /** * Creates a new instance with the given request data and content type. */ - public MockHttpServletRequest(final byte[] requestData, final String strContentType) { - this(new ByteArrayInputStream(requestData), requestData.length, strContentType); + public MockHttpServletRequest(final byte[] requestData, final String contentType) { + this(new ByteArrayInputStream(requestData), requestData.length, contentType, -1); } /** * Creates a new instance with the given request data and content type. */ - public MockHttpServletRequest(final InputStream requestData, final long requestLength, final String strContentType) { - mmRequestData = requestData; - length = requestLength; - mStrContentType = strContentType; - mHeaders.put(AbstractFileUpload.CONTENT_TYPE, strContentType); + public MockHttpServletRequest(final InputStream requestInputStream, final long requestLength, final String contentType, final int readLimit) { + this.requestInputStream = requestInputStream; + this.requestLength = requestLength; + this.contentType = contentType; + this.headers.put(AbstractFileUpload.CONTENT_TYPE, contentType); + this.readLimit = readLimit; } /** - * @see javax.servlet.ServletRequest#getAttribute(String) + * @see ServletRequest#getAttribute(String) */ @Override public Object getAttribute(final String arg0) { @@ -100,7 +103,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getAttributeNames() + * @see ServletRequest#getAttributeNames() */ @Override public Enumeration<String> getAttributeNames() { @@ -108,7 +111,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getAuthType() + * @see HttpServletRequest#getAuthType() */ @Override public String getAuthType() { @@ -116,7 +119,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getCharacterEncoding() + * @see ServletRequest#getCharacterEncoding() */ @Override public String getCharacterEncoding() { @@ -124,33 +127,33 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getContentLength() + * @see ServletRequest#getContentLength() */ @Override public int getContentLength() { int iLength; - if (null == mmRequestData) { + if (null == requestInputStream) { iLength = -1; } else { - if (length > Integer.MAX_VALUE) { - throw new RuntimeException("Value '" + length + "' is too large to be converted to int"); + if (requestLength > Integer.MAX_VALUE) { + throw new RuntimeException("Value '" + requestLength + "' is too large to be converted to int"); } - iLength = (int) length; + iLength = (int) requestLength; } return iLength; } /** - * @see javax.servlet.ServletRequest#getContentType() + * @see ServletRequest#getContentType() */ @Override public String getContentType() { - return mStrContentType; + return contentType; } /** - * @see javax.servlet.http.HttpServletRequest#getContextPath() + * @see HttpServletRequest#getContextPath() */ @Override public String getContextPath() { @@ -158,7 +161,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getCookies() + * @see HttpServletRequest#getCookies() */ @Override public Cookie[] getCookies() { @@ -166,7 +169,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getDateHeader(String) + * @see HttpServletRequest#getDateHeader(String) */ @Override public long getDateHeader(final String arg0) { @@ -174,15 +177,15 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getHeader(String) + * @see HttpServletRequest#getHeader(String) */ @Override public String getHeader(final String headerName) { - return mHeaders.get(headerName); + return headers.get(headerName); } /** - * @see javax.servlet.http.HttpServletRequest#getHeaderNames() + * @see HttpServletRequest#getHeaderNames() */ @Override public Enumeration<String> getHeaderNames() { @@ -191,7 +194,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getHeaders(String) + * @see HttpServletRequest#getHeaders(String) */ @Override public Enumeration<String> getHeaders(final String arg0) { @@ -200,15 +203,15 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getInputStream() + * @see ServletRequest#getInputStream() */ @Override public ServletInputStream getInputStream() throws IOException { - return new MyServletInputStream(mmRequestData, readLimit); + return new MyServletInputStream(requestInputStream, readLimit); } /** - * @see javax.servlet.http.HttpServletRequest#getIntHeader(String) + * @see HttpServletRequest#getIntHeader(String) */ @Override public int getIntHeader(final String arg0) { @@ -216,7 +219,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getLocalAddr() + * @see ServletRequest#getLocalAddr() */ @Override @SuppressWarnings("javadoc") // This is a Servlet 2.4 method @@ -225,7 +228,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getLocale() + * @see ServletRequest#getLocale() */ @Override public Locale getLocale() { @@ -233,7 +236,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getLocales() + * @see ServletRequest#getLocales() */ @Override public Enumeration<Locale> getLocales() { @@ -241,7 +244,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getLocalName() + * @see ServletRequest#getLocalName() */ @Override @SuppressWarnings("javadoc") // This is a Servlet 2.4 method @@ -250,7 +253,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getLocalPort() + * @see ServletRequest#getLocalPort() */ @Override @SuppressWarnings("javadoc") // This is a Servlet 2.4 method @@ -259,7 +262,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getMethod() + * @see HttpServletRequest#getMethod() */ @Override public String getMethod() { @@ -267,7 +270,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getParameter(String) + * @see ServletRequest#getParameter(String) */ @Override public String getParameter(final String arg0) { @@ -275,7 +278,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getParameterMap() + * @see ServletRequest#getParameterMap() */ @Override public Map<String, String[]> getParameterMap() { @@ -283,7 +286,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getParameterNames() + * @see ServletRequest#getParameterNames() */ @Override public Enumeration<String> getParameterNames() { @@ -291,7 +294,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getParameterValues(String) + * @see ServletRequest#getParameterValues(String) */ @Override public String[] getParameterValues(final String arg0) { @@ -299,7 +302,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getPathInfo() + * @see HttpServletRequest#getPathInfo() */ @Override public String getPathInfo() { @@ -307,7 +310,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getPathTranslated() + * @see HttpServletRequest#getPathTranslated() */ @Override public String getPathTranslated() { @@ -315,7 +318,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getProtocol() + * @see ServletRequest#getProtocol() */ @Override public String getProtocol() { @@ -323,7 +326,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getQueryString() + * @see HttpServletRequest#getQueryString() */ @Override public String getQueryString() { @@ -331,7 +334,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getReader() + * @see ServletRequest#getReader() */ @Override public BufferedReader getReader() throws IOException { @@ -339,7 +342,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getRealPath(String) + * @see ServletRequest#getRealPath(String) * @deprecated */ @Override @@ -349,7 +352,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getRemoteAddr() + * @see ServletRequest#getRemoteAddr() */ @Override public String getRemoteAddr() { @@ -357,7 +360,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getRemoteHost() + * @see ServletRequest#getRemoteHost() */ @Override public String getRemoteHost() { @@ -365,7 +368,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getRemotePort() + * @see ServletRequest#getRemotePort() */ @Override @SuppressWarnings("javadoc") // This is a Servlet 2.4 method @@ -374,7 +377,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getRemoteUser() + * @see HttpServletRequest#getRemoteUser() */ @Override public String getRemoteUser() { @@ -382,7 +385,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getRequestDispatcher(String) + * @see ServletRequest#getRequestDispatcher(String) */ @Override public RequestDispatcher getRequestDispatcher(final String arg0) { @@ -390,7 +393,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getRequestedSessionId() + * @see HttpServletRequest#getRequestedSessionId() */ @Override public String getRequestedSessionId() { @@ -398,7 +401,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getRequestURI() + * @see HttpServletRequest#getRequestURI() */ @Override public String getRequestURI() { @@ -406,7 +409,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getRequestURL() + * @see HttpServletRequest#getRequestURL() */ @Override public StringBuffer getRequestURL() { @@ -414,7 +417,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getScheme() + * @see ServletRequest#getScheme() */ @Override public String getScheme() { @@ -422,7 +425,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getServerName() + * @see ServletRequest#getServerName() */ @Override public String getServerName() { @@ -430,7 +433,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#getServerPort() + * @see ServletRequest#getServerPort() */ @Override public int getServerPort() { @@ -438,7 +441,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getServletPath() + * @see HttpServletRequest#getServletPath() */ @Override public String getServletPath() { @@ -446,7 +449,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getSession() + * @see HttpServletRequest#getSession() */ @Override public HttpSession getSession() { @@ -454,7 +457,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getSession(boolean) + * @see HttpServletRequest#getSession(boolean) */ @Override public HttpSession getSession(final boolean arg0) { @@ -462,7 +465,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#getUserPrincipal() + * @see HttpServletRequest#getUserPrincipal() */ @Override public Principal getUserPrincipal() { @@ -470,7 +473,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromCookie() + * @see HttpServletRequest#isRequestedSessionIdFromCookie() */ @Override public boolean isRequestedSessionIdFromCookie() { @@ -478,7 +481,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromUrl() + * @see HttpServletRequest#isRequestedSessionIdFromUrl() * @deprecated */ @Override @@ -488,7 +491,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromURL() + * @see HttpServletRequest#isRequestedSessionIdFromURL() */ @Override public boolean isRequestedSessionIdFromURL() { @@ -496,7 +499,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdValid() + * @see HttpServletRequest#isRequestedSessionIdValid() */ @Override public boolean isRequestedSessionIdValid() { @@ -504,7 +507,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#isSecure() + * @see HttpServletRequest#isSecure() */ @Override public boolean isSecure() { @@ -512,7 +515,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.http.HttpServletRequest#isUserInRole(String) + * @see HttpServletRequest#isUserInRole(String) */ @Override public boolean isUserInRole(final String arg0) { @@ -520,40 +523,24 @@ public class MockHttpServletRequest implements HttpServletRequest { } /** - * @see javax.servlet.ServletRequest#removeAttribute(String) + * @see ServletRequest#removeAttribute(String) */ @Override public void removeAttribute(final String arg0) { } /** - * @see javax.servlet.ServletRequest#setAttribute(String, Object) + * @see ServletRequest#setAttribute(String, Object) */ @Override public void setAttribute(final String arg0, final Object arg1) { } /** - * @see javax.servlet.ServletRequest#setCharacterEncoding(String) + * @see ServletRequest#setCharacterEncoding(String) */ @Override public void setCharacterEncoding(final String arg0) throws UnsupportedEncodingException { } - /** - * For testing attack scenarios in SizesTest. - */ - public void setContentLength(final long length) { - this.length = length; - } - - /** - * Sets the read limit. This can be used to limit the number of bytes to read ahead. - * - * @param readLimit the read limit to use - */ - public void setReadLimit(final int readLimit) { - this.readLimit = readLimit; - } - } diff --git a/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/StreamingTest.java b/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/StreamingTest.java index 0a85d7d..80f9bed 100644 --- a/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/StreamingTest.java +++ b/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/StreamingTest.java @@ -100,7 +100,7 @@ public class StreamingTest { final AbstractFileUpload upload = new ServletFileUpload(); upload.setFileItemFactory(new DiskFileItemFactory()); - final HttpServletRequest request = new MockHttpServletRequest(inputStream, length, contentType); + final HttpServletRequest request = new MockHttpServletRequest(inputStream, length, contentType, -1); return upload.parseRequest(new ServletRequestContext(request)); } @@ -110,7 +110,7 @@ public class StreamingTest { final AbstractFileUpload upload = new ServletFileUpload(); upload.setFileItemFactory(new DiskFileItemFactory()); - final HttpServletRequest request = new MockHttpServletRequest(inputStream, length, contentType); + final HttpServletRequest request = new MockHttpServletRequest(inputStream, length, contentType, -1); return upload.getItemIterator(new ServletRequestContext(request)); }