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.Assumptions.assumeTrue;
26
27 import org.junit.jupiter.api.Test;
28
29 public class SystemPropertiesTest {
30
31 private void basicKeyCheck(final String key) {
32 assertNotNull(key);
33 assertFalse(key.isEmpty());
34 assertDoesNotThrow(() -> System.getProperties().get(key));
35 assertDoesNotThrow(() -> System.getProperty(key));
36 assertDoesNotThrow(() -> System.getProperty(key, ""));
37
38
39
40
41
42
43 }
44
45 private boolean isJava11OrGreater() {
46 return SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11);
47 }
48
49 @Test
50 public void testActualKeys() {
51 basicKeyCheck(SystemProperties.APPLE_AWT_ENABLE_TEMPLATE_IMAGES);
52 basicKeyCheck(SystemProperties.AWT_TOOLKIT);
53 basicKeyCheck(SystemProperties.COM_SUN_JNDI_LDAP_OBJECT_TRUST_SERIAL_DATA);
54 basicKeyCheck(SystemProperties.COM_SUN_NET_HTTP_SERVER_HTTP_SERVER_PROVIDER);
55 basicKeyCheck(SystemProperties.FILE_ENCODING);
56 basicKeyCheck(SystemProperties.FILE_SEPARATOR);
57 basicKeyCheck(SystemProperties.FTP_NON_PROXY_HOST);
58 basicKeyCheck(SystemProperties.FTP_PROXY_HOST);
59 basicKeyCheck(SystemProperties.FTP_PROXY_PORT);
60 basicKeyCheck(SystemProperties.HTTP_AGENT);
61 basicKeyCheck(SystemProperties.HTTP_AUTH_DIGEST_CNONCE_REPEAT);
62 basicKeyCheck(SystemProperties.HTTP_AUTH_DIGEST_RE_ENABLED_ALGORITHMS);
63 basicKeyCheck(SystemProperties.HTTP_AUTH_DIGEST_VALIDATE_PROXY);
64 basicKeyCheck(SystemProperties.HTTP_AUTH_DIGEST_VALIDATE_SERVER);
65 basicKeyCheck(SystemProperties.HTTP_AUTH_NTLM_DOMAIN);
66 basicKeyCheck(SystemProperties.HTTP_KEEP_ALIVE);
67 basicKeyCheck(SystemProperties.HTTP_KEEP_ALIVE_TIME_PROXY);
68 basicKeyCheck(SystemProperties.HTTP_KEEP_ALIVE_TIME_SERVER);
69 basicKeyCheck(SystemProperties.HTTP_MAX_CONNECTIONS);
70 basicKeyCheck(SystemProperties.HTTP_MAX_REDIRECTS);
71 basicKeyCheck(SystemProperties.HTTP_NON_PROXY_HOSTS);
72 basicKeyCheck(SystemProperties.HTTP_PROXY_HOST);
73 basicKeyCheck(SystemProperties.HTTP_PROXY_PORT);
74 basicKeyCheck(SystemProperties.HTTPS_PROXY_HOST);
75 basicKeyCheck(SystemProperties.HTTPS_PROXY_PORT);
76 basicKeyCheck(SystemProperties.JAVA_AWT_FONTS);
77 basicKeyCheck(SystemProperties.JAVA_AWT_GRAPHICSENV);
78 basicKeyCheck(SystemProperties.JAVA_AWT_HEADLESS);
79 basicKeyCheck(SystemProperties.JAVA_AWT_PRINTERJOB);
80 basicKeyCheck(SystemProperties.JAVA_CLASS_PATH);
81 basicKeyCheck(SystemProperties.JAVA_CLASS_VERSION);
82 basicKeyCheck(SystemProperties.JAVA_COMPILER);
83 basicKeyCheck(SystemProperties.JAVA_CONTENT_HANDLER_PKGS);
84 basicKeyCheck(SystemProperties.JAVA_ENDORSED_DIRS);
85 basicKeyCheck(SystemProperties.JAVA_EXT_DIRS);
86 basicKeyCheck(SystemProperties.JAVA_HOME);
87 basicKeyCheck(SystemProperties.JAVA_IO_TMPDIR);
88 basicKeyCheck(SystemProperties.JAVA_LIBRARY_PATH);
89 basicKeyCheck(SystemProperties.JAVA_LOCALE_PROVIDERS);
90 basicKeyCheck(SystemProperties.JAVA_LOCALE_USE_OLD_ISO_CODES);
91 basicKeyCheck(SystemProperties.JAVA_NET_PREFER_IPV4_STACK);
92 basicKeyCheck(SystemProperties.JAVA_NET_PREFER_IPV6_ADDRESSES);
93 basicKeyCheck(SystemProperties.JAVA_NET_SOCKS_PASSWORD);
94 basicKeyCheck(SystemProperties.JAVA_NET_SOCKS_USER_NAME);
95 basicKeyCheck(SystemProperties.JAVA_NET_USE_SYSTEM_PROXIES);
96 basicKeyCheck(SystemProperties.JAVA_NIO_CHANNELS_DEFAULT_THREAD_POOL_INITIAL_SIZE);
97 basicKeyCheck(SystemProperties.JAVA_NIO_CHANNELS_DEFAULT_THREAD_POOL_THREAD_FACTORY);
98 basicKeyCheck(SystemProperties.JAVA_NIO_CHANNELS_SPI_ASYNCHRONOUS_CHANNEL_PROVIDER);
99 basicKeyCheck(SystemProperties.JAVA_NIO_CHANNELS_SPI_SELECTOR_PROVIDER);
100 basicKeyCheck(SystemProperties.JAVA_NIO_FILE_SPI_DEFAULT_FILE_SYSTEM_PROVIDER);
101 basicKeyCheck(SystemProperties.JAVA_PROPERTIES_DATE);
102 basicKeyCheck(SystemProperties.JAVA_PROTOCOL_HANDLER_PKGS);
103 basicKeyCheck(SystemProperties.JAVA_RMI_SERVER_CODEBASE);
104 basicKeyCheck(SystemProperties.JAVA_RMI_SERVER_HOST_NAME);
105 basicKeyCheck(SystemProperties.JAVA_RMI_SERVER_RANDOM_IDS);
106 basicKeyCheck(SystemProperties.JAVA_RMI_SERVER_RMI_CLASS_LOADER_SPI);
107 basicKeyCheck(SystemProperties.JAVA_RUNTIME_NAME);
108 basicKeyCheck(SystemProperties.JAVA_RUNTIME_VERSION);
109 basicKeyCheck(SystemProperties.JAVA_SECURITY_AUTH_LOGIN_CONFIG);
110 basicKeyCheck(SystemProperties.JAVA_SECURITY_MANAGER);
111 basicKeyCheck(SystemProperties.JAVA_SPECIFICATION_MAINTENANCE_VERSION);
112 basicKeyCheck(SystemProperties.JAVA_SPECIFICATION_NAME);
113 basicKeyCheck(SystemProperties.JAVA_SPECIFICATION_VENDOR);
114 basicKeyCheck(SystemProperties.JAVA_SPECIFICATION_VERSION);
115 basicKeyCheck(SystemProperties.JAVA_SYSTEM_CLASS_LOADER);
116 basicKeyCheck(SystemProperties.JAVA_TIME_ZONE_DEFAULT_ZONE_RULES_PROVIDER);
117 basicKeyCheck(SystemProperties.JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_EXCEPTION_HANDLER);
118 basicKeyCheck(SystemProperties.JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_MAXIMUM_SPARES);
119 basicKeyCheck(SystemProperties.JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_PARALLELISM);
120 basicKeyCheck(SystemProperties.JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_THREAD_FACTORY);
121 basicKeyCheck(SystemProperties.JAVA_UTIL_CURRENCY_DATA);
122 basicKeyCheck(SystemProperties.JAVA_UTIL_LOGGING_CONFIG_CLASS);
123 basicKeyCheck(SystemProperties.JAVA_UTIL_LOGGING_CONFIG_FILE);
124 basicKeyCheck(SystemProperties.JAVA_UTIL_LOGGING_SIMPLE_FORMATTER_FORMAT);
125 basicKeyCheck(SystemProperties.JAVA_UTIL_PREFS_PREFERENCES_FACTORY);
126 basicKeyCheck(SystemProperties.JAVA_UTIL_PROPERTY_RESOURCE_BUNDLE_ENCODING);
127 basicKeyCheck(SystemProperties.JAVA_VENDOR);
128 basicKeyCheck(SystemProperties.JAVA_VENDOR_URL);
129 basicKeyCheck(SystemProperties.JAVA_VENDOR_VERSION);
130 basicKeyCheck(SystemProperties.JAVA_VERSION);
131 basicKeyCheck(SystemProperties.JAVA_VERSION_DATE);
132 basicKeyCheck(SystemProperties.JAVA_VM_INFO);
133 basicKeyCheck(SystemProperties.JAVA_VM_NAME);
134 basicKeyCheck(SystemProperties.JAVA_VM_SPECIFICATION_NAME);
135 basicKeyCheck(SystemProperties.JAVA_VM_SPECIFICATION_VENDOR);
136 basicKeyCheck(SystemProperties.JAVA_VM_SPECIFICATION_VERSION);
137 basicKeyCheck(SystemProperties.JAVA_VM_VENDOR);
138 basicKeyCheck(SystemProperties.JAVA_VM_VERSION);
139 basicKeyCheck(SystemProperties.JAVA_XML_CONFIG_FILE);
140 basicKeyCheck(SystemProperties.JAVAX_ACCESSIBILITY_ASSISTIVE_TECHNOLOGIES);
141 basicKeyCheck(SystemProperties.JAVAX_NET_SSL_SESSION_CACHE_SIZE);
142 basicKeyCheck(SystemProperties.JAVAX_RMI_SSL_CLIENT_ENABLED_CIPHER_SUITES);
143 basicKeyCheck(SystemProperties.JAVAX_RMI_SSL_CLIENT_ENABLED_PROTOCOLS);
144 basicKeyCheck(SystemProperties.JAVAX_SECURITY_AUTH_USE_SUBJECT_CREDS_ONLY);
145 basicKeyCheck(SystemProperties.JAVAX_SMART_CARD_IO_TERMINAL_FACTORY_DEFAULT_TYPE);
146 basicKeyCheck(SystemProperties.JDBC_DRIVERS);
147 basicKeyCheck(SystemProperties.JDK_HTTP_AUTH_PROXYING_DISABLED_SCHEMES);
148 basicKeyCheck(SystemProperties.JDK_HTTP_AUTH_TUNNELING_DISABLED_SCHEMES);
149 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_ALLOW_RESTRICTED_HEADERS);
150 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_AUTH_RETRY_LIMIT);
151 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_BUF_SIZE);
152 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_CONNECTION_POOL_SIZE);
153 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_CONNECTION_WINDOW_SIZE);
154 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_DISABLE_RETRY_CONNECT);
155 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_ENABLE_ALL_METHOD_RETRY);
156 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_ENABLE_PUSH);
157 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_HPACK_MAX_HEADER_TABLE_SIZE);
158 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_HTTP_CLIENT_LOG);
159 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_KEEP_ALIVE_TIMEOUT);
160 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_KEEP_ALIVE_TIMEOUT_H2);
161 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_MAX_FRAME_SIZE);
162 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_MAX_STREAMS);
163 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_RECEIVE_BUFFER_SIZE);
164 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_REDIRECTS_RETRY_LIMIT);
165 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_SEND_BUFFER_SIZE);
166 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_WEB_SOCKET_WRITE_BUFFER_SIZE);
167 basicKeyCheck(SystemProperties.JDK_HTTP_CLIENT_WINDOW_SIZE);
168 basicKeyCheck(SystemProperties.JDK_HTTPS_NEGOTIATE_CBT);
169 basicKeyCheck(SystemProperties.JDK_HTTP_SERVER_MAX_CONNECTIONS);
170 basicKeyCheck(SystemProperties.JDK_INCLUDE_IN_EXCEPTIONS);
171 basicKeyCheck(SystemProperties.JDK_INTERNAL_HTTP_CLIENT_DISABLE_HOST_NAME_VERIFICATION);
172 basicKeyCheck(SystemProperties.JDK_IO_PERMISSIONS_USE_CANONICAL_PATH);
173 basicKeyCheck(SystemProperties.JDK_JNDI_LDAP_OBJECT_FACTORIES_FILTER);
174 basicKeyCheck(SystemProperties.JDK_JNDI_OBJECT_FACTORIES_FILTER);
175 basicKeyCheck(SystemProperties.JDK_JNDI_RMI_OBJECT_FACTORIES_FILTER);
176 basicKeyCheck(SystemProperties.JDK_MODULE_MAIN);
177 basicKeyCheck(SystemProperties.JDK_MODULE_MAIN_CLASS);
178 basicKeyCheck(SystemProperties.JDK_MODULE_PATH);
179 basicKeyCheck(SystemProperties.JDK_MODULE_UPGRADE_PATH);
180 basicKeyCheck(SystemProperties.JDK_NET_UNIX_DOMAIN_TMPDIR);
181 basicKeyCheck(SystemProperties.JDK_NET_URL_CLASS_PATH_SHOW_IGNORED_CLASS_PATH_ENTRIES);
182 basicKeyCheck(SystemProperties.JDK_SERIAL_FILTER);
183 basicKeyCheck(SystemProperties.JDK_SERIAL_FILTER_FACTORY);
184 basicKeyCheck(SystemProperties.JDK_TLS_CLIENT_SIGNATURE_SCHEMES);
185 basicKeyCheck(SystemProperties.JDK_TLS_NAMED_GROUPS);
186 basicKeyCheck(SystemProperties.JDK_TLS_SERVER_SIGNATURE_SCHEMES);
187 basicKeyCheck(SystemProperties.JDK_VIRTUAL_THREAD_SCHEDULER_MAXPOOLSIZE);
188 basicKeyCheck(SystemProperties.JDK_VIRTUAL_THREAD_SCHEDULER_PARALLELISM);
189 basicKeyCheck(SystemProperties.JDK_XML_CDATA_CHUNK_SIZE);
190 basicKeyCheck(SystemProperties.JDK_XML_DTD_SUPPORT);
191 basicKeyCheck(SystemProperties.JDK_XML_ELEMENT_ATTRIBUTE_LIMIT);
192 basicKeyCheck(SystemProperties.JDK_XML_ENABLE_EXTENSION_FUNCTIONS);
193 basicKeyCheck(SystemProperties.JDK_XML_ENTITY_EXPANSION_LIMIT);
194 basicKeyCheck(SystemProperties.JDK_XML_ENTITY_REPLACEMENT_LIMIT);
195 basicKeyCheck(SystemProperties.JDK_XML_IS_STANDALONE);
196 basicKeyCheck(SystemProperties.JDK_XML_JDK_CATALOG_RESOLVE);
197 basicKeyCheck(SystemProperties.JDK_XML_MAX_ELEMENT_DEPTH);
198 basicKeyCheck(SystemProperties.JDK_XML_MAX_GENERAL_ENTITY_SIZE_LIMIT);
199 basicKeyCheck(SystemProperties.JDK_XML_MAX_OCCUR_LIMIT);
200 basicKeyCheck(SystemProperties.JDK_XML_MAX_PARAMETER_ENTITY_SIZE_LIMIT);
201 basicKeyCheck(SystemProperties.JDK_XML_MAX_XML_NAME_LIMIT);
202 basicKeyCheck(SystemProperties.JDK_XML_OVERRIDE_DEFAULT_PARSER);
203 basicKeyCheck(SystemProperties.JDK_XML_RESET_SYMBOL_TABLE);
204 basicKeyCheck(SystemProperties.JDK_XML_TOTAL_ENTITY_SIZE_LIMIT);
205 basicKeyCheck(SystemProperties.JDK_XML_XSLTC_IS_STANDALONE);
206 basicKeyCheck(SystemProperties.LINE_SEPARATOR);
207 basicKeyCheck(SystemProperties.NATIVE_ENCODING);
208 basicKeyCheck(SystemProperties.NETWORK_ADDRESS_CACHE_NEGATIVE_TTL);
209 basicKeyCheck(SystemProperties.NETWORK_ADDRESS_CACHE_STALE_TTL);
210 basicKeyCheck(SystemProperties.NETWORK_ADDRESS_CACHE_TTL);
211 basicKeyCheck(SystemProperties.ORG_JCP_XML_DSIG_SECURE_VALIDATION);
212 basicKeyCheck(SystemProperties.ORG_OPENJDK_JAVA_UTIL_STREAM_TRIPWIRE);
213 basicKeyCheck(SystemProperties.OS_ARCH);
214 basicKeyCheck(SystemProperties.OS_NAME);
215 basicKeyCheck(SystemProperties.OS_VERSION);
216 basicKeyCheck(SystemProperties.PATH_SEPARATOR);
217 basicKeyCheck(SystemProperties.SOCKS_PROXY_HOST);
218 basicKeyCheck(SystemProperties.SOCKS_PROXY_PORT);
219 basicKeyCheck(SystemProperties.SOCKS_PROXY_VERSION);
220 basicKeyCheck(SystemProperties.STDERR_ENCODING);
221 basicKeyCheck(SystemProperties.STDOUT_ENCODING);
222 basicKeyCheck(SystemProperties.SUN_NET_HTTP_SERVER_DRAIN_AMOUNT);
223 basicKeyCheck(SystemProperties.SUN_NET_HTTP_SERVER_IDLE_INTERVAL);
224 basicKeyCheck(SystemProperties.SUN_NET_HTTP_SERVER_MAX_IDLE_CONNECTIONS);
225 basicKeyCheck(SystemProperties.SUN_NET_HTTP_SERVER_MAX_REQ_HEADERS);
226 basicKeyCheck(SystemProperties.SUN_NET_HTTP_SERVER_MAX_REQ_TIME);
227 basicKeyCheck(SystemProperties.SUN_NET_HTTP_SERVER_MAX_RSP_TIME);
228 basicKeyCheck(SystemProperties.SUN_NET_HTTP_SERVER_NO_DELAY);
229 basicKeyCheck(SystemProperties.SUN_SECURITY_KRB5_PRINCIPAL);
230 basicKeyCheck(SystemProperties.USER_COUNTRY);
231 basicKeyCheck(SystemProperties.USER_DIR);
232 basicKeyCheck(SystemProperties.USER_EXTENSIONS);
233 basicKeyCheck(SystemProperties.USER_HOME);
234 basicKeyCheck(SystemProperties.USER_LANGUAGE);
235 basicKeyCheck(SystemProperties.USER_NAME);
236 basicKeyCheck(SystemProperties.USER_REGION);
237 basicKeyCheck(SystemProperties.USER_SCRIPT);
238 basicKeyCheck(SystemProperties.USER_TIMEZONE);
239 basicKeyCheck(SystemProperties.USER_VARIANT);
240 }
241
242 @Test
243 public void testGetAwtToolkit() {
244 assertDoesNotThrow(SystemProperties::getAwtToolkit);
245 }
246
247 @Test
248 public void testGetBoolean() {
249 final String key = RandomStringUtils.random(10);
250 final String absentKey = RandomStringUtils.random(10);
251 assertNull(System.getProperty(absentKey));
252 try {
253 System.setProperty(key, Boolean.toString(Boolean.TRUE));
254 assertEquals(Boolean.TRUE, SystemProperties.getBoolean(key, () -> false));
255 assertEquals(Boolean.TRUE, SystemProperties.getBoolean(absentKey, () -> Boolean.TRUE));
256 assertFalse(SystemProperties.getBoolean(absentKey, () -> false));
257 assertFalse(SystemProperties.getBoolean(absentKey, null));
258 } finally {
259 System.clearProperty(key);
260 }
261 }
262
263 @Test
264 public void testGetDoesNotThrow() {
265 assertDoesNotThrow(SystemProperties::getAppleAwtEnableTemplateImages);
266 assertDoesNotThrow(SystemProperties::getAwtToolkit);
267 assertDoesNotThrow(SystemProperties::getComSunJndiLdapObjectTrustSerialData);
268 assertDoesNotThrow(SystemProperties::getComSunNetHttpServerHttpServerProvider);
269 assertDoesNotThrow(SystemProperties::getFileEncoding);
270 assertDoesNotThrow(SystemProperties::getFileSeparator);
271 assertDoesNotThrow(SystemProperties::getFtpNonProxyHost);
272 assertDoesNotThrow(SystemProperties::getFtpProxyHost);
273 assertDoesNotThrow(SystemProperties::getFtpProxyPort);
274 assertDoesNotThrow(SystemProperties::getHttpAgent);
275 assertDoesNotThrow(SystemProperties::getHttpAuthDigestCnonceRepeat);
276 assertDoesNotThrow(SystemProperties::getHttpAuthDigestReenabledAlgorithms);
277 assertDoesNotThrow(SystemProperties::getHttpAuthDigestValidateProxy);
278 assertDoesNotThrow(SystemProperties::getHttpAuthDigestValidateServer);
279 assertDoesNotThrow(SystemProperties::getHttpAuthNtlmDomain);
280 assertDoesNotThrow(SystemProperties::getHttpKeepAlive);
281 assertDoesNotThrow(SystemProperties::getHttpKeepAliveTimeProxy);
282 assertDoesNotThrow(SystemProperties::getHttpKeepAliveTimeServer);
283 assertDoesNotThrow(SystemProperties::getHttpMaxConnections);
284 assertDoesNotThrow(SystemProperties::getHttpMaxRedirects);
285 assertDoesNotThrow(SystemProperties::getHttpNonProxyHosts);
286 assertDoesNotThrow(SystemProperties::getHttpProxyHost);
287 assertDoesNotThrow(SystemProperties::getHttpProxyPort);
288 assertDoesNotThrow(SystemProperties::getHttpsProxyHost);
289 assertDoesNotThrow(SystemProperties::getHttpsProxyPort);
290 assertDoesNotThrow(SystemProperties::getJavaAwtFonts);
291 assertDoesNotThrow(SystemProperties::getJavaAwtGraphicsenv);
292 assertDoesNotThrow(SystemProperties::getJavaAwtHeadless);
293 assertDoesNotThrow(SystemProperties::getJavaAwtPrinterjob);
294 assertDoesNotThrow(SystemProperties::getJavaClassPath);
295 assertDoesNotThrow(SystemProperties::getJavaClassVersion);
296 assertDoesNotThrow(SystemProperties::getJavaCompiler);
297 assertDoesNotThrow(SystemProperties::getJavaContentHandlerPkgs);
298 assertDoesNotThrow(SystemProperties::getJavaEndorsedDirs);
299 assertDoesNotThrow(SystemProperties::getJavaExtDirs);
300 assertDoesNotThrow(SystemProperties::getJavaHome);
301 assertDoesNotThrow(SystemProperties::getJavaIoTmpdir);
302 assertDoesNotThrow(SystemProperties::getJavaLibraryPath);
303 assertDoesNotThrow(SystemProperties::getJavaLocaleProviders);
304 assertDoesNotThrow(SystemProperties::getJavaLocaleUseOldIsoCodes);
305 assertDoesNotThrow(SystemProperties::getJavaNetPreferIpv4Stack);
306 assertDoesNotThrow(SystemProperties::getJavaNetPreferIpv6Addresses);
307 assertDoesNotThrow(SystemProperties::getJavaNetSocksPassword);
308 assertDoesNotThrow(SystemProperties::getJavaNetSocksUserName);
309 assertDoesNotThrow(SystemProperties::getJavaNetUseSystemProxies);
310 assertDoesNotThrow(SystemProperties::getJavaNioChannelsDefaultThreadPoolInitialSize);
311 assertDoesNotThrow(SystemProperties::getJavaNioChannelsDefaultThreadPoolThreadFactory);
312 assertDoesNotThrow(SystemProperties::getJavaNioChannelsSpiAsynchronousChannelProvider);
313 assertDoesNotThrow(SystemProperties::getJavaNioChannelsSpiSelectorProvider);
314 assertDoesNotThrow(SystemProperties::getJavaNioFileSpiDefaultFileSystemProvider);
315 assertDoesNotThrow(SystemProperties::getJavaPropertiesDate);
316 assertDoesNotThrow(SystemProperties::getJavaProtocolHandlerPkgs);
317 assertDoesNotThrow(SystemProperties::getJavaRmiServerCodebase);
318 assertDoesNotThrow(SystemProperties::getJavaRmiServerHostName);
319 assertDoesNotThrow(SystemProperties::getJavaRmiServerRandomIds);
320 assertDoesNotThrow(SystemProperties::getJavaRmiServerRmiClassLoaderSpi);
321 assertDoesNotThrow(SystemProperties::getJavaRuntimeName);
322 assertDoesNotThrow(SystemProperties::getJavaRuntimeVersion);
323 assertDoesNotThrow(SystemProperties::getJavaSecurityAuthLoginConfig);
324 assertDoesNotThrow(SystemProperties::getJavaSecurityManager);
325 assertDoesNotThrow(SystemProperties::getJavaSpecificationMaintenanceVersion);
326 assertDoesNotThrow(SystemProperties::getJavaSpecificationName);
327 assertDoesNotThrow(SystemProperties::getJavaSpecificationVendor);
328 assertDoesNotThrow(() -> SystemProperties.getJavaSpecificationVersion());
329 assertDoesNotThrow(SystemProperties::getJavaSystemClassLoader);
330 assertDoesNotThrow(SystemProperties::getJavaTimeZoneDefaultZoneRulesProvider);
331 assertDoesNotThrow(SystemProperties::getJavaUtilConcurrentForkJoinPoolCommonExceptionHandler);
332 assertDoesNotThrow(SystemProperties::getJavaUtilConcurrentForkJoinPoolCommonMaximumSpares);
333 assertDoesNotThrow(SystemProperties::getJavaUtilConcurrentForkJoinPoolCommonParallelism);
334 assertDoesNotThrow(SystemProperties::getJavaUtilConcurrentForkJoinPoolCommonThreadFactory);
335 assertDoesNotThrow(SystemProperties::getJavaUtilCurrencyData);
336 assertDoesNotThrow(SystemProperties::getJavaUtilLoggingConfigClass);
337 assertDoesNotThrow(SystemProperties::getJavaUtilLoggingConfigFile);
338 assertDoesNotThrow(SystemProperties::getJavaUtilLoggingSimpleFormatterFormat);
339 assertDoesNotThrow(SystemProperties::getJavaUtilPrefsPreferencesFactory);
340 assertDoesNotThrow(SystemProperties::getJavaUtilPropertyResourceBundleEncoding);
341 assertDoesNotThrow(SystemProperties::getJavaVendor);
342 assertDoesNotThrow(SystemProperties::getJavaVendorUrl);
343 assertDoesNotThrow(SystemProperties::getJavaVendorVersion);
344 assertDoesNotThrow(SystemProperties::getJavaVersion);
345 assertDoesNotThrow(SystemProperties::getJavaVersionDate);
346 assertDoesNotThrow(SystemProperties::getJavaVmInfo);
347 assertDoesNotThrow(SystemProperties::getJavaVmName);
348 assertDoesNotThrow(SystemProperties::getJavaVmSpecificationName);
349 assertDoesNotThrow(SystemProperties::getJavaVmSpecificationVendor);
350 assertDoesNotThrow(SystemProperties::getJavaVmSpecificationVersion);
351 assertDoesNotThrow(SystemProperties::getJavaVmVendor);
352 assertDoesNotThrow(SystemProperties::getJavaVmVersion);
353 assertDoesNotThrow(SystemProperties::getJavaxAccessibilityAssistiveTechnologies);
354 assertDoesNotThrow(SystemProperties::getJavaXmlConfigFile);
355 assertDoesNotThrow(SystemProperties::getJavaxNetSslSessionCacheSize);
356 assertDoesNotThrow(SystemProperties::getJavaxRmiSslClientEnabledCipherSuites);
357 assertDoesNotThrow(SystemProperties::getJavaxRmiSslClientEnabledProtocols);
358 assertDoesNotThrow(SystemProperties::getJavaxSecurityAuthUseSubjectCredsOnly);
359 assertDoesNotThrow(SystemProperties::getJavaxSmartCardIoTerminalFactoryDefaultType);
360 assertDoesNotThrow(SystemProperties::getJdbcDrivers);
361 assertDoesNotThrow(SystemProperties::getJdkHttpAuthProxyingDisabledSchemes);
362 assertDoesNotThrow(SystemProperties::getJdkHttpAuthTunnelingDisabledSchemes);
363 assertDoesNotThrow(SystemProperties::getJdkHttpClientAllowRestrictedHeaders);
364 assertDoesNotThrow(SystemProperties::getJdkHttpClientAuthRetryLimit);
365 assertDoesNotThrow(SystemProperties::getJdkHttpClientBufSize);
366 assertDoesNotThrow(SystemProperties::getJdkHttpClientConnectionPoolSize);
367 assertDoesNotThrow(SystemProperties::getJdkHttpClientConnectionWindowSize);
368 assertDoesNotThrow(SystemProperties::getJdkHttpClientDisableRetryConnect);
369 assertDoesNotThrow(SystemProperties::getJdkHttpClientEnableAllMethodRetry);
370 assertDoesNotThrow(SystemProperties::getJdkHttpClientEnablePush);
371 assertDoesNotThrow(SystemProperties::getJdkHttpClientHpackMaxHeaderTableSize);
372 assertDoesNotThrow(SystemProperties::getJdkHttpClientHttpClientLog);
373 assertDoesNotThrow(SystemProperties::getJdkHttpClientKeepAliveTimeout);
374 assertDoesNotThrow(SystemProperties::getJdkHttpClientKeepAliveTimeoutH2);
375 assertDoesNotThrow(SystemProperties::getJdkHttpClientMaxFrameSize);
376 assertDoesNotThrow(SystemProperties::getJdkHttpClientMaxStreams);
377 assertDoesNotThrow(SystemProperties::getJdkHttpClientReceiveBufferSize);
378 assertDoesNotThrow(SystemProperties::getJdkHttpClientRedirectsRetryLimit);
379 assertDoesNotThrow(SystemProperties::getJdkHttpClientSendBufferSize);
380 assertDoesNotThrow(SystemProperties::getJdkHttpClientWebSocketWriteBufferSize);
381 assertDoesNotThrow(SystemProperties::getJdkHttpClientWindowSize);
382 assertDoesNotThrow(SystemProperties::getJdkHttpServerMaxConnections);
383 assertDoesNotThrow(SystemProperties::getJdkHttpsNegotiateCbt);
384 assertDoesNotThrow(SystemProperties::getJdkIncludeInExceptions);
385 assertDoesNotThrow(SystemProperties::getJdkInternalHttpClientDisableHostNameVerification);
386 assertDoesNotThrow(SystemProperties::getJdkIoPermissionsUseCanonicalPath);
387 assertDoesNotThrow(SystemProperties::getJdkJndiLdapObjectFactoriesFilter);
388 assertDoesNotThrow(SystemProperties::getJdkJndiObjectFactoriesFilter);
389 assertDoesNotThrow(SystemProperties::getJdkJndiRmiObjectFactoriesFilter);
390 assertDoesNotThrow(SystemProperties::getJdkModuleMain);
391 assertDoesNotThrow(SystemProperties::getJdkModuleMainClass);
392 assertDoesNotThrow(SystemProperties::getJdkModulePath);
393 assertDoesNotThrow(SystemProperties::getJdkModuleUpgradePath);
394 assertDoesNotThrow(SystemProperties::getJdkNetUnixDomainTmpDir);
395 assertDoesNotThrow(SystemProperties::getJdkNetUrlClassPathShowIgnoredClassPathEntries);
396 assertDoesNotThrow(SystemProperties::getJdkSerialFilter);
397 assertDoesNotThrow(SystemProperties::getJdkSerialFilterFactory);
398 assertDoesNotThrow(SystemProperties::getJdkTlsClientSignatureSchemes);
399 assertDoesNotThrow(SystemProperties::getJdkTlsNamedGroups);
400 assertDoesNotThrow(SystemProperties::getJdkTlsServerSignatureSchemes);
401 assertDoesNotThrow(SystemProperties::getJdkVirtualThreadSchedulerMaxPoolSize);
402 assertDoesNotThrow(SystemProperties::getJdkVirtualThreadSchedulerParallelism);
403 assertDoesNotThrow(SystemProperties::getJdkXmlCdataChunkSize);
404 assertDoesNotThrow(SystemProperties::getJdkXmlDtdSupport);
405 assertDoesNotThrow(SystemProperties::getJdkXmlElementAttributeLimit);
406 assertDoesNotThrow(SystemProperties::getJdkXmlEnableExtensionFunctions);
407 assertDoesNotThrow(SystemProperties::getJdkXmlEntityExpansionLimit);
408 assertDoesNotThrow(SystemProperties::getJdkXmlEntityReplacementLimit);
409 assertDoesNotThrow(SystemProperties::getJdkXmlIsStandalone);
410 assertDoesNotThrow(SystemProperties::getJdkXmlJdkCatalogResolve);
411 assertDoesNotThrow(SystemProperties::getJdkXmlMaxElementDepth);
412 assertDoesNotThrow(SystemProperties::getJdkXmlMaxGeneralEntitySizeLimit);
413 assertDoesNotThrow(SystemProperties::getJdkXmlMaxOccurLimit);
414 assertDoesNotThrow(SystemProperties::getJdkXmlMaxParameterEntitySizeLimit);
415 assertDoesNotThrow(SystemProperties::getJdkXmlMaxXmlNameLimit);
416 assertDoesNotThrow(SystemProperties::getJdkXmlOverrideDefaultParser);
417 assertDoesNotThrow(SystemProperties::getJdkXmlResetSymbolTable);
418 assertDoesNotThrow(SystemProperties::getJdkXmlTotalEntitySizeLimit);
419 assertDoesNotThrow(SystemProperties::getJdkXmlXsltcIsStandalone);
420 assertDoesNotThrow(() -> SystemProperties.getLineSeparator());
421 assertDoesNotThrow(SystemProperties::getNativeEncoding);
422 assertDoesNotThrow(SystemProperties::getNetworkAddressCacheNegativeTtl);
423 assertDoesNotThrow(SystemProperties::getNetworkAddressCacheStaleTtl);
424 assertDoesNotThrow(SystemProperties::getNetworkAddressCacheTtl);
425 assertDoesNotThrow(SystemProperties::getOrgJcpXmlDsigSecureValidation);
426 assertDoesNotThrow(SystemProperties::getOrgOpenJdkJavaUtilStreamTripwire);
427 assertDoesNotThrow(SystemProperties::getOsArch);
428 assertDoesNotThrow(SystemProperties::getOsName);
429 assertDoesNotThrow(SystemProperties::getOsVersion);
430 assertDoesNotThrow(SystemProperties::getPathSeparator);
431 assertDoesNotThrow(SystemProperties::getSocksProxyHost);
432 assertDoesNotThrow(SystemProperties::getSocksProxyPort);
433 assertDoesNotThrow(SystemProperties::getSocksProxyVersion);
434 assertDoesNotThrow(SystemProperties::getStdErrEncoding);
435 assertDoesNotThrow(SystemProperties::getStdOutEncoding);
436 assertDoesNotThrow(SystemProperties::getSunNetHttpServerDrainAmount);
437 assertDoesNotThrow(SystemProperties::getSunNetHttpServerIdleInterval);
438 assertDoesNotThrow(SystemProperties::getSunNetHttpServerMaxIdleConnections);
439 assertDoesNotThrow(SystemProperties::getSunNetHttpServerMaxReqHeaders);
440 assertDoesNotThrow(SystemProperties::getSunNetHttpServerMaxReqTime);
441 assertDoesNotThrow(SystemProperties::getSunNetHttpServerMaxRspTime);
442 assertDoesNotThrow(SystemProperties::getSunNetHttpServerNoDelay);
443 assertDoesNotThrow(SystemProperties::getSunSecurityKrb5Principal);
444 assertDoesNotThrow(SystemProperties::getUserCountry);
445 assertDoesNotThrow(SystemProperties::getUserDir);
446 assertDoesNotThrow(SystemProperties::getUserExtensions);
447 assertDoesNotThrow(SystemProperties::getUserHome);
448 assertDoesNotThrow(SystemProperties::getUserLanguage);
449 assertDoesNotThrow(() -> SystemProperties.getUserName());
450 assertDoesNotThrow(SystemProperties::getUserRegion);
451 assertDoesNotThrow(SystemProperties::getUserScript);
452 assertDoesNotThrow(SystemProperties::getUserTimezone);
453 assertDoesNotThrow(SystemProperties::getUserVariant);
454 }
455
456 @Test
457 public void testGetFileEncoding() {
458 basicKeyCheck(SystemProperties.getFileEncoding());
459 }
460
461 @Test
462 public void testGetFileSeparator() {
463 assertNotNull(SystemProperties.getFileSeparator());
464 }
465
466 @Test
467 public void testGetInt() {
468 final String key = RandomStringUtils.random(10);
469 final String absentKey = RandomStringUtils.random(10);
470 assertNull(System.getProperty(absentKey));
471 try {
472 System.setProperty(key, Integer.toString(Integer.MAX_VALUE));
473 assertEquals(Integer.MAX_VALUE, SystemProperties.getInt(key, () -> 0));
474 assertEquals(Integer.MAX_VALUE, SystemProperties.getInt(absentKey, () -> Integer.MAX_VALUE));
475 assertEquals(0, SystemProperties.getInt(absentKey, () -> 0));
476 assertEquals(0, SystemProperties.getInt(absentKey, null));
477 } finally {
478 System.clearProperty(key);
479 }
480 }
481
482 @Test
483 public void testGetJavaAwtFonts() {
484 assertNull(SystemProperties.getJavaAwtFonts());
485 }
486
487 @Test
488 public void testGetJavaAwtGraphicsenv() {
489 assertDoesNotThrow(SystemProperties::getJavaAwtGraphicsenv);
490 }
491
492 @Test
493 public void testGetJavaAwtHeadless() {
494 assertNull(SystemProperties.getJavaAwtHeadless());
495 }
496
497 @Test
498 public void testGetJavaAwtPrinterjob() {
499 assertDoesNotThrow(SystemProperties::getJavaAwtPrinterjob);
500 }
501
502 @Test
503 public void testGetJavaClassPath() {
504 assertNotNull(SystemProperties.getJavaClassPath());
505 }
506
507 @Test
508 public void testGetJavaClassVersion() {
509 assertNotNull(SystemProperties.getJavaClassVersion());
510 }
511
512 @Test
513 public void testGetJavaCompiler() {
514 if (SystemUtils.IS_JAVA_14) {
515
516 assertNotNull(SystemProperties.getJavaCompiler());
517 }
518 }
519
520 @Test
521 public void testGetJavaEndorsedDirs() {
522 if (isJava11OrGreater()) {
523
524 assertNull(SystemProperties.getJavaEndorsedDirs());
525 } else {
526 assertNotNull(SystemProperties.getJavaExtDirs());
527 }
528 }
529
530 @Test
531 public void testGetJavaExtDirs() {
532 if (isJava11OrGreater()) {
533
534 assertNull(SystemProperties.getJavaExtDirs());
535 } else {
536 assertNotNull(SystemProperties.getJavaExtDirs());
537 }
538 }
539
540 @Test
541 public void testGetJavaHome() {
542 assertNotNull(SystemProperties.getJavaHome());
543 }
544
545 @Test
546 public void testGetJavaIoTmpdir() {
547 assertNotNull(SystemProperties.getJavaIoTmpdir());
548 }
549
550 @Test
551 public void testGetJavaLibraryPath() {
552 assertNotNull(SystemProperties.getJavaLibraryPath());
553 }
554
555 @Test
556 public void testGetJavaLocaleProviders() {
557 assumeTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
558
559 assertNull(SystemProperties.getJavaLocaleProviders(), SystemProperties.getJavaVersion());
560 }
561
562 @Test
563 public void testGetJavaRuntimeName() {
564 assertNotNull(SystemProperties.getJavaRuntimeName());
565 }
566
567 @Test
568 public void testGetJavaRuntimeVersion() {
569 assertNotNull(SystemProperties.getJavaRuntimeVersion());
570 }
571
572 @Test
573 public void testGetJavaSpecificationName() {
574 assertNotNull(SystemProperties.getJavaSpecificationName());
575 }
576
577 @Test
578 public void testGetJavaSpecificationVendor() {
579 assertNotNull(SystemProperties.getJavaSpecificationVendor());
580 }
581
582 @Test
583 public void testGetJavaSpecificationVersion() {
584 assertNotNull(SystemProperties.getJavaSpecificationVersion());
585 }
586
587 @Test
588 public void testGetJavaSpecificationVersionSupplier() {
589 assertNotNull(SystemProperties.getJavaSpecificationVersion("99.0"));
590 }
591
592 @Test
593 public void testGetJavaUtilPrefsPreferencesFactory() {
594 assertNull(SystemProperties.getJavaUtilPrefsPreferencesFactory());
595 }
596
597 @Test
598 public void testGetJavaVendor() {
599 assertNotNull(SystemProperties.getJavaVendor());
600 }
601
602 @Test
603 public void testGetJavaVendorUrl() {
604 assertNotNull(SystemProperties.getJavaVendorUrl());
605 }
606
607 @Test
608 public void testGetJavaVersion() {
609 assertNotNull(SystemProperties.getJavaVersion());
610 }
611
612 @Test
613 public void testGetJavaVmInfo() {
614 assertNotNull(SystemProperties.getJavaVmInfo());
615 }
616
617 @Test
618 public void testGetJavaVmName() {
619 assertNotNull(SystemProperties.getJavaVmName());
620 }
621
622 @Test
623 public void testGetJavaVmSpecificationName() {
624 assertNotNull(SystemProperties.getJavaVmSpecificationName());
625 }
626
627 @Test
628 public void testGetJavaVmSpecificationVendor() {
629 assertNotNull(SystemProperties.getJavaVmSpecificationVendor());
630 }
631
632 @Test
633 public void testGetJavaVmSpecificationVersion() {
634 assertNotNull(SystemProperties.getJavaVmSpecificationVersion());
635 }
636
637 @Test
638 public void testGetJavaVmVendor() {
639 assertNotNull(SystemProperties.getJavaVmVendor());
640 }
641
642 @Test
643 public void testGetJavaVmVersion() {
644 assertNotNull(SystemProperties.getJavaVmVersion());
645 }
646
647 @Test
648 public void testGetLineSeparator() {
649 assertNotNull(SystemProperties.getLineSeparator());
650 assertNotNull(SystemProperties.getLineSeparator(null));
651 assertNotNull(SystemProperties.getLineSeparator(() -> ""));
652 assertNotNull(SystemProperties.getLineSeparator(() -> "\n"));
653 assertNotNull(SystemProperties.getLineSeparator(() -> null));
654 assertNotNull(SystemProperties.getLineSeparator(null));
655 }
656
657 @Test
658 public void testGetLong() {
659 final String key = RandomStringUtils.random(10);
660 final String absentKey = RandomStringUtils.random(10);
661 assertNull(System.getProperty(absentKey));
662 try {
663 System.setProperty(key, Long.toString(Long.MAX_VALUE));
664 assertEquals(Long.MAX_VALUE, SystemProperties.getLong(key, () -> 0));
665 assertEquals(Long.MAX_VALUE, SystemProperties.getLong(absentKey, () -> Long.MAX_VALUE));
666 assertEquals(0, SystemProperties.getLong(absentKey, () -> 0));
667 assertEquals(0, SystemProperties.getLong(absentKey, null));
668 } finally {
669 System.clearProperty(key);
670 }
671 }
672
673 @Test
674 public void testGetOsArch() {
675 assertNotNull(SystemProperties.getOsArch());
676 }
677
678 @Test
679 public void testGetOsName() {
680 assertNotNull(SystemProperties.getOsName());
681 }
682
683 @Test
684 public void testGetOsVersion() {
685 assertNotNull(SystemProperties.getOsVersion());
686 }
687
688 @Test
689 public void testGetPathSeparator() {
690 assertNotNull(SystemProperties.getPathSeparator());
691 }
692
693 @Test
694 public void testGetUserCountry() {
695 assertDoesNotThrow(SystemProperties::getUserCountry);
696 }
697
698 @Test
699 public void testGetUserDir() {
700 assertNotNull(SystemProperties.getUserDir());
701 }
702
703 @Test
704 public void testGetUserHome() {
705 assertNotNull(SystemProperties.getUserHome());
706 }
707
708 @Test
709 public void testGetUserLanguage() {
710 assertNotNull(SystemProperties.getUserLanguage());
711 }
712
713 @Test
714 public void testGetUserName() {
715 assertNotNull(SystemProperties.getUserName());
716 assertNotNull(SystemProperties.getUserName(""));
717 assertNotNull(SystemProperties.getUserName("User"));
718 assertNotNull(SystemProperties.getUserName(null));
719 }
720
721 @Test
722 public void testGetUserTimezone() {
723 assertDoesNotThrow(SystemProperties::getUserTimezone);
724 }
725
726 }