@Test public void doRcptShouldDenyNotExistingLocalUsersWhenRelay() { SMTPSession session = setupMockedSMTPSession(RELAYING_ALLOWED); HookReturnCode rCode = handler.doRcpt(session, SENDER, invalidUserEmail).getResult(); assertThat(rCode).isEqualTo(HookReturnCode.deny()); }
@Test public void doRcptShouldRejectNotExistingLocalUsersWhenNoRelay() { SMTPSession session = setupMockedSMTPSession(!RELAYING_ALLOWED); HookReturnCode rCode = handler.doRcpt(session, SENDER, invalidUserEmail).getResult(); assertThat(rCode).isEqualTo(HookReturnCode.deny()); }
@Test public void doRcptShouldDeclineValidUsersWhenRelay() throws Exception { SMTPSession session = setupMockedSMTPSession(RELAYING_ALLOWED); HookReturnCode rCode = handler.doRcpt(session, SENDER, validUserEmail).getResult(); assertThat(rCode).isEqualTo(HookReturnCode.declined()); }
@Test public void doRcptShouldDeclineValidUsersWhenNoRelay() throws Exception { SMTPSession session = setupMockedSMTPSession(!RELAYING_ALLOWED); HookReturnCode rCode = handler.doRcpt(session, SENDER, validUserEmail).getResult(); assertThat(rCode).isEqualTo(HookReturnCode.declined()); }
@Test public void doRcptShouldDeclineNonLocalUsersWhenNoRelay() throws Exception { MailAddress mailAddress = new MailAddress(INVALID_USER + "@otherdomain"); SMTPSession session = setupMockedSMTPSession(!RELAYING_ALLOWED); HookReturnCode rCode = handler.doRcpt(session, SENDER, mailAddress).getResult(); assertThat(rCode).isEqualTo(HookReturnCode.declined()); }
@Test public void doRcptShouldDeclineNonLocalUsersWhenRelay() throws Exception { MailAddress mailAddress = new MailAddress(INVALID_USER + "@otherdomain"); SMTPSession session = setupMockedSMTPSession(RELAYING_ALLOWED); HookReturnCode rCode = handler.doRcpt(session, SENDER, mailAddress).getResult(); assertThat(rCode).isEqualTo(HookReturnCode.declined()); }
@Test public void doRcptShouldDeclineWhenHasErrorMapping() throws Exception { memoryRecipientRewriteTable.addErrorMapping(MappingSource.fromUser(USER1, Domain.LOCALHOST), "554 BOUNCE"); SMTPSession session = setupMockedSMTPSession(!RELAYING_ALLOWED); HookReturnCode rCode = handler.doRcpt(session, SENDER, user1mail).getResult(); assertThat(rCode).isEqualTo(HookReturnCode.declined()); }
@Test public void doRcptShouldDeclineWhenHasAddressMapping() throws Exception { memoryRecipientRewriteTable.addAddressMapping(MappingSource.fromUser(USER1, Domain.LOCALHOST), "address"); SMTPSession session = setupMockedSMTPSession(!RELAYING_ALLOWED); HookReturnCode rCode = handler.doRcpt(session, SENDER, validUserEmail).getResult(); assertThat(rCode).isEqualTo(HookReturnCode.declined()); }
@Test public void doRcptShouldDenyWhenHasMappingLoop() throws Exception { memoryRecipientRewriteTable.addAddressMapping(MappingSource.fromUser(USER1, Domain.LOCALHOST), USER2 + "@localhost"); memoryRecipientRewriteTable.addAddressMapping(MappingSource.fromUser(USER2, Domain.LOCALHOST), USER1 + "@localhost"); SMTPSession session = setupMockedSMTPSession(!RELAYING_ALLOWED); HookReturnCode rCode = handler.doRcpt(session, SENDER, user1mail).getResult(); assertThat(rCode).isEqualTo(HookReturnCode.declined()); }