首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在单元测试中设置Flask-Principal身份?

如何在单元测试中设置Flask-Principal身份?
EN

Stack Overflow用户
提问于 2014-07-09 00:12:56
回答 1查看 686关注 0票数 1

我正在测试一个Flask应用程序,它使用Flask-Principal来实现基于角色的权限和细粒度的资源保护。我不确定如何在post请求中设置身份。我正在使用另一个Flask-Principal post中概述的测试策略。我对get请求使用查询字符串方法,在post请求中我将query_string更改为headers。get请求通过,但所有post请求都失败,权限被拒绝。

代码语言:javascript
运行
复制
def test_admin(self):
    r = self.client.get('/admin')
    self.assertEqual(r.status_code, 403)
    #
    r = self.client.get('/admin', query_string={'idname': "member"})
    self.assertEqual(r.status_code, 403)
    #
    r = self.client.get('/admin', query_string={'idname': "admin"})
    self.assertEqual(r.status_code, 200)
    self.assertEqual(r.data, "OK")

任何帮助或见解都将不胜感激。我认为我的部分问题是缺乏对身份如何设置以及在哪里设置的理解。

EN

回答 1

Stack Overflow用户

发布于 2014-07-22 00:11:32

事实证明,在涉及post请求的测试过程中,使用query_string正确设置了Flask-Principal标识。问题是请求中的follow_redirects被设置为True,并且身份没有被加载到重定向。我删除了重定向,并通过检查数据库来验证post请求是否正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24636739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档