【问题标题】:Django get_signed_cookie on manually signed cookieDjango get_signed_cookie 关于手动签名的 cookie
【发布时间】:2015-03-01 19:32:15
【问题描述】:

我在我的一个观点中使用get_signed_cookie,它有效。问题在于测试它,我在测试中使用 Django 的 django.core.signing 模块手动签署我的 cookie,其盐与我的实际代码相同(我正在使用我的 settings 中的盐)。

当我进行非自动化测试时,一切都很好。我将测试中设置的 cookie 与 Django 本身设置的 cookie 进行了比较,它们的结构相同:

在我的测试中(我在我的测试中手动签署了字符串“test_cookie_value”):

{'my_cookie': 'test_cookie_value:s5SA5skGmc4As-Weyia6Tlwq_V8'}

姜戈:

{'my_cookie': 'zTmwe4ATUEtEEAVs:1YRl0a:Lg3KHfpL93HoUijkZlNphZNURu4'}

但是当我的视图尝试get_signed_cookie("my_cookie", False, salt="my_salt") 时,False 被返回。

我认为这很奇怪,当我试图服从测试山羊(这里是第一次 TDD'er)时,我很想跳过测试这个..

我希望有人能给我一些指导,我现在一直无视背景中的山羊噪音。

【问题讨论】:

    标签: python django cookies django-rest-framework django-testing


    【解决方案1】:

    我找到了我的解决方案。其实很简单。

    我尝试在我的测试请求中设置我的 cookie,这是有道理的,因为 cookie 应该在请求中发送。一个更好的测试方法是首先 GET 一个资源(它设置 te cookie,这也会发生在正常的 web 情况下),然后是 POST 和设置的 cookie。这工作得很好。

    【讨论】:

    • 测试山羊希望看到构成解决方案的实际代码 :)
    猜你喜欢
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    • 1970-01-01
    相关资源
    最近更新 更多