How to use a test tornado server handler that authenticates a user via a secure cookie

后端 未结 3 2002
孤街浪徒
孤街浪徒 2021-02-04 15:40

How can I write a unit test for a tornado handler that authenticates a user via a secure cookie? Here is the code (and sudo code) for a dummy test that I\'d like to make pass. I

3条回答
  •  耶瑟儿~
    2021-02-04 16:33

    It seems you may try to use a create_signed_value function from tornado.web module:

    from tornado.web import create_signed_value
    
    class UserAPITest(AsyncHTTPTestCase):
    
        def get_app(self):
             self.app = Application([('/', MainHandler)],
                                    cookie_secret='asdfasdf')
             return self.app
    
        def test_user_profile_annoymous(self):
            cookie_name, cookie_value = 'Cookie', 'value'
            secure_cookie = create_signed_value(
                self.app.settings["cookie_secret"],
                cookie_name,
                cookie_value)
            headers = {'Cookie': '='.join((cookie_name, secure_cookie))}
    
            response = self.fetch('/', method='GET', headers=headers)
            self.assertEqual('success', response.body)
    

提交回复
热议问题