强迫其危险的URLSafeTimedSerializer给出旧的signatu

2024-05-17 23:00:15 发布

您现在位置:Python中文网/ 问答频道 /正文

为了测试的缘故,我想用它的危险签署一些东西,但是要让它有两天的时间,这样它就会在测试中显示为过期。你有办法做到吗?在


Tags: 时间办法缘故
1条回答
网友
1楼 · 发布于 2024-05-17 23:00:15

不要试图欺骗itsdangerous进入特定的行为。改用mock,让它返回值或按照您需要的方式引发异常,以便您测试自己的代码。在

例如,使用带有过期值的^{} method,会导致引发^{} exception。使用^{} librarymock可以做同样的事情。在

我希望你的代码看起来像这样:

from itsdangerous import URLSafeTimedSerializer

def some_function(signed_value):
    result = URLSafeTimedSerializer(secret).loads(signed_value, max_age=3600)

您可以模拟出URLSafeTimedSerializer类,并使对.loads()方法的调用引发相同的异常。此外,您还可以断言测试代码传入了哪些参数:

^{pr2}$

相关问题 更多 >