Author: mthl
Date: Fri Jul 19 22:07:55 2019 New Revision: 1863440 URL: http://svn.apache.org/viewvc?rev=1863440&view=rev Log: Implemented: Add unit tests for ‘UtilHttp#makeParamListWithSuffix’ (OFBIZ-11138) Adapt implementation to facilitate mocking. Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilHttp.java ofbiz/ofbiz-framework/trunk/framework/base/src/test/java/org/apache/ofbiz/base/util/UtilHttpTest.java Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilHttp.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilHttp.java?rev=1863440&r1=1863439&r2=1863440&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilHttp.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilHttp.java Fri Jul 19 22:07:55 2019 @@ -600,21 +600,19 @@ public final class UtilHttp { public static List<Object> makeParamListWithSuffix(HttpServletRequest request, Map<String, ? extends Object> additionalFields, String suffix, String prefix) { List<Object> paramList = new ArrayList<>(); - Enumeration<String> parameterNames = UtilGenerics.cast(request.getParameterNames()); - while (parameterNames.hasMoreElements()) { - String parameterName = parameterNames.nextElement(); + request.getParameterMap().forEach((parameterName, values) -> { if (parameterName.endsWith(suffix)) { if (UtilValidate.isNotEmpty(prefix)) { if (parameterName.startsWith(prefix)) { - String value = request.getParameter(parameterName); + String value = values[0]; paramList.add(value); } } else { - String value = request.getParameter(parameterName); + String value = values[0]; paramList.add(value); } } - } + }); if (additionalFields != null) { for (Map.Entry<String, ? extends Object> entry: additionalFields.entrySet()) { String fieldName = entry.getKey(); Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/test/java/org/apache/ofbiz/base/util/UtilHttpTest.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/test/java/org/apache/ofbiz/base/util/UtilHttpTest.java?rev=1863440&r1=1863439&r2=1863440&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/test/java/org/apache/ofbiz/base/util/UtilHttpTest.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/test/java/org/apache/ofbiz/base/util/UtilHttpTest.java Fri Jul 19 22:07:55 2019 @@ -176,4 +176,30 @@ public class UtilHttpTest { assertThat(UtilHttp.makeParamValueFromComposite(req, "meetingDate"), equalTo(Timestamp.valueOf(LocalDateTime.of(2019, Month.JULY, 14, 18, 8)))); } + + @Test + public void basicMakeParamListWithSuffix() { + when(req.getParameterMap()).thenReturn(UtilMisc.toMap( + "foo_suf", new String[] {"0"}, + "bar_suf", new String[] {"1"}, + "baz", new String[] {"2"})); + assertThat(UtilHttp.makeParamListWithSuffix(req, "_suf", null), containsInAnyOrder("0", "1")); + assertThat(UtilHttp.makeParamListWithSuffix(req, "_suf", "b"), contains("1")); + } + + @Test + public void additionalParamsMakeParamListWithSuffix() { + when(req.getParameterMap()).thenReturn(UtilMisc.toMap( + "foo_suf", new String[] {"0"}, + "bar_suf", new String[] {"1"}, + "baz", new String[] {"2"})); + Map<String, Object> extra = UtilMisc.toMap("baz_suf", "3"); + assertThat(UtilHttp.makeParamListWithSuffix(req, extra, "_suf", null), containsInAnyOrder("0", "1", "3")); + assertThat(UtilHttp.makeParamListWithSuffix(req, extra, "_suf", "b"), containsInAnyOrder("1", "3")); + } + + @Test(expected = NullPointerException.class) + public void missingRequestMakeParamListWithSuffix() { + UtilHttp.makeParamListWithSuffix(null, "suffix", "prefix"); + } } |
Free forum by Nabble | Edit this page |