Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Google应用程序引擎:Webtest模拟登录用户和管理员_Python_Google App Engine - Fatal编程技术网

Python Google应用程序引擎:Webtest模拟登录用户和管理员

Python Google应用程序引擎:Webtest模拟登录用户和管理员,python,google-app-engine,Python,Google App Engine,从webtest文档中,我了解到: 模拟的最佳方式 身份验证是指如果您的应用程序 在环境['REMOTE_USER']中查找以查看 如果某人被认证。那你呢 可以简单地设置该值,如: 我正试图做同样的事情,但在谷歌应用程序引擎环境。我想模拟一个登录用户和一个管理员用户 如果可能,我必须在额外环境中设置哪些字典值才能完成此操作?设置用户: os.environ['USER_EMAIL'] = 'info@example.com' os.environ['USER_IS_ADMIN'] = '1'

从webtest文档中,我了解到:

模拟的最佳方式 身份验证是指如果您的应用程序 在环境['REMOTE_USER']中查找以查看 如果某人被认证。那你呢 可以简单地设置该值,如:

我正试图做同样的事情,但在谷歌应用程序引擎环境。我想模拟一个登录用户和一个管理员用户


如果可能,我必须在额外环境中设置哪些字典值才能完成此操作?

设置用户:

os.environ['USER_EMAIL'] = 'info@example.com'
os.environ['USER_IS_ADMIN'] = '1'
设置管理员:

os.environ['USER_EMAIL'] = 'info@example.com'
os.environ['USER_IS_ADMIN'] = '1'
这就是我整个测试的样子。我的示例使用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)

希望有帮助。

这对我不起作用。虽然我将os.environ['USER\u EMAIL']='info@example.com'. 可能是我的错误,但如何调试并不明显。