我正在测试一个 Flask 应用程序,该应用程序使用 Flask-Principal 来实现基于角色的权限以及精细的资源保护。我不确定如何处理在发布请求中设置身份。我正在使用其他Flask-Principal 帖子中概述的测试策略。我将查询字符串方法用于获取请求,并且在发布请求中我将 query_string 更改为标题。获取请求通过,但所有发布请求都失败,权限被拒绝。
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")
任何帮助或见解将不胜感激。我认为我的部分问题是对如何以及在何处设置身份缺乏了解。