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 );


Reply via email to