From 54214cbef352723039017c86aaf623845f1f38eb Mon Sep 17 00:00:00 2001 From: Manfred Riem Date: Wed, 27 Nov 2024 09:18:29 -0600 Subject: [PATCH] Fixes #4286 - Add unit tests for DefaultPiranhaConfiguration (#4289) --- core/impl/pom.xml | 3 + .../impl/DefaultLocaleEncodingManager.java | 8 +- .../impl/DefaultPiranhaConfigurationTest.java | 113 ++++++++++++++++++ 3 files changed, 120 insertions(+), 4 deletions(-) create mode 100644 core/impl/src/test/java/cloud/piranha/core/impl/DefaultPiranhaConfigurationTest.java diff --git a/core/impl/pom.xml b/core/impl/pom.xml index e5debddb6b..d42498b773 100644 --- a/core/impl/pom.xml +++ b/core/impl/pom.xml @@ -50,16 +50,19 @@ org.junit.jupiter junit-jupiter-api test + 5.10.3 org.junit.jupiter junit-jupiter-params test + 5.10.3 org.junit.jupiter junit-jupiter-engine test + 5.10.3 diff --git a/core/impl/src/main/java/cloud/piranha/core/impl/DefaultLocaleEncodingManager.java b/core/impl/src/main/java/cloud/piranha/core/impl/DefaultLocaleEncodingManager.java index 99085e08cc..706aa6fd6a 100644 --- a/core/impl/src/main/java/cloud/piranha/core/impl/DefaultLocaleEncodingManager.java +++ b/core/impl/src/main/java/cloud/piranha/core/impl/DefaultLocaleEncodingManager.java @@ -49,10 +49,10 @@ public class DefaultLocaleEncodingManager implements LocaleEncodingManager { public DefaultLocaleEncodingManager() { localeMappings = new HashMap<>(1); /* - * REVIEW - We have added the "ja" locale as a default locale encoding - * mapping for now as the TCK test seems the require it. Note - * that we should evaluate if the TCK test should be - * challenged. + * TODO - We have added the "ja" locale as a default locale encoding + * mapping for now as the TCK test seems the require it. Note + * that we should evaluate if the TCK test should be + * challenged. * * See com/sun/ts/tests/servlet/api/jakarta_servlet_http/httpservletresponse/URLClient.java#setCharacterEncodingTest */ diff --git a/core/impl/src/test/java/cloud/piranha/core/impl/DefaultPiranhaConfigurationTest.java b/core/impl/src/test/java/cloud/piranha/core/impl/DefaultPiranhaConfigurationTest.java new file mode 100644 index 0000000000..e58a34e0aa --- /dev/null +++ b/core/impl/src/test/java/cloud/piranha/core/impl/DefaultPiranhaConfigurationTest.java @@ -0,0 +1,113 @@ +/* + * Copyright (c) 2002-2024 Manorrock.com. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +package cloud.piranha.core.impl; + +import java.io.File; +import static java.lang.Boolean.TRUE; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; + +/** + * The JUnit tests for the DefaultPiranhaConfiguration class. + * + * @author Manfred Riem (mriem@manorrock.com) + */ +public class DefaultPiranhaConfigurationTest { + + /** + * Test getBoolean method. + */ + @Test + public void testGetBoolean() { + String key = "mykey"; + DefaultPiranhaConfiguration configuration = new DefaultPiranhaConfiguration(); + assertFalse(configuration.getBoolean(key, false)); + configuration.setBoolean(key, TRUE); + assertTrue(configuration.getBoolean(key, false)); + } + + /** + * Test getClass method. + */ + @Test + public void testGetClass() { + String key = "mykey"; + DefaultPiranhaConfiguration configuration = new DefaultPiranhaConfiguration(); + assertNull(configuration.getClass(key)); + configuration.setClass(key, Object.class); + assertNotNull(configuration.getClass(key)); + } + + /** + * Test getFile method. + */ + @Test + public void testGetFile() { + String key = "mykey"; + DefaultPiranhaConfiguration configuration = new DefaultPiranhaConfiguration(); + assertNull(configuration.getFile(key)); + configuration.setFile(key, new File(".")); + assertNotNull(configuration.getFile(key)); + } + + /** + * Test getInteger method. + */ + @Test + public void testGetInteger() { + String key = "mykey"; + DefaultPiranhaConfiguration configuration = new DefaultPiranhaConfiguration(); + assertNull(configuration.getInteger(key)); + configuration.setInteger(key, Integer.MAX_VALUE); + assertNotNull(configuration.getInteger(key)); + } + + /** + * Test getLong method. + */ + @Test + public void testGetLong() { + String key = "mykey"; + DefaultPiranhaConfiguration configuration = new DefaultPiranhaConfiguration(); + assertNull(configuration.getLong(key)); + configuration.setLong(key, Long.MAX_VALUE); + assertNotNull(configuration.getLong(key)); + } + + /** + * Test getString method. + */ + @Test + public void testGetString() { + String key = "mykey"; + DefaultPiranhaConfiguration configuration = new DefaultPiranhaConfiguration(); + assertNull(configuration.getString(key)); + configuration.setString(key, "mystring"); + assertNotNull(configuration.getString(key)); + } +}