gpt4 book ai didi

elixir - 无法在插件测试中设置 cookie

转载 作者:行者123 更新时间:2023-12-04 13:22:46 28 4
gpt4 key购买 nike

我有一个插件负责从请求中获取一个 cookie,它是一个 token 并验证它。

我目前在设置测试以在 conn 中传递 cookie 时遇到问题。

  setup do
token = "some string"
conn =
conn(:get, "/")
|> put_req_cookie("session_token", token)

%{conn: MyPlug.call(conn, [])}
end

test "user passes through when token is valid", %{conn: conn} do
require IEx; IEx.pry

assert conn.status == 200
end

在我的调试器中,如果我检查 conn.cookies我得到 %Plug.Conn.Unfetched{aspect: :cookies}

有什么我想念的吗?

最佳答案

put_req_cookie 仅将 cookie header 添加到 conn 结构。之后您需要调用 Plug.Conn.fetch_cookies 来解析 cookie header 并将它们加载到 cookies 映射中。以下代码应该有效:

conn =
conn(:get, "/")
|> put_req_cookie("session_token", token)
|> fetch_cookies()

关于elixir - 无法在插件测试中设置 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47643661/

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