Skip to content

Commit e6ffafb

Browse files
committed
#295, #322: Switched to David Moten's subethasmtp fork which updates the abandoned project with Java 8 and Jakarta 2.x.x (see https://github.com/davidmoten/subethasmtp). Simple Java Mail uses the SMTP test harness Wiser from the project.
1 parent 11cf1b7 commit e6ffafb

File tree

2 files changed

+15
-31
lines changed

2 files changed

+15
-31
lines changed

Diff for: modules/simple-java-mail/pom.xml

+2-8
Original file line numberDiff line numberDiff line change
@@ -78,16 +78,10 @@
7878
<scope>test</scope>
7979
</dependency>
8080
<dependency><!-- SMTP test server -->
81-
<groupId>org.subethamail</groupId>
81+
<groupId>com.github.davidmoten</groupId>
8282
<artifactId>subethasmtp</artifactId>
83-
<version>3.1.7</version>
83+
<version>6.0.1</version>
8484
<scope>test</scope>
85-
<exclusions>
86-
<exclusion>
87-
<groupId>javax.mail</groupId>
88-
<artifactId>mail</artifactId>
89-
</exclusion>
90-
</exclusions>
9185
</dependency>
9286
</dependencies>
9387

Diff for: modules/simple-java-mail/src/test/java/testutil/testrules/SmtpServerRule.java

+13-23
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import java.io.IOException;
1212
import java.io.InputStream;
1313
import java.io.PrintStream;
14-
import java.util.Iterator;
1514
import java.util.List;
1615

1716
import static java.lang.String.format;
@@ -26,16 +25,14 @@
2625
* The {@link Wiser} instance can be directly retrieved but also only from inside a JUnit statement.
2726
*/
2827
public class SmtpServerRule extends ExternalResource {
29-
private final Wiser wiser = new Wiser();
30-
private final int port;
28+
private final Wiser wiser;
3129

3230
public SmtpServerRule(@NotNull Integer port) {
33-
this.port = port;
31+
this.wiser = Wiser.accepter((from, recipient) -> true).port(port);
3432
}
3533

3634
@Override
3735
protected void before() {
38-
this.wiser.setPort(port);
3936
this.wiser.start();
4037
}
4138

@@ -62,12 +59,9 @@ public MimeMessage getOnlyMessage(String envelopeReceiver)
6259
checkState("getMessages()");
6360
List<WiserMessage> messages = getMessages();
6461
assertThat(messages).hasSize(1);
65-
Iterator<WiserMessage> iterator = messages.iterator();
66-
WiserMessage wiserMessage = iterator.next();
62+
WiserMessage wiserMessage = messages.remove(0);
6763
assertThat(wiserMessage.getEnvelopeReceiver()).isEqualTo(envelopeReceiver);
68-
MimeMessage mimeMessage = wiserMessage.getMimeMessage();
69-
iterator.remove();
70-
return mimeMessage;
64+
return wiserMessage.getMimeMessage();
7165
}
7266

7367
@NotNull
@@ -76,9 +70,7 @@ public MimeMessageAndEnvelope getOnlyMessage()
7670
checkState("getMessages()");
7771
List<WiserMessage> messages = getMessages();
7872
assertThat(messages).hasSize(1);
79-
Iterator<WiserMessage> iterator = messages.iterator();
80-
WiserMessage wiserMessage = iterator.next();
81-
iterator.remove();
73+
WiserMessage wiserMessage = messages.remove(0);
8274
return new MimeMessageAndEnvelope(wiserMessage.getMimeMessage(), wiserMessage.getEnvelopeSender());
8375
}
8476

@@ -87,16 +79,14 @@ public MimeMessage getMessage(String envelopeReceiver)
8779
throws MessagingException {
8880
checkState("getMessages()");
8981
List<WiserMessage> messages = getMessages();
90-
Iterator<WiserMessage> iterator = messages.iterator();
91-
while (iterator.hasNext()) {
92-
WiserMessage wiserMessage = iterator.next();
93-
if (wiserMessage.getEnvelopeReceiver().equals(envelopeReceiver)) {
94-
MimeMessage mimeMessage = wiserMessage.getMimeMessage();
95-
iterator.remove();
96-
return mimeMessage;
97-
}
98-
}
99-
throw new AssertionError("message not found for recipient " + envelopeReceiver);
82+
83+
WiserMessage wiserMessage = messages.stream()
84+
.filter(m->m.getEnvelopeReceiver().equals(envelopeReceiver))
85+
.findFirst()
86+
.orElseThrow(() -> new AssertionError("message not found for recipient " + envelopeReceiver));
87+
88+
messages.remove(wiserMessage);
89+
return wiserMessage.getMimeMessage();
10090
}
10191

10292
@NotNull

0 commit comments

Comments
 (0)