33
33
@ UsingStatusListener // Suppresses `StatusLogger` output, unless there is a failure
34
34
public class SslConfigurationFactoryTest {
35
35
36
- private static final String trustStorelocation = "log4j2.trustStoreLocation" ;
37
- private static final String trustStorePassword = "log4j2.trustStorePassword" ;
38
- private static final String trustStoreKeyStoreType = "log4j2.trustStoreKeyStoreType" ;
39
- private static final String keyStoreLocation = "log4j2.keyStoreLocation" ;
40
- private static final String keyStorePassword = "log4j2.keyStorePassword" ;
41
- private static final String keyStoreType = "log4j2.keyStoreType" ;
36
+ private static final String TRUSTSTORE_LOCATION_PROP_NAME = "log4j2.trustStoreLocation" ;
37
+
38
+ private static final String TRUSTSTORE_PASSWORD_PROP_NAME = "log4j2.trustStorePassword" ;
39
+
40
+ private static final String TRUSTSTORE_TYPE_PROP_NAME = "log4j2.trustStoreKeyStoreType" ;
41
+
42
+ private static final String KEYSTORE_LOCATION_PROP_NAME = "log4j2.keyStoreLocation" ;
43
+
44
+ private static final String KEYSTORE_PASSWORD_PROP_NAME = "log4j2.keyStorePassword" ;
45
+
46
+ private static final String KEYSTORE_TYPE_PROP_NAME = "log4j2.keyStoreType" ;
42
47
43
48
private static void addKeystoreConfiguration (final Properties props ) {
44
- props .setProperty (keyStoreLocation , SslKeyStoreConstants .KEYSTORE_LOCATION );
45
- props .setProperty (keyStoreType , SslKeyStoreConstants .KEYSTORE_TYPE );
49
+ props .setProperty (KEYSTORE_LOCATION_PROP_NAME , SslKeyStoreConstants .KEYSTORE_LOCATION );
50
+ props .setProperty (KEYSTORE_TYPE_PROP_NAME , SslKeyStoreConstants .KEYSTORE_TYPE );
46
51
}
47
52
48
53
private static void addTruststoreConfiguration (final Properties props ) {
49
- props .setProperty (trustStorelocation , SslKeyStoreConstants .TRUSTSTORE_LOCATION );
50
- props .setProperty (trustStoreKeyStoreType , SslKeyStoreConstants .TRUSTSTORE_TYPE );
54
+ props .setProperty (TRUSTSTORE_LOCATION_PROP_NAME , SslKeyStoreConstants .TRUSTSTORE_LOCATION );
55
+ props .setProperty (TRUSTSTORE_TYPE_PROP_NAME , SslKeyStoreConstants .TRUSTSTORE_TYPE );
51
56
}
52
57
53
58
@ Test
54
59
public void testStaticConfiguration () {
60
+
61
+ // Case 1: Empty configuration
55
62
final Properties props = new Properties ();
56
63
final PropertiesUtil util = new PropertiesUtil (props );
57
- // No keystore and truststore -> no SslConfiguration
58
64
SslConfiguration sslConfiguration = SslConfigurationFactory .createSslConfiguration (util );
59
65
assertNull (sslConfiguration );
60
- // Only keystore
66
+
67
+ // Case 2: Only key store
61
68
props .clear ();
62
69
addKeystoreConfiguration (props );
63
70
sslConfiguration = SslConfigurationFactory .createSslConfiguration (util );
64
71
assertNotNull (sslConfiguration );
65
72
assertNotNull (sslConfiguration .getKeyStoreConfig ());
66
73
assertNull (sslConfiguration .getTrustStoreConfig ());
67
- // Only truststore
74
+
75
+ // Case 3: Only trust store
68
76
props .clear ();
69
77
addTruststoreConfiguration (props );
70
78
sslConfiguration = SslConfigurationFactory .createSslConfiguration (util );
71
79
assertNotNull (sslConfiguration );
72
80
assertNull (sslConfiguration .getKeyStoreConfig ());
73
81
assertNotNull (sslConfiguration .getTrustStoreConfig ());
74
- // Both
82
+
83
+ // Case 4: Both key and trust stores
75
84
props .clear ();
76
85
addKeystoreConfiguration (props );
77
86
addTruststoreConfiguration (props );
@@ -96,19 +105,23 @@ static Stream<Arguments> windowsKeystoreConfigs() {
96
105
@ ParameterizedTest
97
106
@ MethodSource ("windowsKeystoreConfigs" )
98
107
public void testPasswordLessStores (final String location , final String password ) {
108
+
109
+ // Create the configuration
99
110
final Properties props = new Properties ();
100
- props .setProperty (keyStoreType , "Windows-MY" );
101
- props .setProperty (trustStoreKeyStoreType , "Windows-ROOT" );
111
+ props .setProperty (KEYSTORE_TYPE_PROP_NAME , SslKeyStoreConstants . WINDOWS_KEYSTORE_TYPE );
112
+ props .setProperty (TRUSTSTORE_TYPE_PROP_NAME , SslKeyStoreConstants . WINDOWS_TRUSTSTORE_TYPE );
102
113
if (location != null ) {
103
- props .setProperty (keyStoreLocation , location );
104
- props .setProperty (trustStorelocation , location );
114
+ props .setProperty (KEYSTORE_LOCATION_PROP_NAME , location );
115
+ props .setProperty (TRUSTSTORE_LOCATION_PROP_NAME , location );
105
116
}
106
117
if (password != null ) {
107
- props .setProperty (keyStorePassword , password );
108
- props .setProperty (trustStorePassword , password );
118
+ props .setProperty (KEYSTORE_PASSWORD_PROP_NAME , password );
119
+ props .setProperty (TRUSTSTORE_PASSWORD_PROP_NAME , password );
109
120
}
110
121
final PropertiesUtil util = new PropertiesUtil (props );
111
122
final SslConfiguration config = SslConfigurationFactory .createSslConfiguration (util );
123
+
124
+ // Verify the configuration
112
125
assertNotNull (config );
113
126
final KeyStoreConfiguration keyStoreConfig = config .getKeyStoreConfig ();
114
127
assertNotNull (keyStoreConfig );
0 commit comments