diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/models/incoming_message_spec.rb | 37 |
1 files changed, 14 insertions, 23 deletions
diff --git a/spec/models/incoming_message_spec.rb b/spec/models/incoming_message_spec.rb index fdbcd1e23..7afbacc9e 100644 --- a/spec/models/incoming_message_spec.rb +++ b/spec/models/incoming_message_spec.rb @@ -194,59 +194,50 @@ describe IncomingMessage, " folding quoted parts of emails" do end describe IncomingMessage, " checking validity to reply to" do - def test_email(result, email, return_path, autosubmitted = nil) - @address = mock(TMail::Address) - @address.stub!(:spec).and_return(email) - - @return_path = mock(TMail::ReturnPathHeader) - @return_path.stub!(:addr).and_return(return_path) - if !autosubmitted.nil? - @autosubmitted = TMail::UnstructuredHeader.new("auto-submitted", autosubmitted) - end - @mail = mock(TMail::Mail) - @mail.stub!(:from_addrs).and_return( [ @address ] ) - @mail.stub!(:[]).with("return-path").and_return(@return_path) - @mail.stub!(:[]).with("auto-submitted").and_return(@autosubmitted) - + def test_email(result, email, empty_return_path, autosubmitted = nil) + @mail = mock('mail') + MailHandler.stub!(:get_from_address).and_return(email) + MailHandler.stub!(:empty_return_path?).with(@mail).and_return(empty_return_path) + MailHandler.stub!(:get_auto_submitted).with(@mail).and_return(autosubmitted) @incoming_message = IncomingMessage.new() @incoming_message.stub!(:mail).and_return(@mail) @incoming_message._calculate_valid_to_reply_to.should == result end it "says a valid email is fine" do - test_email(true, "team@mysociety.org", nil) + test_email(true, "team@mysociety.org", false) end it "says postmaster email is bad" do - test_email(false, "postmaster@mysociety.org", nil) + test_email(false, "postmaster@mysociety.org", false) end it "says Mailer-Daemon email is bad" do - test_email(false, "Mailer-Daemon@mysociety.org", nil) + test_email(false, "Mailer-Daemon@mysociety.org", false) end it "says case mangled MaIler-DaemOn email is bad" do - test_email(false, "MaIler-DaemOn@mysociety.org", nil) + test_email(false, "MaIler-DaemOn@mysociety.org", false) end it "says Auto_Reply email is bad" do - test_email(false, "Auto_Reply@mysociety.org", nil) + test_email(false, "Auto_Reply@mysociety.org", false) end it "says DoNotReply email is bad" do - test_email(false, "DoNotReply@tube.tfl.gov.uk", nil) + test_email(false, "DoNotReply@tube.tfl.gov.uk", false) end it "says a filled-out return-path is fine" do - test_email(true, "team@mysociety.org", "Return-path: <foo@baz.com>") + test_email(true, "team@mysociety.org", false) end it "says an empty return-path is bad" do - test_email(false, "team@mysociety.org", "<>") + test_email(false, "team@mysociety.org", true) end it "says an auto-submitted keyword is bad" do - test_email(false, "team@mysociety.org", nil, "auto-replied") + test_email(false, "team@mysociety.org", false, "auto-replied") end end |