integration testではAuthenticatedTestHelperのlogin_asが使えない

RestfulAuthenticationプラグインで認証しているアプリのintegration testを書こうとしました。
プラグインに同梱されているAuthenticatedTestHelperのlogin_asというログインのヘルパメソッドを使ってみたのですが、なぜか認証できてない。

AuthenticatedTestHelperのlogin_asの中をみてみると、ActionController::TestRequestのオブジェクトのセッションに認証対象のモデルのidを入れてました。
でも、integration testはActionController::Integration::Sessionのコンテキストで実行されていて、TestRequest,TestResponseは使ってないんですね、、、このヘルパはfunctional testしか使えなかったのか、、、

とりあえずintegration test向けにヘルパメソッドを書きました。これをintegration testのクラスでincludeします。

  def login_as_for_it(user)
    reset!
    u  = user ? (user.is_a?(User) ? user.id : users(user)) : nil
    get "/login"
    post "/login", :login => u.login, :password => u.password
  end


(追記)インターフェースを変えないほうがいいですね。

  alias login_as_original login_as

  def login_as(user)
    if self.class.superclass == ActionController::IntegrationTest
      #IntegrationTest
      reset!
      u  = user ? (user.is_a?(User) ? user.id : users(user)) : nil
      get "/login"
      post "/login", :login => u.login, :password => u.password
    else
      #FunctionalTest
      login_as_original(user)
    end
  end