summaryrefslogtreecommitdiffstats
path: root/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockMailer.java
diff options
context:
space:
mode:
Diffstat (limited to 'controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockMailer.java')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockMailer.java21
1 files changed, 20 insertions, 1 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockMailer.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockMailer.java
index 6050f238da7..cb2b76d845c 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockMailer.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockMailer.java
@@ -12,9 +12,25 @@ import java.util.Map;
public class MockMailer implements Mailer {
public final Map<String, List<Mail>> mails = new HashMap<>();
+ public final boolean blackhole;
+
+ public MockMailer() {
+ this(false);
+ }
+
+ MockMailer(boolean blackhole) {
+ this.blackhole = blackhole;
+ }
+
+ public static MockMailer blackhole() {
+ return new MockMailer(true);
+ }
@Override
public void send(Mail mail) {
+ if (blackhole) {
+ return;
+ }
for (String recipient : mail.recipients()) {
mails.putIfAbsent(recipient, new ArrayList<>());
mails.get(recipient).add(mail);
@@ -33,7 +49,10 @@ public class MockMailer implements Mailer {
/** Returns the list of mails sent to the given recipient. Modifications affect the set of mails stored in this. */
public List<Mail> inbox(String recipient) {
- return mails.get(recipient);
+ return mails.getOrDefault(recipient, List.of());
}
+ public void reset() {
+ mails.clear();
+ }
}