package mireka.transmission; import static org.junit.Assert.*; import mireka.smtp.EnhancedStatus; import mireka.transmission.immediate.Rfc821Status; import org.junit.Test; import org.subethamail.smtp.client.SMTPClient.Response; public class EnhancedStatusTest { @Test public void testEnhancedStatusRfc821Status() { Response response = new Response(550, "mailbox unavailable"); Rfc821Status rfc821Status = new Rfc821Status(response); EnhancedStatus enhancedStatus = new EnhancedStatus(rfc821Status); assertTrue(enhancedStatus.getEnhancedStatusCode().startsWith("5.")); assertFalse(enhancedStatus.shouldRetry()); } @Test public void testGetMessagePrefixedWithEnhancedStatusCodeEmpty() { EnhancedStatus status = new EnhancedStatus(500, "5.0.0", ""); assertEquals("5.0.0", status.getMessagePrefixedWithEnhancedStatusCode()); } @Test public void testGetMessagePrefixedWithEnhancedStatusCodeOneLine() { EnhancedStatus status = new EnhancedStatus(500, "5.0.0", "Example message"); assertEquals("5.0.0 Example message", status.getMessagePrefixedWithEnhancedStatusCode()); } @Test public void testGetMessagePrefixedWithEnhancedStatusCodeTwoLines() { EnhancedStatus status = new EnhancedStatus(500, "5.0.0", "Example line 1\r\nExample line 2"); assertEquals("5.0.0 Example line 1\r\n5.0.0 Example line 2", status.getMessagePrefixedWithEnhancedStatusCode()); } }