blob: a1b0d8e58b7569a4b8fa224769b3b3315103c046 [file] [log] [blame]
/*
* 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.
*/
package org.apache.commons.lang3;
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assumptions.assumeTrue;
import org.junit.jupiter.api.Test;
public class SystemPropertiesTest {
private boolean isJava11OrGreater() {
return SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11);
}
@Test
public void testGetAwtToolkit() {
assertDoesNotThrow(SystemProperties::getAwtToolkit);
}
@Test
public void testGetBoolean() {
final String key = RandomStringUtils.random(10);
final String absentKey = RandomStringUtils.random(10);
assertNull(System.getProperty(absentKey));
try {
System.setProperty(key, Boolean.toString(Boolean.TRUE));
assertEquals(Boolean.TRUE, SystemProperties.getBoolean(key, () -> false));
assertEquals(Boolean.TRUE, SystemProperties.getBoolean(absentKey, () -> Boolean.TRUE));
assertEquals(false, SystemProperties.getBoolean(absentKey, () -> false));
assertEquals(false, SystemProperties.getBoolean(absentKey, null));
} finally {
System.clearProperty(key);
}
}
@Test
public void testGetFileEncoding() {
assertNotNull(SystemProperties.getFileEncoding());
}
@Test
public void testGetFileSeparator() {
assertNotNull(SystemProperties.getFileSeparator());
}
@Test
public void testGetInt() {
final String key = RandomStringUtils.random(10);
final String absentKey = RandomStringUtils.random(10);
assertNull(System.getProperty(absentKey));
try {
System.setProperty(key, Integer.toString(Integer.MAX_VALUE));
assertEquals(Integer.MAX_VALUE, SystemProperties.getInt(key, () -> 0));
assertEquals(Integer.MAX_VALUE, SystemProperties.getInt(absentKey, () -> Integer.MAX_VALUE));
assertEquals(0, SystemProperties.getInt(absentKey, () -> 0));
assertEquals(0, SystemProperties.getInt(absentKey, null));
} finally {
System.clearProperty(key);
}
}
@Test
public void testGetJavaAwtFonts() {
assertNull(SystemProperties.getJavaAwtFonts());
}
@Test
public void testGetJavaAwtGraphicsenv() {
assertDoesNotThrow(SystemProperties::getJavaAwtGraphicsenv);
}
@Test
public void testGetJavaAwtHeadless() {
assertNull(SystemProperties.getJavaAwtHeadless());
}
@Test
public void testGetJavaAwtPrinterjob() {
assertDoesNotThrow(SystemProperties::getJavaAwtPrinterjob);
}
@Test
public void testGetJavaClassPath() {
assertNotNull(SystemProperties.getJavaClassPath());
}
@Test
public void testGetJavaClassVersion() {
assertNotNull(SystemProperties.getJavaClassVersion());
}
@Test
public void testGetJavaCompiler() {
if (SystemUtils.IS_JAVA_14) {
// Not in Java 11
assertNotNull(SystemProperties.getJavaCompiler());
}
}
@Test
public void testGetJavaEndorsedDirs() {
if (isJava11OrGreater()) {
// Not in Java 11
assertNull(SystemProperties.getJavaEndorsedDirs());
} else {
assertNotNull(SystemProperties.getJavaExtDirs());
}
}
@Test
public void testGetJavaExtDirs() {
if (isJava11OrGreater()) {
// Not in Java 11
assertNull(SystemProperties.getJavaExtDirs());
} else {
assertNotNull(SystemProperties.getJavaExtDirs());
}
}
@Test
public void testGetJavaHome() {
assertNotNull(SystemProperties.getJavaHome());
}
@Test
public void testGetJavaIoTmpdir() {
assertNotNull(SystemProperties.getJavaIoTmpdir());
}
@Test
public void testGetJavaLibraryPath() {
assertNotNull(SystemProperties.getJavaLibraryPath());
}
@Test
public void testGetJavaLocaleProviders() {
assumeTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
// default is null
assertNull(SystemProperties.getJavaLocaleProviders(), SystemProperties.getJavaVersion());
}
@Test
public void testGetJavaRuntimeName() {
assertNotNull(SystemProperties.getJavaRuntimeName());
}
@Test
public void testGetJavaRuntimeVersion() {
assertNotNull(SystemProperties.getJavaRuntimeVersion());
}
@Test
public void testGetJavaSpecificationName() {
assertNotNull(SystemProperties.getJavaSpecificationName());
}
@Test
public void testGetJavaSpecificationVendor() {
assertNotNull(SystemProperties.getJavaSpecificationVendor());
}
@Test
public void testGetJavaSpecificationVersion() {
assertNotNull(SystemProperties.getJavaSpecificationVersion());
}
@Test
public void testGetJavaUtilPrefsPreferencesFactory() {
assertNull(SystemProperties.getJavaUtilPrefsPreferencesFactory());
}
@Test
public void testGetJavaVendor() {
assertNotNull(SystemProperties.getJavaVendor());
}
@Test
public void testGetJavaVendorUrl() {
assertNotNull(SystemProperties.getJavaVendorUrl());
}
@Test
public void testGetJavaVersion() {
assertNotNull(SystemProperties.getJavaVersion());
}
@Test
public void testGetJavaVmInfo() {
assertNotNull(SystemProperties.getJavaVmInfo());
}
@Test
public void testGetJavaVmName() {
assertNotNull(SystemProperties.getJavaVmName());
}
@Test
public void testGetJavaVmSpecificationName() {
assertNotNull(SystemProperties.getJavaVmSpecificationName());
}
@Test
public void testGetJavaVmSpecificationVendor() {
assertNotNull(SystemProperties.getJavaVmSpecificationVendor());
}
@Test
public void testGetJavaVmSpecificationVersion() {
assertNotNull(SystemProperties.getJavaVmSpecificationVersion());
}
@Test
public void testGetJavaVmVendor() {
assertNotNull(SystemProperties.getJavaVmVendor());
}
@Test
public void testGetJavaVmVersion() {
assertNotNull(SystemProperties.getJavaVmVersion());
}
@Test
public void testGetLineSeparator() {
assertNotNull(SystemProperties.getLineSeparator());
}
@Test
public void testGetLong() {
final String key = RandomStringUtils.random(10);
final String absentKey = RandomStringUtils.random(10);
assertNull(System.getProperty(absentKey));
try {
System.setProperty(key, Long.toString(Long.MAX_VALUE));
assertEquals(Long.MAX_VALUE, SystemProperties.getLong(key, () -> 0));
assertEquals(Long.MAX_VALUE, SystemProperties.getLong(absentKey, () -> Long.MAX_VALUE));
assertEquals(0, SystemProperties.getLong(absentKey, () -> 0));
assertEquals(0, SystemProperties.getLong(absentKey, null));
} finally {
System.clearProperty(key);
}
}
@Test
public void testGetOsArch() {
assertNotNull(SystemProperties.getOsArch());
}
@Test
public void testGetOsName() {
assertNotNull(SystemProperties.getOsName());
}
@Test
public void testGetOsVersion() {
assertNotNull(SystemProperties.getOsVersion());
}
@Test
public void testGetPathSeparator() {
assertNotNull(SystemProperties.getPathSeparator());
}
@Test
public void testGetUserCountry() {
assertDoesNotThrow(SystemProperties::getUserCountry);
}
@Test
public void testGetUserDir() {
assertNotNull(SystemProperties.getUserDir());
}
@Test
public void testGetUserHome() {
assertNotNull(SystemProperties.getUserHome());
}
@Test
public void testGetUserLanguage() {
assertNotNull(SystemProperties.getUserLanguage());
}
@Test
public void testGetUserName() {
assertNotNull(SystemProperties.getUserName());
}
@Test
public void testGetUserTimezone() {
assertDoesNotThrow(SystemProperties::getUserTimezone);
}
}