【发布时间】:2015-12-22 14:53:30
【问题描述】:
我正在 IIS 上部署一个 Flask 应用程序并使用其 Windows 身份验证,如果身份验证成功,它将 request.environ['REMOTE_USER'] 设置为您的 Windows 用户名。现在在编写测试用例时,我如何伪造 request.environ['REMOTE_USER']?测试用例独立于 IIS 服务器运行。
我的尝试:
from flask import request
def test_insert_cash_flow_through_post(self):
"""Test that you can insert a cash flow through post."""
request.environ['REMOTE_USER'] = 'foo'
self.client.post("/index?account=main",
data=dict(settlement_date='01/01/2016',
transaction_type='Other',
certainty='Certain',
transaction_amount=1))
assert CashFlow.query.first().user == 'foo'
我的视图中处理“REMOTE_USER”的部分类似于:
cf = CashFlow(...,
user=request.environ.get('REMOTE_USER'),
...)
db.session.add(cf)
【问题讨论】:
-
我到处查看授权用户登录名的存储位置。我在 Flask 文档中没有看到它。很高兴在这里看到它。