aboutsummaryrefslogtreecommitdiffstats
path: root/spec/lib
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2012-12-11 14:07:54 +0000
committerLouise Crow <louise.crow@gmail.com>2012-12-11 14:23:16 +0000
commite898190fe61a4369ee83e94a24327ff437435b07 (patch)
tree42f1fe6ee90dfe0bf3f9c7d36a80490b63056978 /spec/lib
parent7cfa3956fd373db35948ef33cde652b30229f9ad (diff)
Wrap specs on the extraction of RFC-822 headers in code that sets the ENV timezone. TMail renders headers using localtime, which is not ideal, but we're migrating away from it anyway, so I'm not sure it's worth delving into the internals of TMail to fix it.
Diffstat (limited to 'spec/lib')
-rw-r--r--spec/lib/mail_handler/mail_handler_spec.rb24
-rw-r--r--spec/lib/timezone_fixes_spec.rb16
2 files changed, 14 insertions, 26 deletions
diff --git a/spec/lib/mail_handler/mail_handler_spec.rb b/spec/lib/mail_handler/mail_handler_spec.rb
index ae65210f2..48c32e2bc 100644
--- a/spec/lib/mail_handler/mail_handler_spec.rb
+++ b/spec/lib/mail_handler/mail_handler_spec.rb
@@ -283,16 +283,20 @@ describe 'when getting attachment attributes' do
end
it 'should expand a mail attached as text' do
- mail = get_fixture_mail('rfc822-attachment.email')
- attributes = MailHandler.get_attachment_attributes(mail)
- attributes.size.should == 2
- rfc_attachment = attributes[1]
- rfc_attachment[:within_rfc822_subject].should == 'Freedom of Information request'
- headers = ['Date: Thu, 13 Mar 2008 16:57:33 +0000',
- 'Subject: Freedom of Information request',
- 'From: An FOI Officer <foi.officer@example.com>',
- 'To: request-bounce-xx-xxxxx@whatdotheyno.com']
- rfc_attachment[:body].should == "#{headers.join("\n")}\n\nsome example text"
+ # Note that this spec will only pass using Tmail in the timezone set as datetime headers
+ # are rendered out in the local time - using the Mail gem this is not necessary
+ with_env_tz('London') do
+ mail = get_fixture_mail('rfc822-attachment.email')
+ attributes = MailHandler.get_attachment_attributes(mail)
+ attributes.size.should == 2
+ rfc_attachment = attributes[1]
+ rfc_attachment[:within_rfc822_subject].should == 'Freedom of Information request'
+ headers = ['Date: Thu, 13 Mar 2008 16:57:33 +0000',
+ 'Subject: Freedom of Information request',
+ 'From: An FOI Officer <foi.officer@example.com>',
+ 'To: request-bounce-xx-xxxxx@whatdotheyno.com']
+ rfc_attachment[:body].should == "#{headers.join("\n")}\n\nsome example text"
+ end
end
it 'should handle a mail which causes Tmail to generate a blank header value' do
diff --git a/spec/lib/timezone_fixes_spec.rb b/spec/lib/timezone_fixes_spec.rb
index a2bea5f64..525bd7561 100644
--- a/spec/lib/timezone_fixes_spec.rb
+++ b/spec/lib/timezone_fixes_spec.rb
@@ -92,22 +92,6 @@ describe "when doing things with timezones" do
end
end
-
- protected
-
- def with_env_tz(new_tz = 'US/Eastern')
- old_tz, ENV['TZ'] = ENV['TZ'], new_tz
- yield
- ensure
- old_tz ? ENV['TZ'] = old_tz : ENV.delete('TZ')
- end
-
- def with_active_record_default_timezone(zone)
- old_zone, ActiveRecord::Base.default_timezone = ActiveRecord::Base.default_timezone, zone
- yield
- ensure
- ActiveRecord::Base.default_timezone = old_zone
- end
end