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