我试图将身份验证添加到这个订阅测试中,因为我在运行Not Authorized时一直得到mix test。我已经看到您需要向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 (我已经硬编码了)传递到一个函数中来验证订阅吗?
发布于 2018-07-09 20:08:26
我设法按照以下方式进行了测试,使用put_req_header()进行了突变
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
conn =
post(
build_conn()
|> put_req_header("authorization", @token),
"/api",
query: @mutation
)
assert json_response(conn, 200) == %{
"data" => %{
"createAuthor" => %{
"name" => "Jennifer"
}
}
}
# 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发布于 2019-07-07 22:51:34
你可以用你的钥匙签名,在一百年内做一个到期的令牌。硬编码,这是好的永远只要你使用相同的SK。
你要在你的代币前加上“比勒”吗?
https://stackoverflow.com/questions/51196724
复制相似问题