discourse/spec/support/imap_helper.rb
2023-01-09 11:49:28 +00:00

32 lines
1.0 KiB
Ruby

# frozen_string_literal: true
class MockedImapProvider < Imap::Providers::Gmail
def connect!
end
def disconnect!
end
def open_mailbox(mailbox_name, write: false)
end
def labels
["INBOX"]
end
end
def EmailFabricator(options)
email = +""
email += "Date: Sat, 31 Mar 2018 17:50:19 -0700\n"
email += "From: #{options[:from] || "Dan <dan@discourse.org>"}\n"
email += "To: #{options[:to] || "Joffrey <joffrey@discourse.org>"}\n"
email += "Cc: #{options[:cc]}\n" if options[:cc]
email += "In-Reply-To: #{options[:in_reply_to]}\n" if options[:in_reply_to]
email += "References: #{options[:in_reply_to]}\n" if options[:in_reply_to]
email += "Message-ID: <#{options[:message_id]}>\n" if options[:message_id]
email += "Subject: #{options[:subject] || "This is a test email subject"}\n"
email += "Mime-Version: 1.0\n"
email += "Content-Type: #{options[:content_type] || "text/plain;\n charset=UTF-8"}\n"
email += "Content-Transfer-Encoding: 7bit\n"
email += "\n#{options[:body] || "This is an email *body*. :smile:"}"
email
end