gpt4 book ai didi

ruby-on-rails - rails 3.2.13 : API Integration Test with Authorization Failure

转载 作者:数据小太阳 更新时间:2023-10-29 09:01:49 26 4
gpt4 key购买 nike

我正在尝试为我编写的 API 编写集成测试。 api 在访问之前需要授权。

我正在使用 FactoryGirl,我的用户有以下工厂:

factory :user do
name "John Doe"
sequence(:email) { |n| "person-#{n}@testSuite.com" }
password "password"
password_confirmation { |u| u.password }
api_key "1234567890"
end

在我的 Controller 的 before_filter 中调用的身份验证方法是:

def authenticate
authenticate_or_request_with_http_token do |token, options|
@current_user = User.where(api_key: token).first
end
end

我的测试是

test 'User Index' do
@user = FactoryGirl.create(:user)
get '/api/v1/users', authorization: "Token token=\"#{@user.api_key}\""
assert_response :success
end

此测试不断失败并返回 401 响应。

设置授权 token 以便我可以实际连接到 API 的正确方法是什么?

最佳答案

尝试:

test 'User Index' do
@user = FactoryGirl.create(:user)
get '/api/v1/users', nil, { "HTTP_AUTHORIZATION" => "Token token=\"#{@user.api_key}\""
assert_response :success
end

查看更多关于 Get in integration tests here 的信息.

要在 header 中设置的 key 称为:HTTP_AUTHORIZATION

关于ruby-on-rails - rails 3.2.13 : API Integration Test with Authorization Failure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33786975/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com