以下简化代码在我的 Flask 应用程序中定义。
def select_url_for():
if request.is_secure:
return 's3'
return 'local'
我尝试过这样的测试,它适用于 HTTP。
def test_select_url_for(self):
with self.app.test_request_context():
self.assertTrue(select_url_for() == 'local')
如何使用 Flask 对 HTTPS 执行类似的测试?
我找到了这个,但这个问题没有答案。我需要在 HTTPS 测试模式下运行 Flask。
request.is_secure
检查wsgi.url_scheme
环境变量。通过使用https
makerequest.is_secure
返回覆盖它True
:
def test_select_url_for(self):
with self.app.test_request_context(environ_overrides={
'wsgi.url_scheme': 'https'
}):
self.assertEqual(select_url_for(), 'local')
顺便说一句,assertTrue(a == b)
使用assertEqual(a, b)
它代替,为您提供更具可读性的断言失败消息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句