summaryrefslogtreecommitdiff
path: root/test/tc_maildir.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/tc_maildir.rb')
-rw-r--r--test/tc_maildir.rb97
1 files changed, 0 insertions, 97 deletions
diff --git a/test/tc_maildir.rb b/test/tc_maildir.rb
deleted file mode 100644
index 7df47b8..0000000
--- a/test/tc_maildir.rb
+++ /dev/null
@@ -1,97 +0,0 @@
-require 'test/unit'
-require 'fileutils'
-require 'tmpdir'
-require 'mocha/setup'
-
-require 'feed2imap/maildir'
-
-class TestMaildir < Test::Unit::TestCase
-
- def setup
- @tmpdirs = []
- end
-
- def teardown
- @tmpdirs.each do |dir|
- FileUtils.rm_rf(dir)
- end
- end
-
- def test_cleanup
- folder = create_maildir
- msgs = message_count(folder)
-
- four_days_ago = Time.now - (4 * 24 * 60 * 60)
- old_message = Dir.glob(File.join(folder, '**/*:2,S')).first
- FileUtils.touch old_message, mtime: four_days_ago
-
- maildir_account.cleanup(folder)
-
- assert_equal msgs - 1, message_count(folder)
- end
-
- def test_putmail
- folder = create_maildir
- msgs = message_count(folder)
-
- mail = RMail::Message.new
- mail.header['Subject'] = 'a message I just created'
- mail.body = 'to test maildir'
- maildir_account.putmail(folder, mail)
-
- assert_equal msgs + 1, message_count(folder)
- end
-
- def test_updatemail
- folder = create_maildir
- path = maildir_account.send(
- :find_mails,
- folder,
- 'regular-message-id@debian.org'
- ).first
- assert_not_nil path
- mail = RMail::Message.new
- mail.header['Subject'] = 'a different subject'
- mail.header['Message-ID'] = 'regular-message-id@debian.org'
- mail.body = 'This is the body of the message'
- maildir_account.updatemail(folder, mail, 'regular-message-id@debian.org')
-
- updated_path = maildir_account.send(
- :find_mails,
- folder,
- 'regular-message-id@debian.org'
- ).first
- updated_mail = RMail::Parser.read(File.open(File.join(folder, updated_path)))
-
- assert_equal 'a different subject', updated_mail.header['Subject']
- end
-
- def test_find_mails
- folder = create_maildir
- assert_equal 0, maildir_account.send(:find_mails, folder, 'SomeRandomMessageID').size
- end
-
- private
-
- def create_maildir
- parent = Dir.mktmpdir
- @tmpdirs << parent
- FileUtils.cp_r('test/maildir', parent)
- return File.join(parent, 'maildir')
- end
-
- def message_count(folder)
- Dir.glob(File.join(folder, '**', '*')).reject { |f| File.directory?(f) }.size
- end
-
- def maildir_account
- @maildir_account ||=
- begin
- MaildirAccount.new.tap do |account|
- account.stubs(:puts)
- end
- end
- end
-
-end
-