25
25
import static org .mockito .Mockito .when ;
26
26
import static org .simplejavamail .mailer .config .TransportStrategy .SMTPS ;
27
27
import static org .simplejavamail .mailer .config .TransportStrategy .SMTP_TLS ;
28
+ import static org .simplejavamail .util .ConfigLoader .Property .OPPORTUNISTIC_TLS ;
28
29
29
30
@ SuppressWarnings ("unused" )
30
31
public class MailerTest {
@@ -58,6 +59,12 @@ public void createMailSession_MinimalConstructor_WithoutConfig()
58
59
assertThat (session .getProperty ("mail.smtp.host" )).isEqualTo ("host" );
59
60
assertThat (session .getProperty ("mail.smtp.port" )).isEqualTo ("25" );
60
61
assertThat (session .getProperty ("mail.transport.protocol" )).isEqualTo ("smtp" );
62
+
63
+ assertThat (session .getProperty ("mail.smtp.starttls.enable" )).isEqualTo ("true" );
64
+ assertThat (session .getProperty ("mail.smtp.starttls.required" )).isEqualTo ("false" );
65
+ assertThat (session .getProperty ("mail.smtp.ssl.trust" )).isEqualTo ("*" );
66
+ assertThat (session .getProperty ("mail.smtp.ssl.checkserveridentity" )).isEqualTo ("false" );
67
+
61
68
assertThat (session .getProperty ("mail.smtp.username" )).isNull ();
62
69
assertThat (session .getProperty ("mail.smtp.auth" )).isNull ();
63
70
assertThat (session .getProperty ("mail.smtp.socks.host" )).isNull ();
@@ -92,9 +99,11 @@ public void createMailSession_AnonymousProxyConstructor_WithoutConfig()
92
99
assertThat (session .getProperty ("mail.smtp.host" )).isEqualTo ("smtp host" );
93
100
assertThat (session .getProperty ("mail.smtp.port" )).isEqualTo ("25" );
94
101
assertThat (session .getProperty ("mail.transport.protocol" )).isEqualTo ("smtp" );
102
+
95
103
assertThat (session .getProperty ("mail.smtp.starttls.enable" )).isEqualTo ("true" );
96
104
assertThat (session .getProperty ("mail.smtp.starttls.required" )).isEqualTo ("true" );
97
105
assertThat (session .getProperty ("mail.smtp.ssl.checkserveridentity" )).isEqualTo ("true" );
106
+
98
107
assertThat (session .getProperty ("mail.smtp.username" )).isEqualTo ("username smtp" );
99
108
assertThat (session .getProperty ("mail.smtp.auth" )).isEqualTo ("true" );
100
109
assertThat (session .getProperty ("mail.smtp.socks.host" )).isEqualTo ("proxy host" );
@@ -127,12 +136,12 @@ public void createMailSession_MaximumConstructor_WithoutConfig()
127
136
assertThat (session .getProperty ("extra1" )).isEqualTo ("value1" );
128
137
assertThat (session .getProperty ("extra2" )).isEqualTo ("value2" );
129
138
}
130
-
139
+
131
140
@ Test
132
141
public void createMailSession_MinimalConstructor_WithConfig () {
133
142
Mailer mailer = new Mailer ();
134
143
Session session = mailer .getSession ();
135
-
144
+
136
145
assertThat (session .getDebug ()).isTrue ();
137
146
assertThat (session .getProperty ("mail.smtp.host" )).isEqualTo ("smtp.default.com" );
138
147
assertThat (session .getProperty ("mail.smtp.port" )).isEqualTo ("25" );
@@ -147,6 +156,31 @@ public void createMailSession_MinimalConstructor_WithConfig() {
147
156
assertThat (session .getProperty ("mail.smtp.socks.port" )).isEqualTo ("1081" );
148
157
}
149
158
159
+ @ Test
160
+ public void createMailSession_MinimalConstructor_WithConfig_OPPORTUNISTIC_TLS () {
161
+ Properties properties = new Properties ();
162
+ properties .setProperty (OPPORTUNISTIC_TLS .key (), "false" );
163
+ ConfigLoader .loadProperties (properties , true );
164
+
165
+ Mailer mailer = new Mailer (TransportStrategy .SMTP );
166
+ Session session = mailer .getSession ();
167
+
168
+ assertThat (session .getDebug ()).isTrue ();
169
+ assertThat (session .getProperty ("mail.smtp.host" )).isEqualTo ("smtp.default.com" );
170
+ assertThat (session .getProperty ("mail.smtp.port" )).isEqualTo ("25" );
171
+ assertThat (session .getProperty ("mail.transport.protocol" )).isEqualTo ("smtp" );
172
+
173
+ assertThat (session .getProperty ("mail.smtp.starttls.enable" )).isNull ();
174
+ assertThat (session .getProperty ("mail.smtp.starttls.required" )).isNull ();
175
+ assertThat (session .getProperty ("mail.smtp.ssl.checkserveridentity" )).isNull ();
176
+
1C6A
177
+ assertThat (session .getProperty ("mail.smtp.username" )).isEqualTo ("username smtp" );
178
+ assertThat (session .getProperty ("mail.smtp.auth" )).isEqualTo ("true" );
179
+ // the following two are because authentication is needed, otherwise proxy would be straightworward
180
+ assertThat (session .getProperty ("mail.smtp.socks.host" )).isEqualTo ("localhost" );
181
+ assertThat (session .getProperty ("mail.smtp.socks.port" )).isEqualTo ("1081" );
182
+ }
183
+
150
184
@ Test
151
185
public void createMailSession_MaximumConstructor_WithConfig ()
152
186
throws Exception {
0 commit comments