functional testing post syntax

I'm trying to get my tests for a version 1.2.6 Rails app upgraded to
version 2.0.2. In my functionals, all my calls to post are now
failing. Here's one:

post :login, :login => { :email => user.email, :password => 'wrong' }

The 2nd edition Agile Web Development with Rails book shows that exact
syntax on page 203, and then the docs at http://api.rubyonrails.com/
don't really lead me to believe the syntax has changed.

So anyway, here's the error I'm getting:

ArgumentError: wrong number of arguments (1 for 2)
    /usr/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/url_rewriter.rb:81:in
`rewrite_url'
    /usr/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/url_rewriter.rb:81:in
`rewrite'
    /usr/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/test_process.rb:445:in
`build_request_uri'
    /usr/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/test_process.rb:392:in
`process'
    /usr/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/test_process.rb:364:in
`post'
    test/functional/login_controller_test.rb:78:in `test_bad_email_password'

Any idea?

Thanks,

Try post 'login', :login => { :email => user.email, :password => 'wrong' }

That produces the same error.

Have you got a plugin that could be overriding something here. If you
look at the rails source, in an untouched copy of rails 2.0.2,
rewrite_url is only called with 1 argument, not 2 (and does indeed
only accept 1 argument). However in rails 1.2.6 it did require 2
arguments, so my money is on a plugin haven overriden that method.

Fred

Thanks so much Fred. This project uses the reverse_proxy_fix plugin
and it simply needed to be upgraded for Rails 2.0. My functional
tests are now passing.