我正在尝试使用 Faraday 测试 graphql 请求,但我首先需要使用omniauth/auth0 进行身份验证。
我通过设置对其进行身份验证
def sign_in(user, invalid=false, strategy = :auth0)
invalid ? mock_invalid_auth_hash : mock_valid_auth_hash(user)
Rails.application.env_config["omniauth.auth"] = OmniAuth.config.mock_auth[strategy.to_sym]
visit "/auth/#{strategy.to_s}/callback"
end
但是当 graphql 被测试时,它完全失去了那个 cookie,因为这是一个全新的请求:
require 'graphlient'
RSpec.shared_context "GraphQL Client", shared_context: :metadata do
let(:client) do
Graphlient::Client.new('https://www.example.org/graphql') do |client|
client.http do |h|
h.connection do |c|
c.use Faraday::Adapter::Rack, app
end
end
end
end
end
如何通过 Faraday 设置环境在连接到 GraphQL 之前进行身份验证?或者有没有更好的方法来测试 GraphQL?