Address some edge cases related to bootstrapping a fresh system.
[cfb.git] / test / net / jaekl / cfb / analyze / NotifierMock.java
diff --git a/test/net/jaekl/cfb/analyze/NotifierMock.java b/test/net/jaekl/cfb/analyze/NotifierMock.java
new file mode 100644 (file)
index 0000000..8198d32
--- /dev/null
@@ -0,0 +1,57 @@
+package net.jaekl.cfb.analyze;
+
+import net.jaekl.cfb.CfbBundle;
+import net.jaekl.cfb.Config;
+import net.jaekl.qd.util.SendMail;
+import net.jaekl.qd.util.SendMailMock;
+import net.jaekl.qd.util.SmtpConversationMock;
+
+public class NotifierMock extends Notifier {
+       private final String TYPICAL_INIT = "220 BBN-UNIX.ARPA Simple Mail Transfer Service Ready"; 
+       private final String[][] TYPICAL = {
+                       {
+                               "HELO ",
+                               "250 BBN-UNIX.ARPA"
+                       },
+                       {
+                               "MAIL FROM:",
+                               "250 OK"
+                       },
+                       {
+                               "RCPT TO:",
+                               "250 OK"
+                       },
+                       {
+                               "DATA",
+                               "354 Start mail input; end with <CRLF>.<CRLF>"
+                       },
+                       {
+                               ".\r\n",
+                               "250 OK"
+                       },
+                       {
+                               "QUIT",
+                               "221 BBN-UNIX.ARPA Service closing transmission channel"
+                       }
+               };
+
+       private SendMailMock mock_sendMail;
+       private SmtpConversationMock mock_conversat;
+
+       public NotifierMock(CfbBundle bundle, Config config) {
+               super(bundle, config);
+               
+               mock_sendMail = null;
+       }
+       
+       @Override
+       SendMail createSendMail() {
+               mock_conversat = new SmtpConversationMock(TYPICAL_INIT, TYPICAL);
+               mock_sendMail = new SendMailMock(mock_conversat);
+               return mock_sendMail;
+       }
+       
+       public SendMailMock mock_getSendMail() {
+               return mock_sendMail;
+       }
+}