Author: gk
Date: Fri Jul 5 13:42:22 2019
New Revision: 1862617
URL: http://svn.apache.org/viewvc?rev=1862617&view=rev
Log:
- add tests
- cleanup imports, fix comments
- set/use request method getContentType
Modified:
turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParameterParser.java
turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserTest.java
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserWithFulcrumPoolTest.java
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParserServiceTest.java
Modified:
turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParameterParser.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParameterParser.java?rev=1862617&r1=1862616&r2=1862617&view=diff
==============================================================================
---
turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParameterParser.java
(original)
+++
turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParameterParser.java
Fri Jul 5 13:42:22 2019
@@ -155,7 +155,7 @@ public class DefaultParameterParser
handleEncoding( request );
- String contentType = request.getHeader("Content-type");
+ String contentType = request.getContentType();
if (parserService.getAutomaticUpload()
&& contentType != null
@@ -243,7 +243,7 @@ public class DefaultParameterParser
}
}
- private void handleEncoding( HttpServletRequest request )
+ protected void handleEncoding( HttpServletRequest request )
{
String enc = request.getCharacterEncoding();
@@ -251,8 +251,9 @@ public class DefaultParameterParser
{
try
{
- // no-op if data was read (parameter, POST..)
+ // no-op if data was read (parameter, POST..), see javadoc
setCharacterEncoding
request.setCharacterEncoding(
parserService.getParameterEncoding() );
+ // this is not (?) testable with mock
enc = request.getCharacterEncoding();
if (enc != null)
{
Modified:
turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java?rev=1862617&r1=1862616&r2=1862617&view=diff
==============================================================================
---
turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java
(original)
+++
turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java
Fri Jul 5 13:42:22 2019
@@ -123,6 +123,14 @@ public class DefaultParserService
{
return parameterEncoding;
}
+
+ /**
+ * Set the character encoding that will be used by this ValueParser.
+ */
+ public void setParameterEncoding(String encoding)
+ {
+ parameterEncoding = encoding;
+ }
/**
* Trims the string data and applies the conversion specified in
@@ -443,7 +451,7 @@ public class DefaultParserService
cookieParserPool
= new CookieParserPool(new CookieParserFactory(), config);
- getLogger().info("Init Commons2 Fulcrum Pool Services.." );
+ getLogger().info("Init Commons2 Pool Services.." );
getLogger().info(valueParserPool.getClass().getName());
getLogger().info(parameterParserPool.getClass().getName());
getLogger().info(cookieParserPool.getClass().getName());
Modified:
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserTest.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserTest.java?rev=1862617&r1=1862616&r2=1862617&view=diff
==============================================================================
---
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserTest.java
(original)
+++
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserTest.java
Fri Jul 5 13:42:22 2019
@@ -1,5 +1,11 @@
package org.apache.fulcrum.parser;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -24,6 +30,7 @@ import java.io.InputStream;
import java.util.Collection;
import java.util.Iterator;
+import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.Part;
import org.apache.avalon.framework.component.ComponentException;
@@ -33,14 +40,13 @@ import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.*;
-
/**
* Basic test that ParameterParser instantiates.
*
* @author <a href="[email protected]">Eric Pugh</a>
* @version $Id$
*/
+
public class ParameterParserTest extends BaseUnit5Test
{
protected ParameterParser parameterParser = null;
@@ -140,6 +146,51 @@ public class ParameterParserTest extends
this.release(parserService);
}
+ @Test
+ public void testRequest() throws Exception
+ {
+ assertTrue(parameterParser.getRequest() == null);
+ HttpServletRequest req = getMockRequest();
+ parameterParser.setRequest(req);
+ assertTrue(parameterParser.getRequest().getServerPort() == 8080);
+ parserService.putParser(parameterParser);
+ assertTrue(parameterParser.getRequest() == null);
+
+ parameterParser =
parserService.getParser(DefaultParameterParser.class);
+ assertTrue(parameterParser.getRequest() == null);
+ }
+
+
+ @Test
+ public void testRequests() throws Exception
+ {
+
+ assertTrue(parameterParser.getRequest() == null);
+ HttpServletRequest req = getMockRequest();
+
+ parameterParser.setRequest(req);
+
+ parameterParser.add("xy", 35);
+
+ assertTrue(parameterParser.getRequest().getServerPort() == 8080);
+ assertTrue(parameterParser.getString("xy").equals("35"));
+
+ parserService.putParser(parameterParser);
+ assertTrue(parameterParser.getRequest() == null);
+ assertTrue(parameterParser.getString("xy") == null);
+
+
+ ParameterParser parameterParser2 =
parserService.getParser(DefaultParameterParser.class);
+ assertTrue(parameterParser2.getRequest() == null);
+ parameterParser2.add("ab", 7);
+
+ // only one object in pool, which is refetched
+ assertTrue(parameterParser.getString("ab").equals("7"));
+ assertTrue(parameterParser.getString("xy") == null);
+
+ assertTrue(parameterParser2.equals(parameterParser),parameterParser2 +
" is not equal to "+ parameterParser);
+ }
+
/**
* Simple test to verify the current configuration of URL Case Folding
*
Modified:
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserWithFulcrumPoolTest.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserWithFulcrumPoolTest.java?rev=1862617&r1=1862616&r2=1862617&view=diff
==============================================================================
---
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserWithFulcrumPoolTest.java
(original)
+++
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserWithFulcrumPoolTest.java
Fri Jul 5 13:42:22 2019
@@ -1,39 +1,9 @@
package org.apache.fulcrum.parser;
-/*
- * 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.
- */
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collection;
-import java.util.Iterator;
-
-import javax.servlet.http.Part;
+import static org.junit.jupiter.api.Assertions.fail;
import org.apache.avalon.framework.component.ComponentException;
-import org.apache.fulcrum.parser.ValueParser.URLCaseFolding;
-import org.apache.fulcrum.testcontainer.BaseUnit5Test;
-
import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.*;
/**
* Basic test that ParameterParser instantiates.
Modified:
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParserServiceTest.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParserServiceTest.java?rev=1862617&r1=1862616&r2=1862617&view=diff
==============================================================================
---
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParserServiceTest.java
(original)
+++
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParserServiceTest.java
Fri Jul 5 13:42:22 2019
@@ -155,6 +155,8 @@ public class ParserServiceTest extends B
when(request.getParts()).thenReturn(Arrays.asList(test, secondPart));
+ parameterParser.setRequest(request);
+
List<Part> parts = parserService.parseUpload( request );
assertTrue( !parts.isEmpty() );
assertTrue( parts.size() == 2 );