Search code examples
testingcookiesflasknosetestswerkzeug

How do I send cookies with request when testing Flask applications through nosetests?


I'm having some trouble sending a cookie with my test request. I've tried something like this:

# First request to log in, retrieve cookie from response
response = self.app_client.post('/users/login', query_string={ data.. )
cookie = response.headers['Set-Cookie'] # Contains: user_hash=3f305370487731289a7f9bd8d379a1c2; Domain=.flowdev.com; Path=/

# Second request that requires the cookie
response = self.app_client.get('/users/', headers={'Set-Cookie': cookie})
# Here i print out request.cookies.get('user_hash') inside the app, which contains None

I suppose it's not this simple, but I don't know how to build the cookie in the correct way here. How should the second request be created so it sends along the cookie in the header?

Thanks!


Solution

  • You can also use self.app_client.set_cookie(domain, cookie_name, cookie_value) before making the request.