Pic*_*els 4 python google-app-engine
从webtest文档中我了解到:
模拟身份验证的最佳方法是,如果您的应用程序在environ ['REMOTE_USER']中查看是否有人通过身份验证.然后你可以简单地设置该值,如:
app.get('/secret', extra_environ=dict(REMOTE_USER='bob'))
Run Code Online (Sandbox Code Playgroud)
我试图在Google App引擎环境中做同样的事情.我想模拟登录用户和管理员用户.
如果可能,我必须在extra_environ中设置哪些字典值来完成此操作?
设置用户:
os.environ['USER_EMAIL'] = 'info@example.com'
Run Code Online (Sandbox Code Playgroud)
设置管理员:
os.environ['USER_IS_ADMIN'] = '1'
Run Code Online (Sandbox Code Playgroud)
这就是我整个测试的样子.我的例子使用webtest,nose,nosegae和gaetestbed.
class TestingRoutes(WebTestCase, unittest.TestCase):
APPLICATION = application()
def tearDown(self):
os.environ['USER_EMAIL'] = ''
os.environ['USER_IS_ADMIN'] = ''
#AdminIndex .....
def test_adminindex_no_user(self):
#No user: redirect to login form
response = app.get( url_map['adminindex'] )
self.assertRedirects(response)
def test_adminindex_user(self):
os.environ['USER_EMAIL'] = 'info@example.com'
response = app.get( url_map['adminindex'] )
self.assertForbidden(response)
def test_adminindex_admin(self):
os.environ['USER_EMAIL'] = 'info@example.com'
os.environ['USER_IS_ADMIN'] = '1'
response = app.get( url_map['adminindex'] )
self.assertOK(response)
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
706 次 |
| 最近记录: |