diff --git a/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java b/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java index fec3de5f5e6..5283b39911b 100644 --- a/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java +++ b/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java @@ -18,12 +18,6 @@ package org.apache.kylin.common; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - import java.util.Map; import java.util.Properties; @@ -32,6 +26,13 @@ import com.google.common.collect.Maps; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + + public class KylinConfigTest extends HotLoadKylinPropertiesTestCase { @Test @@ -166,4 +167,35 @@ public void testCalciteExtrasProperties() { assertEquals("BRACKET", extras.getProperty("quoting")); assertEquals("DEFAULT", extras.getProperty("conformance")); } + + @Test + public void testSetKylinConfigInEnvIfMissingTakingEmptyProperties() { + Properties properties = new Properties(); + KylinConfig.setKylinConfigInEnvIfMissing(properties); + + assertEquals(0, properties.size()); + assertTrue(properties.isEmpty()); + + KylinConfig.setKylinConfigInEnvIfMissing(properties); + + assertEquals(0, properties.size()); + assertTrue(properties.isEmpty()); + } + + @Test(expected = IllegalStateException.class) + public void testCreateInstanceFromUriThrowsIllegalStateExceptionOne() { + KylinConfig.createInstanceFromUri("cb%MnlG]3:nav"); + } + + @Test(expected = RuntimeException.class) + public void testCreateInstanceFromUriThrowsRuntimeException() { + Properties properties = new Properties(); + KylinConfig.setKylinConfigInEnvIfMissing(properties); + + assertEquals(0, properties.size()); + assertTrue(properties.isEmpty()); + + KylinConfig.createInstanceFromUri("dHy3K~m"); + } + } diff --git a/core-common/src/test/java/org/apache/kylin/common/util/StringUtilTest.java b/core-common/src/test/java/org/apache/kylin/common/util/StringUtilTest.java index 76ceed5cb74..4af856672cf 100644 --- a/core-common/src/test/java/org/apache/kylin/common/util/StringUtilTest.java +++ b/core-common/src/test/java/org/apache/kylin/common/util/StringUtilTest.java @@ -22,7 +22,22 @@ import org.junit.Assert; import org.junit.Test; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.LinkedHashSet; import java.util.List; +import java.util.Locale; +import java.util.Set; +import java.util.Vector; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + public class StringUtilTest { @Test @@ -63,7 +78,7 @@ public void testJoin() { stringListNormal.add("bbb"); stringListNormal.add("ccc"); String joinedNormal = StringUtil.join(stringListNormal, ","); - Assert.assertEquals("aaa,bbb,ccc", joinedNormal); + assertEquals("aaa,bbb,ccc", joinedNormal); stringListEmpty.add(""); stringListEmpty.add("aa"); @@ -71,6 +86,120 @@ public void testJoin() { stringListEmpty.add("bb"); stringListEmpty.add(""); String joinedEmpty = StringUtil.join(stringListEmpty, ","); - Assert.assertEquals(",aa,,bb,", joinedEmpty); + assertEquals(",aa,,bb,", joinedEmpty); } + + @Test + public void testDropSuffixWithNonEmptyString() { + assertEquals("", StringUtil.dropSuffix("Oo}T^z88/U", "Oo}T^z88/U")); + } + + @Test + public void testDropSuffixWithEmptyString() { + String string = StringUtil.dropSuffix("", "^Fahs"); + + assertEquals("", string); + } + + @Test + public void testNoBlankWithNull() { + assertEquals("%W=U~)O|0'#?,zA", StringUtil.noBlank(null, "%W=U~)O|0'#?,zA")); + } + + @Test + public void testNoBlankWithNonEmptyString() { + assertEquals("N(sg", StringUtil.noBlank("N(sg", "H=!Cp(Ed5gral0qzo")); + } + + @Test + public void testToUpperCaseArrayWithNonEmptyArray() { + String[] stringArray = new String[7]; + stringArray[0] = "org.apache.kylin.common.util.StringUtil"; + StringUtil.toUpperCaseArray(stringArray, stringArray); + + assertEquals(7, stringArray.length); + assertEquals("[ORG.APACHE.KYLIN.COMMON.UTIL.STRINGUTIL, null, null, null, null, null, null]", + Arrays.asList(stringArray).toString() + ); + } + + @Test + public void testJoinReturningNonEmptyString() { + List arrayList = new ArrayList(); + LinkedHashSet linkedHashSet = new LinkedHashSet(arrayList); + linkedHashSet.add(")'"); + linkedHashSet.add(null); + String resultString = StringUtil.join(linkedHashSet, null); + + assertNotNull(resultString); + assertEquals(")'", resultString); + + } + + @Test + public void testJoinOne() { + Vector vector = new Vector<>(); + vector.add(null); + String resultString = StringUtil.join(vector, "PB"); + + assertNotNull(resultString); + assertEquals("", resultString); + } + + @Test + public void testJoinTwo() { + Set set = Locale.CHINESE.getUnicodeLocaleAttributes(); + String resultString = StringUtil.join(set, "Op"); + + assertTrue(set.isEmpty()); + assertEquals(0, set.size()); + + assertNotNull(resultString); + assertEquals("", resultString); + } + + @Test + public void testJoinReturningNull() { + String string = StringUtil.join((Iterable) null, ")Y>1v&V0GU6a"); + + assertNull(string); + } + + @Test + public void testTrimSuffixWithEmptyString() { + String string = StringUtil.trimSuffix(" 8VKQ&I*pSVr", ""); + + assertEquals(" 8VKQ&I*pSVr", string); + } + + @Test + public void testTrimSuffixWithNonEmptyString() { + String string = StringUtil.trimSuffix(",", "5I;.t0F*5HV4"); + + assertEquals(",", string); + } + + @Test + public void testFilterSystemArgsThrowsIllegalArgumentException() { + String[] stringArray = new String[4]; + stringArray[0] = "-D"; + try { + StringUtil.filterSystemArgs(stringArray); + fail("Expecting exception: IllegalArgumentException"); + + } catch(IllegalArgumentException e) { + } + } + + @Test + public void testFilterSystemArgs() { + String[] stringArray = new String[1]; + stringArray[0] = "J"; + String[] stringArrayTwo = StringUtil.filterSystemArgs(stringArray); + + assertFalse(stringArrayTwo.equals(stringArray)); + assertEquals(1, stringArrayTwo.length); + assertEquals("J", stringArrayTwo[0]); + } + }