1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.lang3;
19
20 import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
21 import static org.junit.jupiter.api.Assertions.assertEquals;
22 import static org.junit.jupiter.api.Assertions.assertFalse;
23 import static org.junit.jupiter.api.Assertions.assertNotNull;
24 import static org.junit.jupiter.api.Assertions.assertNull;
25 import static org.junit.jupiter.api.Assertions.assertTrue;
26 import static org.junit.jupiter.api.Assumptions.assumeTrue;
27
28 import java.nio.file.Paths;
29 import java.util.function.Supplier;
30
31 import org.junit.jupiter.api.Test;
32 import org.junit.jupiter.api.function.ThrowingSupplier;
33 import org.junit.jupiter.params.ParameterizedTest;
34 import org.junit.jupiter.params.provider.ValueSource;
35 import org.junitpioneer.jupiter.SetSystemProperty;
36 import org.junitpioneer.jupiter.SetSystemProperty.SetSystemProperties;
37
38 @SetSystemProperties({
39 @SetSystemProperty(key = SystemPropertiesTest.KEY_SPACE_1, value = "value1"),
40 @SetSystemProperty(key = SystemPropertiesTest.KEY_TAB_1, value = "value2") })
41 class SystemPropertiesTest extends AbstractLangTest {
42
43 private static final String SIMPLE_NAME = SystemPropertiesTest.class.getSimpleName();
44 static final String KEY_SPACE_1 = " ";
45 static final String KEY_TAB_1 = "\t";
46
47 private void basicKeyCheck(final String key) {
48 assertNotNull(key);
49 assertFalse(key.isEmpty());
50 assertDoesNotThrow(() -> System.getProperties().get(key));
51 assertDoesNotThrow(() -> System.getProperty(key));
52 assertDoesNotThrow(() -> System.getProperty(key, ""));
53
54
55
56
57
58
59 }
60
61 private boolean isJava11OrGreater() {
62 return SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11);
63 }
64
65 @Test
66 void testActualKeys() {
67 basicKeyCheck(SystemProperties.APPLE_AWT_ENABLE_TEMPLATE_IMAGES);
68 basicKeyCheck(SystemProperties.AWT_TOOLKIT);
69 basicKeyCheck(SystemProperties.COM_SUN_JNDI_LDAP_OBJECT_TRUST_SERIAL_DATA);
70 basicKeyCheck(SystemProperties.COM_SUN_NET_HTTP_SERVER_HTTP_SERVER_PROVIDER);
71 basicKeyCheck(SystemProperties.FILE_ENCODING);
72 basicKeyCheck(SystemProperties.FILE_SEPARATOR);
73 basicKeyCheck(SystemProperties.FTP_NON_PROXY_HOST);
74 basicKeyCheck(SystemProperties.FTP_PROXY_HOST);
75 basicKeyCheck(SystemProperties.FTP_PROXY_PORT);
76 basicKeyCheck(SystemProperties.HTTP_AGENT);
77 basicKeyCheck(SystemProperties.HTTP_AUTH_DIGEST_CNONCE_REPEAT);
78 basicKeyCheck(SystemProperties.HTTP_AUTH_DIGEST_RE_ENABLED_ALGORITHMS);
79 basicKeyCheck(SystemProperties.HTTP_AUTH_DIGEST_VALIDATE_PROXY);
80 basicKeyCheck(SystemProperties.HTTP_AUTH_DIGEST_VALIDATE_SERVER);
81 basicKeyCheck(SystemProperties.HTTP_AUTH_NTLM_DOMAIN);
82 basicKeyCheck(SystemProperties.HTTP_KEEP_ALIVE);
83 basicKeyCheck(SystemProperties.HTTP_KEEP_ALIVE_TIME_PROXY);
84 basicKeyCheck(SystemProperties.HTTP_KEEP_ALIVE_TIME_SERVER);
85 basicKeyCheck(SystemProperties.HTTP_MAX_CONNECTIONS);
86 basicKeyCheck(SystemProperties.HTTP_MAX_REDIRECTS);
87 basicKeyCheck(SystemProperties.HTTP_NON_PROXY_HOSTS);
88 basicKeyCheck(SystemProperties.HTTP_PROXY_HOST);
89 basicKeyCheck(SystemProperties.HTTP_PROXY_PORT);
90 basicKeyCheck(SystemProperties.HTTPS_PROXY_HOST);
91 basicKeyCheck(SystemProperties.HTTPS_PROXY_PORT);
92 basicKeyCheck(SystemProperties.JAVA_AWT_FONTS);
93 basicKeyCheck(SystemProperties.JAVA_AWT_GRAPHICSENV);
94 basicKeyCheck(SystemProperties.JAVA_AWT_HEADLESS);
95 basicKeyCheck(SystemProperties.JAVA_AWT_PRINTERJOB);
96 basicKeyCheck(SystemProperties.JAVA_CLASS_PATH);
97 basicKeyCheck(SystemProperties.JAVA_CLASS_VERSION);
98 basicKeyCheck(SystemProperties.JAVA_COMPILER);
99 basicKeyCheck(SystemProperties.JAVA_CONTENT_HANDLER_PKGS);
100 basicKeyCheck(SystemProperties.JAVA_ENDORSED_DIRS);
101 basicKeyCheck(SystemProperties.JAVA_EXT_DIRS);
102 basicKeyCheck(SystemProperties.JAVA_HOME);
103 basicKeyCheck(SystemProperties.JAVA_IO_TMPDIR);
104 basicKeyCheck(SystemProperties.JAVA_LIBRARY_PATH);
105 basicKeyCheck(SystemProperties.JAVA_LOCALE_PROVIDERS);
106 basicKeyCheck(SystemProperties.JAVA_LOCALE_USE_OLD_ISO_CODES);
107 basicKeyCheck(SystemProperties.JAVA_NET_PREFER_IPV4_STACK);
108 basicKeyCheck(SystemProperties.JAVA_NET_PREFER_IPV6_ADDRESSES);
109 basicKeyCheck(SystemProperties.JAVA_NET_SOCKS_PASSWORD);
110 basicKeyCheck(SystemProperties.JAVA_NET_SOCKS_USER_NAME);
111 basicKeyCheck(SystemProperties.JAVA_NET_USE_SYSTEM_PROXIES);
112 basicKeyCheck(SystemProperties.JAVA_NIO_CHANNELS_DEFAULT_THREAD_POOL_INITIAL_SIZE);
113 basicKeyCheck(SystemProperties.JAVA_NIO_CHANNELS_DEFAULT_THREAD_POOL_THREAD_FACTORY);
114 basicKeyCheck(SystemProperties.JAVA_NIO_CHANNELS_SPI_ASYNCHRONOUS_CHANNEL_PROVIDER);
115 basicKeyCheck(SystemProperties.JAVA_NIO_CHANNELS_SPI_SELECTOR_PROVIDER);
116 basicKeyCheck(SystemProperties.JAVA_NIO_FILE_SPI_DEFAULT_FILE_SYSTEM_PROVIDER);
117 basicKeyCheck(SystemProperties.JAVA_PROPERTIES_DATE);
118 basicKeyCheck(SystemProperties.JAVA_PROTOCOL_HANDLER_PKGS);
119 basicKeyCheck(SystemProperties.JAVA_RMI_SERVER_CODEBASE);
120 basicKeyCheck(SystemProperties.JAVA_RMI_SERVER_HOST_NAME);
121 basicKeyCheck(SystemProperties.JAVA_RMI_SERVER_RANDOM_IDS);
122 basicKeyCheck(SystemProperties.JAVA_RMI_SERVER_RMI_CLASS_LOADER_SPI);
123 basicKeyCheck(SystemProperties.JAVA_RUNTIME_NAME);
124 basicKeyCheck(SystemProperties.JAVA_RUNTIME_VERSION);
125 basicKeyCheck(SystemProperties.JAVA_SECURITY_AUTH_LOGIN_CONFIG);
126 basicKeyCheck(SystemProperties.JAVA_SECURITY_KERBEROS_CONF);
127 basicKeyCheck(SystemProperties.JAVA_SECURITY_KERBEROS_KDC);
128 basicKeyCheck(SystemProperties.JAVA_SECURITY_KERBEROS_REALM);
129 basicKeyCheck(SystemProperties.JAVA_SECURITY_DEBUG);
130 basicKeyCheck(SystemProperties.JAVA_SECURITY_MANAGER);
131 basicKeyCheck(SystemProperties.JAVA_SPECIFICATION_MAINTENANCE_VERSION);
132 basicKeyCheck(SystemProperties.JAVA_SPECIFICATION_NAME);
133 basicKeyCheck(SystemProperties.JAVA_SPECIFICATION_VENDOR);
134 basicKeyCheck(SystemProperties.JAVA_SPECIFICATION_VERSION);
135 basicKeyCheck(SystemProperties.JAVA_SYSTEM_CLASS_LOADER);
136 basicKeyCheck(SystemProperties.JAVA_TIME_ZONE_DEFAULT_ZONE_RULES_PROVIDER);
137 basicKeyCheck(SystemProperties.JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_EXCEPTION_HANDLER);
138 basicKeyCheck(SystemProperties.JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_MAXIMUM_SPARES);
139 basicKeyCheck(SystemProperties.JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_PARALLELISM);
140 basicKeyCheck(SystemProperties.JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_THREAD_FACTORY);
141 basicKeyCheck(SystemProperties.JAVA_UTIL_CURRENCY_DATA);
142 basicKeyCheck(SystemProperties.JAVA_UTIL_LOGGING_CONFIG_CLASS);
143 basicKeyCheck(SystemProperties.JAVA_UTIL_LOGGING_CONFIG_FILE);
144 basicKeyCheck(SystemProperties.JAVA_UTIL_LOGGING_SIMPLE_FORMATTER_FORMAT);
145 basicKeyCheck(SystemProperties.JAVA_UTIL_PREFS_PREFERENCES_FACTORY);
146 basicKeyCheck(SystemProperties.JAVA_UTIL_PROPERTY_RESOURCE_BUNDLE_ENCODING);
147 basicKeyCheck(SystemProperties.JAVA_VENDOR);
148 basicKeyCheck(SystemProperties.JAVA_VENDOR_URL);
149 basicKeyCheck(SystemProperties.JAVA_VENDOR_VERSION);
150 basicKeyCheck(SystemProperties.JAVA_VERSION);
151 basicKeyCheck(SystemProperties.JAVA_VERSION_DATE);
152 basicKeyCheck(SystemProperties.JAVA_VM_INFO);
153 basicKeyCheck(SystemProperties.JAVA_VM_NAME);
154 basicKeyCheck(SystemProperties.JAVA_VM_SPECIFICATION_NAME);
155 basicKeyCheck(SystemProperties.JAVA_VM_SPECIFICATION_VENDOR);
156 basicKeyCheck(SystemProperties.JAVA_VM_SPECIFICATION_VERSION);
157 basicKeyCheck(SystemProperties.JAVA_VM_VENDOR);
158 basicKeyCheck(SystemProperties.JAVA_VM_VERSION);
159 basicKeyCheck(SystemProperties.JAVA_XML_CONFIG_FILE);
160 basicKeyCheck(SystemProperties.JAVAX_ACCESSIBILITY_ASSISTIVE_TECHNOLOGIES);
161 basicKeyCheck(SystemProperties.JAVAX_NET_SSL_SESSION_CACHE_SIZE);
162 basicKeyCheck(SystemProperties.JAVAX_RMI_SSL_CLIENT_ENABLED_CIPHER_SUITES);
163 basicKeyCheck(SystemProperties.JAVAX_RMI_SSL_CLIENT_ENABLED_PROTOCOLS);
164 basicKeyCheck(SystemProperties.JAVAX_SECURITY_AUTH_USE_SUBJECT_CREDS_ONLY);
165 basicKeyCheck(SystemProperties.JAVAX_SMART_CARD_IO_TERMINAL_FACTORY_DEFAULT_TYPE);
166 basicKeyCheck(SystemProperties.JDBC_DRIVERS);
167 basicKeyCheck(SystemProperties.JDK_HTTP_AUTH_PROXYING_DISABLED_SCHEMES);
168 basicKeyCheck(SystemProperties.JDK_HTTP_AUTH_TUNNELING_DISABLED_SCHEMES);
169 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_ALLOW_RESTRICTED_HEADERS);
170 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_AUTH_RETRY_LIMIT);
171 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_BUF_SIZE);
172 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_CONNECTION_POOL_SIZE);
173 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_CONNECTION_WINDOW_SIZE);
174 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_DISABLE_RETRY_CONNECT);
175 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_ENABLE_ALL_METHOD_RETRY);
176 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_ENABLE_PUSH);
177 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_HPACK_MAX_HEADER_TABLE_SIZE);
178 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_HTTP_CLIENT_LOG);
179 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_KEEP_ALIVE_TIMEOUT);
180 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_KEEP_ALIVE_TIMEOUT_H2);
181 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_MAX_FRAME_SIZE);
182 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_MAX_STREAMS);
183 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_RECEIVE_BUFFER_SIZE);
184 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_REDIRECTS_RETRY_LIMIT);
185 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_SEND_BUFFER_SIZE);
186 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_WEB_SOCKET_WRITE_BUFFER_SIZE);
187 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_WINDOW_SIZE);
188 basicKeyCheck(SystemProperties.JDK_HTTPS_NEGOTIATE_CBT);
189 basicKeyCheck(SystemProperties.JDK_HTTP_SERVER_MAX_CONNECTIONS);
190 basicKeyCheck(SystemProperties.JDK_INCLUDE_IN_EXCEPTIONS);
191 basicKeyCheck(SystemProperties.JDK_INTERNAL_HTTP_CLIENT_DISABLE_HOST_NAME_VERIFICATION);
192 basicKeyCheck(SystemProperties.JDK_IO_PERMISSIONS_USE_CANONICAL_PATH);
193 basicKeyCheck(SystemProperties.JDK_JNDI_LDAP_OBJECT_FACTORIES_FILTER);
194 basicKeyCheck(SystemProperties.JDK_JNDI_OBJECT_FACTORIES_FILTER);
195 basicKeyCheck(SystemProperties.JDK_JNDI_RMI_OBJECT_FACTORIES_FILTER);
196 basicKeyCheck(SystemProperties.JDK_MODULE_MAIN);
197 basicKeyCheck(SystemProperties.JDK_MODULE_MAIN_CLASS);
198 basicKeyCheck(SystemProperties.JDK_MODULE_PATH);
199 basicKeyCheck(SystemProperties.JDK_MODULE_UPGRADE_PATH);
200 basicKeyCheck(SystemProperties.JDK_NET_UNIX_DOMAIN_TMPDIR);
201 basicKeyCheck(SystemProperties.JDK_NET_URL_CLASS_PATH_SHOW_IGNORED_CLASS_PATH_ENTRIES);
202 basicKeyCheck(SystemProperties.JDK_SERIAL_FILTER);
203 basicKeyCheck(SystemProperties.JDK_SERIAL_FILTER_FACTORY);
204 basicKeyCheck(SystemProperties.JDK_TLS_CLIENT_SIGNATURE_SCHEMES);
205 basicKeyCheck(SystemProperties.JDK_TLS_NAMED_GROUPS);
206 basicKeyCheck(SystemProperties.JDK_TLS_SERVER_SIGNATURE_SCHEMES);
207 basicKeyCheck(SystemProperties.JDK_VIRTUAL_THREAD_SCHEDULER_MAXPOOLSIZE);
208 basicKeyCheck(SystemProperties.JDK_VIRTUAL_THREAD_SCHEDULER_PARALLELISM);
209 basicKeyCheck(SystemProperties.JDK_XML_CDATA_CHUNK_SIZE);
210 basicKeyCheck(SystemProperties.JDK_XML_DTD_SUPPORT);
211 basicKeyCheck(SystemProperties.JDK_XML_ELEMENT_ATTRIBUTE_LIMIT);
212 basicKeyCheck(SystemProperties.JDK_XML_ENABLE_EXTENSION_FUNCTIONS);
213 basicKeyCheck(SystemProperties.JDK_XML_ENTITY_EXPANSION_LIMIT);
214 basicKeyCheck(SystemProperties.JDK_XML_ENTITY_REPLACEMENT_LIMIT);
215 basicKeyCheck(SystemProperties.JDK_XML_IS_STANDALONE);
216 basicKeyCheck(SystemProperties.JDK_XML_JDK_CATALOG_RESOLVE);
217 basicKeyCheck(SystemProperties.JDK_XML_MAX_ELEMENT_DEPTH);
218 basicKeyCheck(SystemProperties.JDK_XML_MAX_GENERAL_ENTITY_SIZE_LIMIT);
219 basicKeyCheck(SystemProperties.JDK_XML_MAX_OCCUR_LIMIT);
220 basicKeyCheck(SystemProperties.JDK_XML_MAX_PARAMETER_ENTITY_SIZE_LIMIT);
221 basicKeyCheck(SystemProperties.JDK_XML_MAX_XML_NAME_LIMIT);
222 basicKeyCheck(SystemProperties.JDK_XML_OVERRIDE_DEFAULT_PARSER);
223 basicKeyCheck(SystemProperties.JDK_XML_RESET_SYMBOL_TABLE);
224 basicKeyCheck(SystemProperties.JDK_XML_TOTAL_ENTITY_SIZE_LIMIT);
225 basicKeyCheck(SystemProperties.JDK_XML_XSLTC_IS_STANDALONE);
226 basicKeyCheck(SystemProperties.LINE_SEPARATOR);
227 basicKeyCheck(SystemProperties.NATIVE_ENCODING);
228 basicKeyCheck(SystemProperties.NETWORK_ADDRESS_CACHE_NEGATIVE_TTL);
229 basicKeyCheck(SystemProperties.NETWORK_ADDRESS_CACHE_STALE_TTL);
230 basicKeyCheck(SystemProperties.NETWORK_ADDRESS_CACHE_TTL);
231 basicKeyCheck(SystemProperties.ORG_JCP_XML_DSIG_SECURE_VALIDATION);
232 basicKeyCheck(SystemProperties.ORG_OPENJDK_JAVA_UTIL_STREAM_TRIPWIRE);
233 basicKeyCheck(SystemProperties.OS_ARCH);
234 basicKeyCheck(SystemProperties.OS_NAME);
235 basicKeyCheck(SystemProperties.OS_VERSION);
236 basicKeyCheck(SystemProperties.PATH_SEPARATOR);
237 basicKeyCheck(SystemProperties.SOCKS_PROXY_HOST);
238 basicKeyCheck(SystemProperties.SOCKS_PROXY_PORT);
239 basicKeyCheck(SystemProperties.SOCKS_PROXY_VERSION);
240 basicKeyCheck(SystemProperties.STDERR_ENCODING);
241 basicKeyCheck(SystemProperties.STDOUT_ENCODING);
242 basicKeyCheck(SystemProperties.SUN_NET_HTTP_SERVER_DRAIN_AMOUNT);
243 basicKeyCheck(SystemProperties.SUN_NET_HTTP_SERVER_IDLE_INTERVAL);
244 basicKeyCheck(SystemProperties.SUN_NET_HTTP_SERVER_MAX_IDLE_CONNECTIONS);
245 basicKeyCheck(SystemProperties.SUN_NET_HTTP_SERVER_MAX_REQ_HEADERS);
246 basicKeyCheck(SystemProperties.SUN_NET_HTTP_SERVER_MAX_REQ_TIME);
247 basicKeyCheck(SystemProperties.SUN_NET_HTTP_SERVER_MAX_RSP_TIME);
248 basicKeyCheck(SystemProperties.SUN_NET_HTTP_SERVER_NO_DELAY);
249 basicKeyCheck(SystemProperties.SUN_SECURITY_KRB5_PRINCIPAL);
250 basicKeyCheck(SystemProperties.USER_COUNTRY);
251 basicKeyCheck(SystemProperties.USER_DIR);
252 basicKeyCheck(SystemProperties.USER_EXTENSIONS);
253 basicKeyCheck(SystemProperties.USER_HOME);
254 basicKeyCheck(SystemProperties.USER_LANGUAGE);
255 basicKeyCheck(SystemProperties.USER_NAME);
256 basicKeyCheck(SystemProperties.USER_REGION);
257 basicKeyCheck(SystemProperties.USER_SCRIPT);
258 basicKeyCheck(SystemProperties.USER_TIMEZONE);
259 basicKeyCheck(SystemProperties.USER_VARIANT);
260 }
261
262
263
264
265
266
267 @Test
268 void testConstants() {
269 assertEquals("apple.awt.enableTemplateImages", SystemProperties.APPLE_AWT_ENABLE_TEMPLATE_IMAGES);
270 assertEquals("awt.toolkit", SystemProperties.AWT_TOOLKIT);
271 assertEquals("com.sun.jndi.ldap.object.trustSerialData", SystemProperties.COM_SUN_JNDI_LDAP_OBJECT_TRUST_SERIAL_DATA);
272 assertEquals("com.sun.net.httpserver.HttpServerProvider", SystemProperties.COM_SUN_NET_HTTP_SERVER_HTTP_SERVER_PROVIDER);
273 assertEquals("file.encoding", SystemProperties.FILE_ENCODING);
274 assertEquals("file.separator", SystemProperties.FILE_SEPARATOR);
275 assertEquals("ftp.nonProxyHosts", SystemProperties.FTP_NON_PROXY_HOST);
276 assertEquals("ftp.proxyHost", SystemProperties.FTP_PROXY_HOST);
277 assertEquals("ftp.proxyPort", SystemProperties.FTP_PROXY_PORT);
278 assertEquals("http.agent", SystemProperties.HTTP_AGENT);
279 assertEquals("http.auth.digest.cnonceRepeat", SystemProperties.HTTP_AUTH_DIGEST_CNONCE_REPEAT);
280 assertEquals("http.auth.digest.reEnabledAlgorithms", SystemProperties.HTTP_AUTH_DIGEST_RE_ENABLED_ALGORITHMS);
281 assertEquals("http.auth.digest.validateProxy", SystemProperties.HTTP_AUTH_DIGEST_VALIDATE_PROXY);
282 assertEquals("http.auth.digest.validateServer", SystemProperties.HTTP_AUTH_DIGEST_VALIDATE_SERVER);
283 assertEquals("http.auth.ntlm.domain", SystemProperties.HTTP_AUTH_NTLM_DOMAIN);
284 assertEquals("http.keepAlive", SystemProperties.HTTP_KEEP_ALIVE);
285 assertEquals("http.keepAlive.time.proxy", SystemProperties.HTTP_KEEP_ALIVE_TIME_PROXY);
286 assertEquals("http.keepAlive.time.server", SystemProperties.HTTP_KEEP_ALIVE_TIME_SERVER);
287 assertEquals("http.maxConnections", SystemProperties.HTTP_MAX_CONNECTIONS);
288 assertEquals("http.maxRedirects", SystemProperties.HTTP_MAX_REDIRECTS);
289 assertEquals("http.nonProxyHosts", SystemProperties.HTTP_NON_PROXY_HOSTS);
290 assertEquals("http.proxyHost", SystemProperties.HTTP_PROXY_HOST);
291 assertEquals("http.proxyPort", SystemProperties.HTTP_PROXY_PORT);
292 assertEquals("https.proxyHost", SystemProperties.HTTPS_PROXY_HOST);
293 assertEquals("https.proxyPort", SystemProperties.HTTPS_PROXY_PORT);
294 assertEquals("java.awt.fonts", SystemProperties.JAVA_AWT_FONTS);
295 assertEquals("java.awt.graphicsenv", SystemProperties.JAVA_AWT_GRAPHICSENV);
296 assertEquals("java.awt.headless", SystemProperties.JAVA_AWT_HEADLESS);
297 assertEquals("java.awt.printerjob", SystemProperties.JAVA_AWT_PRINTERJOB);
298 assertEquals("java.class.path", SystemProperties.JAVA_CLASS_PATH);
299 assertEquals("java.class.version", SystemProperties.JAVA_CLASS_VERSION);
300 assertEquals("java.compiler", SystemProperties.JAVA_COMPILER);
301 assertEquals("java.content.handler.pkgs", SystemProperties.JAVA_CONTENT_HANDLER_PKGS);
302 assertEquals("java.endorsed.dirs", SystemProperties.JAVA_ENDORSED_DIRS);
303 assertEquals("java.ext.dirs", SystemProperties.JAVA_EXT_DIRS);
304 assertEquals("java.home", SystemProperties.JAVA_HOME);
305 assertEquals("java.io.tmpdir", SystemProperties.JAVA_IO_TMPDIR);
306 assertEquals("java.library.path", SystemProperties.JAVA_LIBRARY_PATH);
307 assertEquals("java.locale.providers", SystemProperties.JAVA_LOCALE_PROVIDERS);
308 assertEquals("java.locale.useOldISOCodes", SystemProperties.JAVA_LOCALE_USE_OLD_ISO_CODES);
309 assertEquals("java.net.preferIPv4Stack", SystemProperties.JAVA_NET_PREFER_IPV4_STACK);
310 assertEquals("java.net.preferIPv6Addresses", SystemProperties.JAVA_NET_PREFER_IPV6_ADDRESSES);
311 assertEquals("java.net.socks.password", SystemProperties.JAVA_NET_SOCKS_PASSWORD);
312 assertEquals("java.net.socks.username", SystemProperties.JAVA_NET_SOCKS_USER_NAME);
313 assertEquals("java.net.useSystemProxies", SystemProperties.JAVA_NET_USE_SYSTEM_PROXIES);
314 assertEquals("java.nio.channels.DefaultThreadPool.initialSize", SystemProperties.JAVA_NIO_CHANNELS_DEFAULT_THREAD_POOL_INITIAL_SIZE);
315 assertEquals("java.nio.channels.DefaultThreadPool.threadFactory", SystemProperties.JAVA_NIO_CHANNELS_DEFAULT_THREAD_POOL_THREAD_FACTORY);
316 assertEquals("java.nio.channels.spi.AsynchronousChannelProvider", SystemProperties.JAVA_NIO_CHANNELS_SPI_ASYNCHRONOUS_CHANNEL_PROVIDER);
317 assertEquals("java.nio.channels.spi.SelectorProvider", SystemProperties.JAVA_NIO_CHANNELS_SPI_SELECTOR_PROVIDER);
318 assertEquals("java.nio.file.spi.DefaultFileSystemProvider", SystemProperties.JAVA_NIO_FILE_SPI_DEFAULT_FILE_SYSTEM_PROVIDER);
319 assertEquals("java.properties.date", SystemProperties.JAVA_PROPERTIES_DATE);
320 assertEquals("java.protocol.handler.pkgs", SystemProperties.JAVA_PROTOCOL_HANDLER_PKGS);
321 assertEquals("java.rmi.server.codebase", SystemProperties.JAVA_RMI_SERVER_CODEBASE);
322 assertEquals("java.rmi.server.hostname", SystemProperties.JAVA_RMI_SERVER_HOST_NAME);
323 assertEquals("java.rmi.server.randomIDs", SystemProperties.JAVA_RMI_SERVER_RANDOM_IDS);
324 assertEquals("java.rmi.server.RMIClassLoaderSpi", SystemProperties.JAVA_RMI_SERVER_RMI_CLASS_LOADER_SPI);
325 assertEquals("java.runtime.name", SystemProperties.JAVA_RUNTIME_NAME);
326 assertEquals("java.runtime.version", SystemProperties.JAVA_RUNTIME_VERSION);
327 assertEquals("java.security.auth.login.config", SystemProperties.JAVA_SECURITY_AUTH_LOGIN_CONFIG);
328 assertEquals("java.security.debug", SystemProperties.JAVA_SECURITY_DEBUG);
329 assertEquals("java.security.krb5.conf", SystemProperties.JAVA_SECURITY_KERBEROS_CONF);
330 assertEquals("java.security.krb5.kdc", SystemProperties.JAVA_SECURITY_KERBEROS_KDC);
331 assertEquals("java.security.krb5.realm", SystemProperties.JAVA_SECURITY_KERBEROS_REALM);
332 assertEquals("java.security.manager", SystemProperties.JAVA_SECURITY_MANAGER);
333 assertEquals("java.specification.maintenance.version", SystemProperties.JAVA_SPECIFICATION_MAINTENANCE_VERSION);
334 assertEquals("java.specification.name", SystemProperties.JAVA_SPECIFICATION_NAME);
335 assertEquals("java.specification.vendor", SystemProperties.JAVA_SPECIFICATION_VENDOR);
336 assertEquals("java.specification.version", SystemProperties.JAVA_SPECIFICATION_VERSION);
337 assertEquals("java.system.class.loader", SystemProperties.JAVA_SYSTEM_CLASS_LOADER);
338 assertEquals("java.time.zone.DefaultZoneRulesProvider", SystemProperties.JAVA_TIME_ZONE_DEFAULT_ZONE_RULES_PROVIDER);
339 assertEquals("java.util.concurrent.ForkJoinPool.common.exceptionHandler", SystemProperties.JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_EXCEPTION_HANDLER);
340 assertEquals("java.util.concurrent.ForkJoinPool.common.maximumSpares", SystemProperties.JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_MAXIMUM_SPARES);
341 assertEquals("java.util.concurrent.ForkJoinPool.common.parallelism", SystemProperties.JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_PARALLELISM);
342 assertEquals("java.util.concurrent.ForkJoinPool.common.threadFactory", SystemProperties.JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_THREAD_FACTORY);
343 assertEquals("java.util.currency.data", SystemProperties.JAVA_UTIL_CURRENCY_DATA);
344 assertEquals("java.util.logging.config.class", SystemProperties.JAVA_UTIL_LOGGING_CONFIG_CLASS);
345 assertEquals("java.util.logging.config.file", SystemProperties.JAVA_UTIL_LOGGING_CONFIG_FILE);
346 assertEquals("java.util.logging.simpleformatter.format", SystemProperties.JAVA_UTIL_LOGGING_SIMPLE_FORMATTER_FORMAT);
347 assertEquals("java.util.prefs.PreferencesFactory", SystemProperties.JAVA_UTIL_PREFS_PREFERENCES_FACTORY);
348 assertEquals("java.util.PropertyResourceBundle.encoding", SystemProperties.JAVA_UTIL_PROPERTY_RESOURCE_BUNDLE_ENCODING);
349 assertEquals("java.vendor", SystemProperties.JAVA_VENDOR);
350 assertEquals("java.vendor.url", SystemProperties.JAVA_VENDOR_URL);
351 assertEquals("java.vendor.version", SystemProperties.JAVA_VENDOR_VERSION);
352 assertEquals("java.version", SystemProperties.JAVA_VERSION);
353 assertEquals("java.version.date", SystemProperties.JAVA_VERSION_DATE);
354 assertEquals("java.vm.info", SystemProperties.JAVA_VM_INFO);
355 assertEquals("java.vm.name", SystemProperties.JAVA_VM_NAME);
356 assertEquals("java.vm.specification.name", SystemProperties.JAVA_VM_SPECIFICATION_NAME);
357 assertEquals("java.vm.specification.vendor", SystemProperties.JAVA_VM_SPECIFICATION_VENDOR);
358 assertEquals("java.vm.specification.version", SystemProperties.JAVA_VM_SPECIFICATION_VERSION);
359 assertEquals("java.vm.vendor", SystemProperties.JAVA_VM_VENDOR);
360 assertEquals("java.vm.version", SystemProperties.JAVA_VM_VERSION);
361 assertEquals("java.xml.config.file", SystemProperties.JAVA_XML_CONFIG_FILE);
362 assertEquals("javax.accessibility.assistive_technologies", SystemProperties.JAVAX_ACCESSIBILITY_ASSISTIVE_TECHNOLOGIES);
363 assertEquals("javax.net.ssl.sessionCacheSize", SystemProperties.JAVAX_NET_SSL_SESSION_CACHE_SIZE);
364 assertEquals("javax.rmi.ssl.client.enabledCipherSuites", SystemProperties.JAVAX_RMI_SSL_CLIENT_ENABLED_CIPHER_SUITES);
365 assertEquals("javax.rmi.ssl.client.enabledProtocols", SystemProperties.JAVAX_RMI_SSL_CLIENT_ENABLED_PROTOCOLS);
366 assertEquals("javax.security.auth.useSubjectCredsOnly", SystemProperties.JAVAX_SECURITY_AUTH_USE_SUBJECT_CREDS_ONLY);
367 assertEquals("javax.smartcardio.TerminalFactory.DefaultType", SystemProperties.JAVAX_SMART_CARD_IO_TERMINAL_FACTORY_DEFAULT_TYPE);
368 assertEquals("jdbc.drivers", SystemProperties.JDBC_DRIVERS);
369 assertEquals("jdk.http.auth.proxying.disabledSchemes", SystemProperties.JDK_HTTP_AUTH_PROXYING_DISABLED_SCHEMES);
370 assertEquals("jdk.http.auth.tunneling.disabledSchemes", SystemProperties.JDK_HTTP_AUTH_TUNNELING_DISABLED_SCHEMES);
371 assertEquals("jdk.httpclient.allowRestrictedHeaders", SystemProperties.JDK_HTTP_CLIENT_ALLOW_RESTRICTED_HEADERS);
372 assertEquals("jdk.httpclient.auth.retrylimit", SystemProperties.JDK_HTTP_CLIENT_AUTH_RETRY_LIMIT);
373 assertEquals("jdk.httpclient.bufsize", SystemProperties.JDK_HTTP_CLIENT_BUF_SIZE);
374 assertEquals("jdk.httpclient.connectionPoolSize", SystemProperties.JDK_HTTP_CLIENT_CONNECTION_POOL_SIZE);
375 assertEquals("jdk.httpclient.connectionWindowSize", SystemProperties.JDK_HTTP_CLIENT_CONNECTION_WINDOW_SIZE);
376 assertEquals("jdk.httpclient.disableRetryConnect", SystemProperties.JDK_HTTP_CLIENT_DISABLE_RETRY_CONNECT);
377 assertEquals("jdk.httpclient.enableAllMethodRetry", SystemProperties.JDK_HTTP_CLIENT_ENABLE_ALL_METHOD_RETRY);
378 assertEquals("jdk.httpclient.enablepush", SystemProperties.JDK_HTTP_CLIENT_ENABLE_PUSH);
379 assertEquals("jdk.httpclient.hpack.maxheadertablesize", SystemProperties.JDK_HTTP_CLIENT_HPACK_MAX_HEADER_TABLE_SIZE);
380 assertEquals("jdk.httpclient.HttpClient.log", SystemProperties.JDK_HTTP_CLIENT_HTTP_CLIENT_LOG);
381 assertEquals("jdk.httpclient.keepalive.timeout", SystemProperties.JDK_HTTP_CLIENT_KEEP_ALIVE_TIMEOUT);
382 assertEquals("jdk.httpclient.keepalive.timeout.h2", SystemProperties.JDK_HTTP_CLIENT_KEEP_ALIVE_TIMEOUT_H2);
383 assertEquals("jdk.httpclient.maxframesize", SystemProperties.JDK_HTTP_CLIENT_MAX_FRAME_SIZE);
384 assertEquals("jdk.httpclient.maxstreams", SystemProperties.JDK_HTTP_CLIENT_MAX_STREAMS);
385 assertEquals("jdk.httpclient.receiveBufferSize", SystemProperties.JDK_HTTP_CLIENT_RECEIVE_BUFFER_SIZE);
386 assertEquals("jdk.httpclient.redirects.retrylimit", SystemProperties.JDK_HTTP_CLIENT_REDIRECTS_RETRY_LIMIT);
387 assertEquals("jdk.httpclient.sendBufferSize", SystemProperties.JDK_HTTP_CLIENT_SEND_BUFFER_SIZE);
388 assertEquals("jdk.httpclient.websocket.writeBufferSize", SystemProperties.JDK_HTTP_CLIENT_WEB_SOCKET_WRITE_BUFFER_SIZE);
389 assertEquals("jdk.httpclient.windowsize", SystemProperties.JDK_HTTP_CLIENT_WINDOW_SIZE);
390 assertEquals("jdk.httpserver.maxConnections", SystemProperties.JDK_HTTP_SERVER_MAX_CONNECTIONS);
391 assertEquals("jdk.https.negotiate.cbt", SystemProperties.JDK_HTTPS_NEGOTIATE_CBT);
392 assertEquals("jdk.includeInExceptions", SystemProperties.JDK_INCLUDE_IN_EXCEPTIONS);
393 assertEquals("jdk.internal.httpclient.disableHostnameVerification", SystemProperties.JDK_INTERNAL_HTTP_CLIENT_DISABLE_HOST_NAME_VERIFICATION);
394 assertEquals("jdk.io.permissionsUseCanonicalPath", SystemProperties.JDK_IO_PERMISSIONS_USE_CANONICAL_PATH);
395 assertEquals("jdk.jndi.ldap.object.factoriesFilter", SystemProperties.JDK_JNDI_LDAP_OBJECT_FACTORIES_FILTER);
396 assertEquals("jdk.jndi.object.factoriesFilter", SystemProperties.JDK_JNDI_OBJECT_FACTORIES_FILTER);
397 assertEquals("jdk.jndi.rmi.object.factoriesFilter", SystemProperties.JDK_JNDI_RMI_OBJECT_FACTORIES_FILTER);
398 assertEquals("jdk.module.main", SystemProperties.JDK_MODULE_MAIN);
399 assertEquals("jdk.module.main.class", SystemProperties.JDK_MODULE_MAIN_CLASS);
400 assertEquals("jdk.module.path", SystemProperties.JDK_MODULE_PATH);
401 assertEquals("jdk.module.upgrade.path", SystemProperties.JDK_MODULE_UPGRADE_PATH);
402 assertEquals("jdk.net.unixdomain.tmpdir", SystemProperties.JDK_NET_UNIX_DOMAIN_TMPDIR);
403 assertEquals("jdk.net.URLClassPath.showIgnoredClassPathEntries", SystemProperties.JDK_NET_URL_CLASS_PATH_SHOW_IGNORED_CLASS_PATH_ENTRIES);
404 assertEquals("jdk.serialFilter", SystemProperties.JDK_SERIAL_FILTER);
405 assertEquals("jdk.serialFilterFactory", SystemProperties.JDK_SERIAL_FILTER_FACTORY);
406 assertEquals("jdk.tls.client.SignatureSchemes", SystemProperties.JDK_TLS_CLIENT_SIGNATURE_SCHEMES);
407 assertEquals("jdk.tls.namedGroups", SystemProperties.JDK_TLS_NAMED_GROUPS);
408 assertEquals("jdk.tls.server.SignatureSchemes", SystemProperties.JDK_TLS_SERVER_SIGNATURE_SCHEMES);
409 assertEquals("jdk.virtualThreadScheduler.maxPoolSize", SystemProperties.JDK_VIRTUAL_THREAD_SCHEDULER_MAXPOOLSIZE);
410 assertEquals("jdk.virtualThreadScheduler.parallelism", SystemProperties.JDK_VIRTUAL_THREAD_SCHEDULER_PARALLELISM);
411 assertEquals("jdk.xml.cdataChunkSize", SystemProperties.JDK_XML_CDATA_CHUNK_SIZE);
412 assertEquals("jdk.xml.dtd.support", SystemProperties.JDK_XML_DTD_SUPPORT);
413 assertEquals("jdk.xml.elementAttributeLimit", SystemProperties.JDK_XML_ELEMENT_ATTRIBUTE_LIMIT);
414 assertEquals("jdk.xml.enableExtensionFunctions", SystemProperties.JDK_XML_ENABLE_EXTENSION_FUNCTIONS);
415 assertEquals("jdk.xml.entityExpansionLimit", SystemProperties.JDK_XML_ENTITY_EXPANSION_LIMIT);
416 assertEquals("jdk.xml.entityReplacementLimit", SystemProperties.JDK_XML_ENTITY_REPLACEMENT_LIMIT);
417 assertEquals("jdk.xml.isStandalone", SystemProperties.JDK_XML_IS_STANDALONE);
418 assertEquals("jdk.xml.jdkcatalog.resolve", SystemProperties.JDK_XML_JDK_CATALOG_RESOLVE);
419 assertEquals("jdk.xml.maxElementDepth", SystemProperties.JDK_XML_MAX_ELEMENT_DEPTH);
420 assertEquals("jdk.xml.maxGeneralEntitySizeLimit", SystemProperties.JDK_XML_MAX_GENERAL_ENTITY_SIZE_LIMIT);
421 assertEquals("jdk.xml.maxOccurLimit", SystemProperties.JDK_XML_MAX_OCCUR_LIMIT);
422 assertEquals("jdk.xml.maxParameterEntitySizeLimit", SystemProperties.JDK_XML_MAX_PARAMETER_ENTITY_SIZE_LIMIT);
423 assertEquals("jdk.xml.maxXMLNameLimit", SystemProperties.JDK_XML_MAX_XML_NAME_LIMIT);
424 assertEquals("jdk.xml.overrideDefaultParser", SystemProperties.JDK_XML_OVERRIDE_DEFAULT_PARSER);
425 assertEquals("jdk.xml.resetSymbolTable", SystemProperties.JDK_XML_RESET_SYMBOL_TABLE);
426 assertEquals("jdk.xml.totalEntitySizeLimit", SystemProperties.JDK_XML_TOTAL_ENTITY_SIZE_LIMIT);
427 assertEquals("jdk.xml.xsltcIsStandalone", SystemProperties.JDK_XML_XSLTC_IS_STANDALONE);
428 assertEquals("line.separator", SystemProperties.LINE_SEPARATOR);
429 assertEquals("native.encoding", SystemProperties.NATIVE_ENCODING);
430 assertEquals("networkaddress.cache.negative.ttl", SystemProperties.NETWORK_ADDRESS_CACHE_NEGATIVE_TTL);
431 assertEquals("networkaddress.cache.stale.ttl", SystemProperties.NETWORK_ADDRESS_CACHE_STALE_TTL);
432 assertEquals("networkaddress.cache.ttl", SystemProperties.NETWORK_ADDRESS_CACHE_TTL);
433 assertEquals("org.jcp.xml.dsig.securevalidation", SystemProperties.ORG_JCP_XML_DSIG_SECURE_VALIDATION);
434 assertEquals("org.openjdk.java.util.stream.tripwire", SystemProperties.ORG_OPENJDK_JAVA_UTIL_STREAM_TRIPWIRE);
435 assertEquals("os.arch", SystemProperties.OS_ARCH);
436 assertEquals("os.name", SystemProperties.OS_NAME);
437 assertEquals("os.version", SystemProperties.OS_VERSION);
438 assertEquals("path.separator", SystemProperties.PATH_SEPARATOR);
439 assertEquals("socksProxyHost", SystemProperties.SOCKS_PROXY_HOST);
440 assertEquals("socksProxyPort", SystemProperties.SOCKS_PROXY_PORT);
441 assertEquals("socksProxyVersion", SystemProperties.SOCKS_PROXY_VERSION);
442 assertEquals("stderr.encoding", SystemProperties.STDERR_ENCODING);
443 assertEquals("stdout.encoding", SystemProperties.STDOUT_ENCODING);
444 assertEquals("sun.net.httpserver.drainAmount", SystemProperties.SUN_NET_HTTP_SERVER_DRAIN_AMOUNT);
445 assertEquals("sun.net.httpserver.idleInterval", SystemProperties.SUN_NET_HTTP_SERVER_IDLE_INTERVAL);
446 assertEquals("sun.net.httpserver.maxIdleConnections", SystemProperties.SUN_NET_HTTP_SERVER_MAX_IDLE_CONNECTIONS);
447 assertEquals("sun.net.httpserver.maxReqHeaders", SystemProperties.SUN_NET_HTTP_SERVER_MAX_REQ_HEADERS);
448 assertEquals("sun.net.httpserver.maxReqTime", SystemProperties.SUN_NET_HTTP_SERVER_MAX_REQ_TIME);
449 assertEquals("sun.net.httpserver.maxRspTime", SystemProperties.SUN_NET_HTTP_SERVER_MAX_RSP_TIME);
450 assertEquals("sun.net.httpserver.nodelay", SystemProperties.SUN_NET_HTTP_SERVER_NO_DELAY);
451 assertEquals("sun.security.krb5.principal", SystemProperties.SUN_SECURITY_KRB5_PRINCIPAL);
452 assertEquals("user.country", SystemProperties.USER_COUNTRY);
453 assertEquals("user.dir", SystemProperties.USER_DIR);
454 assertEquals("user.extensions", SystemProperties.USER_EXTENSIONS);
455 assertEquals("user.home", SystemProperties.USER_HOME);
456 assertEquals("user.language", SystemProperties.USER_LANGUAGE);
457 assertEquals("user.name", SystemProperties.USER_NAME);
458 assertEquals("user.region", SystemProperties.USER_REGION);
459 assertEquals("user.script", SystemProperties.USER_SCRIPT);
460 assertEquals("user.timezone", SystemProperties.USER_TIMEZONE);
461 assertEquals("user.variant", SystemProperties.USER_VARIANT);
462 }
463
464
465
466
467 @Test
468 @SetSystemProperty(key = "jdk.xml.entityReplacementLimit", value = "1234")
469 void testEntityReplacementLimitConstantName() {
470 assertEquals("jdk.xml.entityReplacementLimit", SystemProperties.JDK_XML_ENTITY_REPLACEMENT_LIMIT);
471 assertEquals("1234", SystemProperties.getJdkXmlEntityReplacementLimit());
472 }
473
474 @Test
475 void testGetAwtToolkit() {
476 assertDoesNotThrow(SystemProperties::getAwtToolkit);
477 }
478
479 @Test
480 void testGetBoolean() {
481 final String key = RandomStringUtils.insecure().next(10);
482 final String absentKey = RandomStringUtils.insecure().next(10);
483 assertNull(System.getProperty(absentKey));
484 try {
485 System.setProperty(key, Boolean.toString(Boolean.TRUE));
486 assertEquals(Boolean.TRUE, SystemProperties.getBoolean(key, () -> false));
487 assertEquals(Boolean.TRUE, SystemProperties.getBoolean(absentKey, () -> Boolean.TRUE));
488 assertFalse(SystemProperties.getBoolean(absentKey, () -> false));
489 assertFalse(SystemProperties.getBoolean(absentKey, null));
490 } finally {
491 System.clearProperty(key);
492 }
493 }
494
495 @Test
496 void testGetBooleanClass() {
497 final String key = RandomStringUtils.insecure().next(10);
498 final String absentKey = RandomStringUtils.insecure().next(10);
499 final String keyFull = SIMPLE_NAME + "." + key;
500 final String absentKeyFull = SIMPLE_NAME + "." + absentKey;
501 assertNull(System.getProperty(absentKeyFull));
502 try {
503 System.setProperty(keyFull, Boolean.TRUE.toString());
504 assertTrue(SystemProperties.getBoolean(SystemPropertiesTest.class, key, () -> false));
505 assertTrue(SystemProperties.getBoolean(SystemPropertiesTest.class, absentKey, () -> true));
506 assertFalse(SystemProperties.getBoolean(SystemPropertiesTest.class, absentKey, () -> false));
507 assertTrue(SystemProperties.getBoolean(SystemPropertiesTest.class, absentKey, () -> true));
508 } finally {
509 System.clearProperty(keyFull);
510 }
511 }
512
513 @Test
514 void testGetDoesNotThrow() {
515 assertDoesNotThrow(SystemProperties::getAppleAwtEnableTemplateImages);
516 assertDoesNotThrow(SystemProperties::getAwtToolkit);
517 assertDoesNotThrow(SystemProperties::getComSunJndiLdapObjectTrustSerialData);
518 assertDoesNotThrow(SystemProperties::getComSunNetHttpServerHttpServerProvider);
519 assertDoesNotThrow(SystemProperties::getFileEncoding);
520 assertDoesNotThrow(SystemProperties::getFileSeparator);
521 assertDoesNotThrow(SystemProperties::getFtpNonProxyHost);
522 assertDoesNotThrow(SystemProperties::getFtpProxyHost);
523 assertDoesNotThrow(SystemProperties::getFtpProxyPort);
524 assertDoesNotThrow(SystemProperties::getHttpAgent);
525 assertDoesNotThrow(SystemProperties::getHttpAuthDigestCnonceRepeat);
526 assertDoesNotThrow(SystemProperties::getHttpAuthDigestReenabledAlgorithms);
527 assertDoesNotThrow(SystemProperties::getHttpAuthDigestValidateProxy);
528 assertDoesNotThrow(SystemProperties::getHttpAuthDigestValidateServer);
529 assertDoesNotThrow(SystemProperties::getHttpAuthNtlmDomain);
530 assertDoesNotThrow(SystemProperties::getHttpKeepAlive);
531 assertDoesNotThrow(SystemProperties::getHttpKeepAliveTimeProxy);
532 assertDoesNotThrow(SystemProperties::getHttpKeepAliveTimeServer);
533 assertDoesNotThrow(SystemProperties::getHttpMaxConnections);
534 assertDoesNotThrow(SystemProperties::getHttpMaxRedirects);
535 assertDoesNotThrow(SystemProperties::getHttpNonProxyHosts);
536 assertDoesNotThrow(SystemProperties::getHttpProxyHost);
537 assertDoesNotThrow(SystemProperties::getHttpProxyPort);
538 assertDoesNotThrow(SystemProperties::getHttpsProxyHost);
539 assertDoesNotThrow(SystemProperties::getHttpsProxyPort);
540 assertDoesNotThrow(SystemProperties::getJavaAwtFonts);
541 assertDoesNotThrow(SystemProperties::getJavaAwtGraphicsenv);
542 assertDoesNotThrow(SystemProperties::getJavaAwtHeadless);
543 assertDoesNotThrow(SystemProperties::getJavaAwtPrinterjob);
544 assertDoesNotThrow(SystemProperties::getJavaClassPath);
545 assertDoesNotThrow(SystemProperties::getJavaClassVersion);
546 assertDoesNotThrow(SystemProperties::getJavaCompiler);
547 assertDoesNotThrow(SystemProperties::getJavaContentHandlerPkgs);
548 assertDoesNotThrow(SystemProperties::getJavaEndorsedDirs);
549 assertDoesNotThrow(SystemProperties::getJavaExtDirs);
550 assertDoesNotThrow(SystemProperties::getJavaHome);
551 assertDoesNotThrow(SystemProperties::getJavaIoTmpdir);
552 assertDoesNotThrow(SystemProperties::getJavaLibraryPath);
553 assertDoesNotThrow(SystemProperties::getJavaLocaleProviders);
554 assertDoesNotThrow(SystemProperties::getJavaLocaleUseOldIsoCodes);
555 assertDoesNotThrow(SystemProperties::getJavaNetPreferIpv4Stack);
556 assertDoesNotThrow(SystemProperties::getJavaNetPreferIpv6Addresses);
557 assertDoesNotThrow(SystemProperties::getJavaNetSocksPassword);
558 assertDoesNotThrow(SystemProperties::getJavaNetSocksUserName);
559 assertDoesNotThrow(SystemProperties::getJavaNetUseSystemProxies);
560 assertDoesNotThrow(SystemProperties::getJavaNioChannelsDefaultThreadPoolInitialSize);
561 assertDoesNotThrow(SystemProperties::getJavaNioChannelsDefaultThreadPoolThreadFactory);
562 assertDoesNotThrow(SystemProperties::getJavaNioChannelsSpiAsynchronousChannelProvider);
563 assertDoesNotThrow(SystemProperties::getJavaNioChannelsSpiSelectorProvider);
564 assertDoesNotThrow(SystemProperties::getJavaNioFileSpiDefaultFileSystemProvider);
565 assertDoesNotThrow(SystemProperties::getJavaPropertiesDate);
566 assertDoesNotThrow(SystemProperties::getJavaProtocolHandlerPkgs);
567 assertDoesNotThrow(SystemProperties::getJavaRmiServerCodebase);
568 assertDoesNotThrow(SystemProperties::getJavaRmiServerHostName);
569 assertDoesNotThrow(SystemProperties::getJavaRmiServerRandomIds);
570 assertDoesNotThrow(SystemProperties::getJavaRmiServerRmiClassLoaderSpi);
571 assertDoesNotThrow(SystemProperties::getJavaRuntimeName);
572 assertDoesNotThrow(SystemProperties::getJavaRuntimeVersion);
573 assertDoesNotThrow(SystemProperties::getJavaSecurityAuthLoginConfig);
574 assertDoesNotThrow(SystemProperties::getJavaSecurityManager);
575 assertDoesNotThrow(SystemProperties::getJavaSpecificationMaintenanceVersion);
576 assertDoesNotThrow(SystemProperties::getJavaSpecificationName);
577 assertDoesNotThrow(SystemProperties::getJavaSpecificationVendor);
578 assertDoesNotThrow((ThrowingSupplier<String>) SystemProperties::getJavaSpecificationVersion);
579 assertDoesNotThrow(SystemProperties::getJavaSystemClassLoader);
580 assertDoesNotThrow(SystemProperties::getJavaTimeZoneDefaultZoneRulesProvider);
581 assertDoesNotThrow(SystemProperties::getJavaUtilConcurrentForkJoinPoolCommonExceptionHandler);
582 assertDoesNotThrow(SystemProperties::getJavaUtilConcurrentForkJoinPoolCommonMaximumSpares);
583 assertDoesNotThrow(SystemProperties::getJavaUtilConcurrentForkJoinPoolCommonParallelism);
584 assertDoesNotThrow(SystemProperties::getJavaUtilConcurrentForkJoinPoolCommonThreadFactory);
585 assertDoesNotThrow(SystemProperties::getJavaUtilCurrencyData);
586 assertDoesNotThrow(SystemProperties::getJavaUtilLoggingConfigClass);
587 assertDoesNotThrow(SystemProperties::getJavaUtilLoggingConfigFile);
588 assertDoesNotThrow(SystemProperties::getJavaUtilLoggingSimpleFormatterFormat);
589 assertDoesNotThrow(SystemProperties::getJavaUtilPrefsPreferencesFactory);
590 assertDoesNotThrow(SystemProperties::getJavaUtilPropertyResourceBundleEncoding);
591 assertDoesNotThrow(SystemProperties::getJavaVendor);
592 assertDoesNotThrow(SystemProperties::getJavaVendorUrl);
593 assertDoesNotThrow(SystemProperties::getJavaVendorVersion);
594 assertDoesNotThrow(SystemProperties::getJavaVersion);
595 assertDoesNotThrow(SystemProperties::getJavaVersionDate);
596 assertDoesNotThrow(SystemProperties::getJavaVmInfo);
597 assertDoesNotThrow(SystemProperties::getJavaVmName);
598 assertDoesNotThrow(SystemProperties::getJavaVmSpecificationName);
599 assertDoesNotThrow(SystemProperties::getJavaVmSpecificationVendor);
600 assertDoesNotThrow(SystemProperties::getJavaVmSpecificationVersion);
601 assertDoesNotThrow(SystemProperties::getJavaVmVendor);
602 assertDoesNotThrow(SystemProperties::getJavaVmVersion);
603 assertDoesNotThrow(SystemProperties::getJavaxAccessibilityAssistiveTechnologies);
604 assertDoesNotThrow(SystemProperties::getJavaXmlConfigFile);
605 assertDoesNotThrow(SystemProperties::getJavaxNetSslSessionCacheSize);
606 assertDoesNotThrow(SystemProperties::getJavaxRmiSslClientEnabledCipherSuites);
607 assertDoesNotThrow(SystemProperties::getJavaxRmiSslClientEnabledProtocols);
608 assertDoesNotThrow(SystemProperties::getJavaxSecurityAuthUseSubjectCredsOnly);
609 assertDoesNotThrow(SystemProperties::getJavaxSmartCardIoTerminalFactoryDefaultType);
610 assertDoesNotThrow(SystemProperties::getJdbcDrivers);
611 assertDoesNotThrow(SystemProperties::getJdkHttpAuthProxyingDisabledSchemes);
612 assertDoesNotThrow(SystemProperties::getJdkHttpAuthTunnelingDisabledSchemes);
613 assertDoesNotThrow(SystemProperties::getJdkHttpClientAllowRestrictedHeaders);
614 assertDoesNotThrow(SystemProperties::getJdkHttpClientAuthRetryLimit);
615 assertDoesNotThrow(SystemProperties::getJdkHttpClientBufSize);
616 assertDoesNotThrow(SystemProperties::getJdkHttpClientConnectionPoolSize);
617 assertDoesNotThrow(SystemProperties::getJdkHttpClientConnectionWindowSize);
618 assertDoesNotThrow(SystemProperties::getJdkHttpClientDisableRetryConnect);
619 assertDoesNotThrow(SystemProperties::getJdkHttpClientEnableAllMethodRetry);
620 assertDoesNotThrow(SystemProperties::getJdkHttpClientEnablePush);
621 assertDoesNotThrow(SystemProperties::getJdkHttpClientHpackMaxHeaderTableSize);
622 assertDoesNotThrow(SystemProperties::getJdkHttpClientHttpClientLog);
623 assertDoesNotThrow(SystemProperties::getJdkHttpClientKeepAliveTimeout);
624 assertDoesNotThrow(SystemProperties::getJdkHttpClientKeepAliveTimeoutH2);
625 assertDoesNotThrow(SystemProperties::getJdkHttpClientMaxFrameSize);
626 assertDoesNotThrow(SystemProperties::getJdkHttpClientMaxStreams);
627 assertDoesNotThrow(SystemProperties::getJdkHttpClientReceiveBufferSize);
628 assertDoesNotThrow(SystemProperties::getJdkHttpClientRedirectsRetryLimit);
629 assertDoesNotThrow(SystemProperties::getJdkHttpClientSendBufferSize);
630 assertDoesNotThrow(SystemProperties::getJdkHttpClientWebSocketWriteBufferSize);
631 assertDoesNotThrow(SystemProperties::getJdkHttpClientWindowSize);
632 assertDoesNotThrow(SystemProperties::getJdkHttpServerMaxConnections);
633 assertDoesNotThrow(SystemProperties::getJdkHttpsNegotiateCbt);
634 assertDoesNotThrow(SystemProperties::getJdkIncludeInExceptions);
635 assertDoesNotThrow(SystemProperties::getJdkInternalHttpClientDisableHostNameVerification);
636 assertDoesNotThrow(SystemProperties::getJdkIoPermissionsUseCanonicalPath);
637 assertDoesNotThrow(SystemProperties::getJdkJndiLdapObjectFactoriesFilter);
638 assertDoesNotThrow(SystemProperties::getJdkJndiObjectFactoriesFilter);
639 assertDoesNotThrow(SystemProperties::getJdkJndiRmiObjectFactoriesFilter);
640 assertDoesNotThrow(SystemProperties::getJdkModuleMain);
641 assertDoesNotThrow(SystemProperties::getJdkModuleMainClass);
642 assertDoesNotThrow(SystemProperties::getJdkModulePath);
643 assertDoesNotThrow(SystemProperties::getJdkModuleUpgradePath);
644 assertDoesNotThrow(SystemProperties::getJdkNetUnixDomainTmpDir);
645 assertDoesNotThrow(SystemProperties::getJdkNetUrlClassPathShowIgnoredClassPathEntries);
646 assertDoesNotThrow(SystemProperties::getJdkSerialFilter);
647 assertDoesNotThrow(SystemProperties::getJdkSerialFilterFactory);
648 assertDoesNotThrow(SystemProperties::getJdkTlsClientSignatureSchemes);
649 assertDoesNotThrow(SystemProperties::getJdkTlsNamedGroups);
650 assertDoesNotThrow(SystemProperties::getJdkTlsServerSignatureSchemes);
651 assertDoesNotThrow(SystemProperties::getJdkVirtualThreadSchedulerMaxPoolSize);
652 assertDoesNotThrow(SystemProperties::getJdkVirtualThreadSchedulerParallelism);
653 assertDoesNotThrow(SystemProperties::getJdkXmlCdataChunkSize);
654 assertDoesNotThrow(SystemProperties::getJdkXmlDtdSupport);
655 assertDoesNotThrow(SystemProperties::getJdkXmlElementAttributeLimit);
656 assertDoesNotThrow(SystemProperties::getJdkXmlEnableExtensionFunctions);
657 assertDoesNotThrow(SystemProperties::getJdkXmlEntityExpansionLimit);
658 assertDoesNotThrow(SystemProperties::getJdkXmlEntityReplacementLimit);
659 assertDoesNotThrow(SystemProperties::getJdkXmlIsStandalone);
660 assertDoesNotThrow(SystemProperties::getJdkXmlJdkCatalogResolve);
661 assertDoesNotThrow(SystemProperties::getJdkXmlMaxElementDepth);
662 assertDoesNotThrow(SystemProperties::getJdkXmlMaxGeneralEntitySizeLimit);
663 assertDoesNotThrow(SystemProperties::getJdkXmlMaxOccurLimit);
664 assertDoesNotThrow(SystemProperties::getJdkXmlMaxParameterEntitySizeLimit);
665 assertDoesNotThrow(SystemProperties::getJdkXmlMaxXmlNameLimit);
666 assertDoesNotThrow(SystemProperties::getJdkXmlOverrideDefaultParser);
667 assertDoesNotThrow(SystemProperties::getJdkXmlResetSymbolTable);
668 assertDoesNotThrow(SystemProperties::getJdkXmlTotalEntitySizeLimit);
669 assertDoesNotThrow(SystemProperties::getJdkXmlXsltcIsStandalone);
670 assertDoesNotThrow((ThrowingSupplier<String>) SystemProperties::getLineSeparator);
671 assertDoesNotThrow(SystemProperties::getNativeEncoding);
672 assertDoesNotThrow(SystemProperties::getNetworkAddressCacheNegativeTtl);
673 assertDoesNotThrow(SystemProperties::getNetworkAddressCacheStaleTtl);
674 assertDoesNotThrow(SystemProperties::getNetworkAddressCacheTtl);
675 assertDoesNotThrow(SystemProperties::getOrgJcpXmlDsigSecureValidation);
676 assertDoesNotThrow(SystemProperties::getOrgOpenJdkJavaUtilStreamTripwire);
677 assertDoesNotThrow(SystemProperties::getOsArch);
678 assertDoesNotThrow(SystemProperties::getOsName);
679 assertDoesNotThrow(SystemProperties::getOsVersion);
680 assertDoesNotThrow(SystemProperties::getPathSeparator);
681 assertDoesNotThrow(SystemProperties::getSocksProxyHost);
682 assertDoesNotThrow(SystemProperties::getSocksProxyPort);
683 assertDoesNotThrow(SystemProperties::getSocksProxyVersion);
684 assertDoesNotThrow(SystemProperties::getStdErrEncoding);
685 assertDoesNotThrow(SystemProperties::getStdOutEncoding);
686 assertDoesNotThrow(SystemProperties::getSunNetHttpServerDrainAmount);
687 assertDoesNotThrow(SystemProperties::getSunNetHttpServerIdleInterval);
688 assertDoesNotThrow(SystemProperties::getSunNetHttpServerMaxIdleConnections);
689 assertDoesNotThrow(SystemProperties::getSunNetHttpServerMaxReqHeaders);
690 assertDoesNotThrow(SystemProperties::getSunNetHttpServerMaxReqTime);
691 assertDoesNotThrow(SystemProperties::getSunNetHttpServerMaxRspTime);
692 assertDoesNotThrow(SystemProperties::getSunNetHttpServerNoDelay);
693 assertDoesNotThrow(SystemProperties::getSunSecurityKrb5Principal);
694 assertDoesNotThrow(SystemProperties::getUserCountry);
695 assertDoesNotThrow(SystemProperties::getUserDir);
696 assertDoesNotThrow(SystemProperties::getUserExtensions);
697 assertDoesNotThrow(SystemProperties::getUserHome);
698 assertDoesNotThrow(SystemProperties::getUserLanguage);
699 assertDoesNotThrow((ThrowingSupplier<String>) SystemProperties::getUserName);
700 assertDoesNotThrow(SystemProperties::getUserRegion);
701 assertDoesNotThrow(SystemProperties::getUserScript);
702 assertDoesNotThrow(SystemProperties::getUserTimezone);
703 assertDoesNotThrow(SystemProperties::getUserVariant);
704 }
705
706 @Test
707 void testGetFileEncoding() {
708 basicKeyCheck(SystemProperties.getFileEncoding());
709 }
710
711 @Test
712 void testGetFileSeparator() {
713 assertNotNull(SystemProperties.getFileSeparator());
714 }
715
716 @Test
717 void testGetInt() {
718 final String key = RandomStringUtils.insecure().next(10);
719 final String absentKey = RandomStringUtils.insecure().next(10);
720 assertNull(System.getProperty(absentKey));
721 try {
722 System.setProperty(key, Integer.toString(Integer.MAX_VALUE));
723 assertEquals(Integer.MAX_VALUE, SystemProperties.getInt(key, () -> 0));
724 assertEquals(Integer.MAX_VALUE, SystemProperties.getInt(absentKey, () -> Integer.MAX_VALUE));
725 assertEquals(0, SystemProperties.getInt(absentKey, () -> 0));
726 assertEquals(0, SystemProperties.getInt(absentKey, null));
727 } finally {
728 System.clearProperty(key);
729 }
730 }
731
732 @Test
733 void testGetIntClass() {
734 final String key = RandomStringUtils.insecure().next(10);
735 final String absentKey = RandomStringUtils.insecure().next(10);
736 final String keyFull = SIMPLE_NAME + "." + key;
737 final String absentKeyFull = SIMPLE_NAME + "." + absentKey;
738 assertNull(System.getProperty(absentKeyFull));
739 try {
740 System.setProperty(keyFull, Long.toString(Integer.MAX_VALUE));
741 assertEquals(Integer.MAX_VALUE, SystemProperties.getInt(SystemPropertiesTest.class, key, () -> 0));
742 assertEquals(Integer.MAX_VALUE, SystemProperties.getInt(SystemPropertiesTest.class, absentKey, () -> Integer.MAX_VALUE));
743 assertEquals(0, SystemProperties.getInt(SystemPropertiesTest.class, absentKey, () -> 0));
744 assertEquals(1, SystemProperties.getInt(SystemPropertiesTest.class, absentKey, () -> 1));
745 } finally {
746 System.clearProperty(keyFull);
747 }
748 }
749
750 @Test
751 void testGetJavaAwtFonts() {
752 assertNull(SystemProperties.getJavaAwtFonts());
753 }
754
755 @Test
756 void testGetJavaAwtGraphicsenv() {
757 assertDoesNotThrow(SystemProperties::getJavaAwtGraphicsenv);
758 }
759
760 @Test
761 void testGetJavaAwtHeadless() {
762 assertNull(SystemProperties.getJavaAwtHeadless());
763 }
764
765 @Test
766 void testGetJavaAwtPrinterjob() {
767 assertDoesNotThrow(SystemProperties::getJavaAwtPrinterjob);
768 }
769
770 @Test
771 void testGetJavaClassPath() {
772 assertNotNull(SystemProperties.getJavaClassPath());
773 }
774
775 @Test
776 void testGetJavaClassVersion() {
777 assertNotNull(SystemProperties.getJavaClassVersion());
778 }
779
780 @Test
781 void testGetJavaCompiler() {
782 if (SystemUtils.IS_JAVA_14) {
783
784 assertNotNull(SystemProperties.getJavaCompiler());
785 }
786 }
787
788 @Test
789 void testGetJavaEndorsedDirs() {
790 if (isJava11OrGreater()) {
791
792 assertNull(SystemProperties.getJavaEndorsedDirs());
793 } else {
794 assertNotNull(SystemProperties.getJavaExtDirs());
795 }
796 }
797
798 @Test
799 void testGetJavaExtDirs() {
800 if (isJava11OrGreater()) {
801
802 assertNull(SystemProperties.getJavaExtDirs());
803 } else {
804 assertNotNull(SystemProperties.getJavaExtDirs());
805 }
806 }
807
808 @Test
809 void testGetJavaHome() {
810 assertNotNull(SystemProperties.getJavaHome());
811 }
812
813 @Test
814 void testGetJavaIoTmpdir() {
815 assertNotNull(SystemProperties.getJavaIoTmpdir());
816 }
817
818 @Test
819 void testGetJavaLibraryPath() {
820 assertNotNull(SystemProperties.getJavaLibraryPath());
821 }
822
823 @Test
824 void testGetJavaLocaleProviders() {
825 assumeTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
826
827 assertNull(SystemProperties.getJavaLocaleProviders(), SystemProperties.getJavaVersion());
828 }
829
830 @Test
831 void testGetJavaRuntimeName() {
832 assertNotNull(SystemProperties.getJavaRuntimeName());
833 }
834
835 @Test
836 void testGetJavaRuntimeVersion() {
837 assertNotNull(SystemProperties.getJavaRuntimeVersion());
838 }
839
840 @Test
841 void testGetJavaSpecificationName() {
842 assertNotNull(SystemProperties.getJavaSpecificationName());
843 }
844
845 @Test
846 void testGetJavaSpecificationVendor() {
847 assertNotNull(SystemProperties.getJavaSpecificationVendor());
848 }
849
850 @Test
851 void testGetJavaSpecificationVersion() {
852 assertNotNull(SystemProperties.getJavaSpecificationVersion());
853 }
854
855 @Test
856 void testGetJavaSpecificationVersionSupplier() {
857 assertNotNull(SystemProperties.getJavaSpecificationVersion("99.0"));
858 }
859
860 @Test
861 void testGetJavaUtilPrefsPreferencesFactory() {
862 assertNull(SystemProperties.getJavaUtilPrefsPreferencesFactory());
863 }
864
865 @Test
866 void testGetJavaVendor() {
867 assertNotNull(SystemProperties.getJavaVendor());
868 }
869
870 @Test
871 void testGetJavaVendorUrl() {
872 assertNotNull(SystemProperties.getJavaVendorUrl());
873 }
874
875 @Test
876 void testGetJavaVersion() {
877 assertNotNull(SystemProperties.getJavaVersion());
878 }
879
880 @Test
881 void testGetJavaVmInfo() {
882 assertNotNull(SystemProperties.getJavaVmInfo());
883 }
884
885 @Test
886 void testGetJavaVmName() {
887 assertNotNull(SystemProperties.getJavaVmName());
888 }
889
890 @Test
891 void testGetJavaVmSpecificationName() {
892 assertNotNull(SystemProperties.getJavaVmSpecificationName());
893 }
894
895 @Test
896 void testGetJavaVmSpecificationVendor() {
897 assertNotNull(SystemProperties.getJavaVmSpecificationVendor());
898 }
899
900 @Test
901 void testGetJavaVmSpecificationVersion() {
902 assertNotNull(SystemProperties.getJavaVmSpecificationVersion());
903 }
904
905 @Test
906 void testGetJavaVmVendor() {
907 assertNotNull(SystemProperties.getJavaVmVendor());
908 }
909
910 @Test
911 void testGetJavaVmVersion() {
912 assertNotNull(SystemProperties.getJavaVmVersion());
913 }
914
915 @Test
916 void testGetLineSeparator() {
917 assertNotNull(SystemProperties.getLineSeparator());
918 assertNotNull(SystemProperties.getLineSeparator(null));
919 assertNotNull(SystemProperties.getLineSeparator(() -> ""));
920 assertNotNull(SystemProperties.getLineSeparator(() -> "\n"));
921 assertNotNull(SystemProperties.getLineSeparator(() -> null));
922 assertNotNull(SystemProperties.getLineSeparator(null));
923 }
924
925 @Test
926 void testGetLong() {
927 final String key = RandomStringUtils.insecure().next(10);
928 final String absentKey = RandomStringUtils.insecure().next(10);
929 assertNull(System.getProperty(absentKey));
930 try {
931 System.setProperty(key, Long.toString(Long.MAX_VALUE));
932 assertEquals(Long.MAX_VALUE, SystemProperties.getLong(key, () -> 0));
933 assertEquals(Long.MAX_VALUE, SystemProperties.getLong(absentKey, () -> Long.MAX_VALUE));
934 assertEquals(0, SystemProperties.getLong(absentKey, () -> 0));
935 assertEquals(0, SystemProperties.getLong(absentKey, null));
936 } finally {
937 System.clearProperty(key);
938 }
939 }
940
941 @Test
942 void testGetLongClass() {
943 final String key = RandomStringUtils.insecure().next(10);
944 final String absentKey = RandomStringUtils.insecure().next(10);
945 final String keyFull = SIMPLE_NAME + "." + key;
946 final String absentKeyFull = SIMPLE_NAME + "." + absentKey;
947 assertNull(System.getProperty(absentKeyFull));
948 try {
949 System.setProperty(keyFull, Long.toString(Long.MAX_VALUE));
950 assertEquals(Long.MAX_VALUE, SystemProperties.getLong(SystemPropertiesTest.class, key, () -> 0));
951 assertEquals(Long.MAX_VALUE, SystemProperties.getLong(SystemPropertiesTest.class, absentKey, () -> Long.MAX_VALUE));
952 assertEquals(0, SystemProperties.getLong(SystemPropertiesTest.class, absentKey, () -> 0));
953 assertEquals(1, SystemProperties.getLong(SystemPropertiesTest.class, absentKey, () -> 1));
954 } finally {
955 System.clearProperty(keyFull);
956 }
957 }
958
959 @Test
960 void testGetOsArch() {
961 assertNotNull(SystemProperties.getOsArch());
962 }
963
964 @Test
965 void testGetOsName() {
966 assertNotNull(SystemProperties.getOsName());
967 }
968
969 @Test
970 void testGetOsVersion() {
971 assertNotNull(SystemProperties.getOsVersion());
972 }
973
974 @Test
975 void testGetPath() {
976 assertNull(SystemProperties.getPath(null, null));
977 assertNull(SystemProperties.getPath(null, () -> null));
978 assertNull(SystemProperties.getPath(StringUtils.EMPTY, null));
979 assertEquals(Paths.get("value1"), SystemProperties.getPath(KEY_SPACE_1, null));
980 assertEquals(Paths.get("value2"), SystemProperties.getPath(KEY_TAB_1, null));
981 assertEquals(Paths.get("value1"), SystemProperties.getPath(null, () -> Paths.get("value1")));
982 }
983
984 @Test
985 void testGetPathSeparator() {
986 assertNotNull(SystemProperties.getPathSeparator());
987 }
988
989 @Test
990 void testGetProperty() {
991 assertNull(SystemProperties.getProperty(null));
992 assertNull(SystemProperties.getProperty(StringUtils.EMPTY));
993 assertEquals("value1", SystemProperties.getProperty(KEY_SPACE_1));
994 assertEquals("value2", SystemProperties.getProperty(KEY_TAB_1));
995 }
996
997 @Test
998 void testGetPropertyStringString() {
999 assertNull(SystemProperties.getProperty(null, StringUtils.NULL));
1000 assertNull(SystemProperties.getProperty(StringUtils.EMPTY, StringUtils.NULL));
1001 assertEquals("value1", SystemProperties.getProperty(KEY_SPACE_1, StringUtils.NULL));
1002 assertEquals("value2", SystemProperties.getProperty("\t", StringUtils.NULL));
1003 assertEquals("x", SystemProperties.getProperty(null, "x"));
1004 assertEquals("x", SystemProperties.getProperty(StringUtils.EMPTY, "x"));
1005 assertEquals("value1", SystemProperties.getProperty(KEY_SPACE_1, "v"));
1006 assertEquals("value2", SystemProperties.getProperty("\t", "v"));
1007 }
1008
1009 @Test
1010 void testGetPropertyStringSupplier() {
1011 assertNull(SystemProperties.getProperty(null, (Supplier<String>) null));
1012 assertNull(SystemProperties.getProperty(StringUtils.EMPTY, (Supplier<String>) null));
1013 assertEquals("value1", SystemProperties.getProperty(KEY_SPACE_1, (Supplier<String>) null));
1014 assertEquals("value2", SystemProperties.getProperty("\t", (Supplier<String>) null));
1015 assertEquals("x", SystemProperties.getProperty(null, () -> "x"));
1016 assertEquals("x", SystemProperties.getProperty(StringUtils.EMPTY, () -> "x"));
1017 assertEquals("value1", SystemProperties.getProperty(KEY_SPACE_1, () -> "v"));
1018 assertEquals("value2", SystemProperties.getProperty("\t", () -> "v"));
1019 }
1020
1021 @Test
1022 void testGetUserCountry() {
1023 assertDoesNotThrow(SystemProperties::getUserCountry);
1024 }
1025
1026 @Test
1027 void testGetUserDir() {
1028 assertNotNull(SystemProperties.getUserDir());
1029 }
1030
1031 @Test
1032 void testGetUserHome() {
1033 assertNotNull(SystemProperties.getUserHome());
1034 }
1035
1036 @Test
1037 void testGetUserLanguage() {
1038 assertNotNull(SystemProperties.getUserLanguage());
1039 }
1040
1041 @Test
1042 void testGetUserName() {
1043 assertNotNull(SystemProperties.getUserName());
1044 assertNotNull(SystemProperties.getUserName(""));
1045 assertNotNull(SystemProperties.getUserName("User"));
1046 assertNotNull(SystemProperties.getUserName(null));
1047 }
1048
1049 @Test
1050 void testGetUserTimezone() {
1051 assertDoesNotThrow(SystemProperties::getUserTimezone);
1052 }
1053
1054 @ParameterizedTest
1055 @ValueSource(strings = { KEY_SPACE_1, KEY_TAB_1 })
1056 void testIsPropertySet(final String property) {
1057 assertTrue(SystemProperties.isPropertySet(property));
1058 }
1059
1060 @Test
1061 void testIsPropertySetEdges() {
1062 assertFalse(SystemProperties.isPropertySet(StringUtils.NULL));
1063 assertFalse(SystemProperties.isPropertySet(StringUtils.EMPTY));
1064 }
1065
1066 }