ryanb / letter_opener

Preview mail in the browser instead of sending.
MIT License
3.71k stars 236 forks source link

bundle exec rake fails if mail gem >= 2.6.6 #144

Closed buzztaiki closed 6 years ago

buzztaiki commented 7 years ago

gem versions:

❯ bundle show
Gems included by the bundle:
  * addressable (2.5.1)
  * bundler (1.14.3)
  * diff-lcs (1.3)
  * launchy (2.4.3)
  * letter_opener (1.4.1)
  * mail (2.6.6)
  * mime-types (3.1)
  * mime-types-data (3.2016.0521)
  * public_suffix (2.0.5)
  * rake (12.0.0)
  * rspec (3.5.0)
  * rspec-core (3.5.4)
  * rspec-expectations (3.5.0)
  * rspec-mocks (3.5.0)
  * rspec-support (3.5.0)

rake results:

❯ bundle exec rake

Randomized with seed 37367
........................F...................................

Failures:

  1) LetterOpener::DeliveryMethod delivery params raises an exception if delivery params are not valid
     Failure/Error:
       expect {
         Mail.deliver do
           from     'Foo foo@example.com'
           reply_to 'No Reply no-reply@example.com'
           body     'World! http://example.com'
         end
       }.to raise_exception(ArgumentError)

       expected ArgumentError, got #<RSpec::Mocks::MockExpectationError: (Launchy).open("file:///%2FUsers%2Ftaiki%2Fsrc%2Fgithub.com%2Fr...github.com%2Fryanb%2Fletter_opener%2Ftmp%2Fletter_opener%2F1497723260_565969_5e5867e%2Fplain.html")> with backtrace:
         # ./.bundle/gems/rspec-support-3.5.0/lib/rspec/support.rb:87:in `block in <module:Support>'
         # ./.bundle/gems/rspec-support-3.5.0/lib/rspec/support.rb:96:in `notify_failure'
         # ./.bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/error_generator.rb:327:in `notify'
         # ./.bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/error_generator.rb:311:in `__raise'
         # ./.bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/error_generator.rb:82:in `raise_expectation_error'
         # ./.bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/message_expectation.rb:554:in `invoke_incrementing_actual_calls_by'
         # ./.bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/message_expectation.rb:422:in `invoke'
         # ./.bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/proxy.rb:182:in `message_received'
         # ./.bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/proxy.rb:326:in `message_received'
         # ./.bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/method_double.rb:77:in `proxy_method_invoked'
         # ./.bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/method_double.rb:64:in `block (2 levels) in define_proxy_method'
         # ./lib/letter_opener/delivery_method.rb:31:in `deliver!'
         # ./.bundle/gems/mail-2.6.6/lib/mail/message.rb:2149:in `do_delivery'
         # ./.bundle/gems/mail-2.6.6/lib/mail/message.rb:239:in `deliver'
         # ./.bundle/gems/mail-2.6.6/lib/mail/mail.rb:141:in `deliver'
         # ./spec/letter_opener/delivery_method_spec.rb:323:in `block (4 levels) in <top (required)>'
         # ./.bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/raise_error.rb:52:in `matches?'
         # ./.bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/handler.rb:50:in `block in handle_matcher'
         # ./.bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/handler.rb:27:in `with_matcher'
         # ./.bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher'
         # ./.bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/expectation_target.rb:65:in `to'
         # ./.bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/expectation_target.rb:101:in `to'
         # ./spec/letter_opener/delivery_method_spec.rb:322:in `block (3 levels) in <top (required)>'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:254:in `instance_exec'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:254:in `block in run'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:496:in `block in with_around_and_singleton_context_hooks'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:453:in `block in with_around_example_hooks'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/hooks.rb:464:in `block in run'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/hooks.rb:602:in `run_around_example_hooks_for'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/hooks.rb:464:in `run'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:453:in `with_around_example_hooks'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:496:in `with_around_and_singleton_context_hooks'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:251:in `run'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:627:in `block in run_examples'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:623:in `map'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:623:in `run_examples'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:589:in `run'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:590:in `block in run'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:590:in `map'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:590:in `run'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:113:in `block (3 levels) in run_specs'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:113:in `map'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:113:in `block (2 levels) in run_specs'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/configuration.rb:1835:in `with_suite_hooks'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:112:in `block in run_specs'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/reporter.rb:77:in `report'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:111:in `run_specs'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:87:in `run'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:71:in `run'
         # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:45:in `invoke'
         # ./.bundle/gems/rspec-core-3.5.4/exe/rspec:4:in `<main>'
     # ./.bundle/gems/rspec-support-3.5.0/lib/rspec/support.rb:87:in `block in <module:Support>'
     # ./.bundle/gems/rspec-support-3.5.0/lib/rspec/support.rb:96:in `notify_failure'
     # ./.bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/fail_with.rb:27:in `fail_with'
     # ./.bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/handler.rb:40:in `handle_failure'
     # ./.bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/handler.rb:50:in `block in handle_matcher'
     # ./.bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/handler.rb:27:in `with_matcher'
     # ./.bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/handler.rb:48:in `handle_matcher'
     # ./.bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/expectation_target.rb:65:in `to'
     # ./.bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/expectation_target.rb:101:in `to'
     # ./spec/letter_opener/delivery_method_spec.rb:322:in `block (3 levels) in <top (required)>'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:254:in `instance_exec'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:254:in `block in run'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:496:in `block in with_around_and_singleton_context_hooks'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:453:in `block in with_around_example_hooks'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/hooks.rb:464:in `block in run'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/hooks.rb:602:in `run_around_example_hooks_for'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/hooks.rb:464:in `run'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:453:in `with_around_example_hooks'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:496:in `with_around_and_singleton_context_hooks'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:251:in `run'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:627:in `block in run_examples'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:623:in `map'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:623:in `run_examples'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:589:in `run'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:590:in `block in run'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:590:in `map'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:590:in `run'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:113:in `block (3 levels) in run_specs'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:113:in `map'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:113:in `block (2 levels) in run_specs'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/configuration.rb:1835:in `with_suite_hooks'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:112:in `block in run_specs'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/reporter.rb:77:in `report'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:111:in `run_specs'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:87:in `run'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:71:in `run'
     # ./.bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:45:in `invoke'
     # ./.bundle/gems/rspec-core-3.5.4/exe/rspec:4:in `<main>'

Finished in 0.4429 seconds (files took 0.30984 seconds to load)
60 examples, 1 failure

Failed examples:

rspec ./spec/letter_opener/delivery_method_spec.rb:319 # LetterOpener::DeliveryMethod delivery params raises an exception if delivery params are not valid

Randomized with seed 37367
buzztaiki commented 7 years ago

Because Mail::CheckDeliveryParams.check_delivery_params is removed in this pull request.

nashby commented 6 years ago

fixed by https://github.com/ryanb/letter_opener/commit/cacfc3df2abfb87bbd77f4727aa8a46ae0d435b0