before フィルターで http トークン認証を使用しているコントローラーをテストしようとしています。私の問題は、トークンを渡すためにcurlを使用しても問題なく動作することですが、私のテストでは常に失敗します(私はrspec btwを使用しています)。トークンが渡されているかどうかを確認する簡単なテストを試みましたが、渡されていないようです。テストで実際にトークンをコントローラーに渡すために何か不足していますか?
これが私の前のフィルターです:
def restrict_access
authenticate_or_request_with_http_token do |token, options|
api_key = ApiKey.find_by_access_token(token)
@user = api_key.user unless api_key.nil?
@token = token #set just for the sake of testing
!api_key.nil?
end
end
そして、ここに私のテストがあります:
it "passes the token" do
get :new, nil,
:authorization => ActionController::HttpAuthentication::Token.encode_credentials("test_access1")
assigns(:token).should be "test_access1"
end