diff --git a/src/org/labkey/test/components/dumbster/EmailRecordTable.java b/src/org/labkey/test/components/dumbster/EmailRecordTable.java index 1f5e3a7aea..51efc249c3 100644 --- a/src/org/labkey/test/components/dumbster/EmailRecordTable.java +++ b/src/org/labkey/test/components/dumbster/EmailRecordTable.java @@ -115,7 +115,13 @@ public EmailMessage getMessageWithSubjectContaining(String subjectPart) public EmailMessage getMessage(String subject) { - return getMessage(actualSubject -> actualSubject.equals(subject)); + List messages = getMessages(subject); + return messages.isEmpty() ? null : messages.get(0); + } + + public List getMessages(String subject) + { + return getMessages(actualSubject -> actualSubject.equals(subject)); } public WebElement getRowEl(EmailMessage message) @@ -125,11 +131,13 @@ public WebElement getRowEl(EmailMessage message) public EmailMessage getMessageRegEx(String regExp) { - return getMessage(subject -> subject.matches(regExp)); + List messages = getMessages(subject -> subject.matches(regExp)); + return messages.isEmpty() ? null : messages.get(0); } - private EmailMessage getMessage(Predicate subjectFilter) + private List getMessages(Predicate subjectFilter) { + List messages = new ArrayList<>(); int rows = getRowCount() - _footerRows; if (rows > 0) @@ -142,12 +150,12 @@ private EmailMessage getMessage(Predicate subjectFilter) String subjectLine = lines.length > 0 ? lines[0] : ""; if (subjectFilter.test(subjectLine)) { - return getEmailAtTableIndex(i); + messages.add(getEmailAtTableIndex(i)); } } } - return null; + return messages; } public List getMessagesByHeaderAndText(String header, String text)