【发布时间】:2018-12-14 06:08:20
【问题描述】:
我正在尝试为此订阅测试添加身份验证,因为当我运行mix test 时,我不断收到Not Authorized。
我已经看到您需要向push_doc 函数添加登录突变,但我想知道。有没有办法只使用令牌进行身份验证,就像使用的常规突变一样:
conn =
build_conn()
|> put_req_header("authorization", @token)
|> get("/api", query: @query)
assert json_response(conn, 200) == %{
"data" => %{
"authors" => [%{"name" => "Jennifer"}]
}
}
这是我当前的订阅测试:
test "1. Subscribe to createAuthor", %{socket: socket} do
# setup a subscription
ref = push_doc(socket, @subscription)
assert_reply(ref, :ok, %{subscriptionId: subscription_id})
# run a mutation to trigger the subscription
ref = push_doc(socket, @mutation)
assert_reply(ref, :ok, reply)
assert %{
data: %{
"createAuthor" => %{
"name" => "Jennifer"
}
}
} = reply
# check to see if we got subscription data
expected = %{
result: %{
data: %{
"createAuthor" => %{
"name" => "Jennifer"
}
}
},
subscriptionId: subscription_id
}
assert_push("subscription:data", push)
assert expected == push
end
我的一般问题是。我只能将token(我已经硬编码)传递给一个函数来验证订阅吗?
【问题讨论】:
标签: graphql phoenix-framework elixir absinthe