def test_get_cookie_args(self): local.current_handler = handler = RequestHandler(self._get_app(), Request.from_values()) store = SessionStore(handler) self.assertEqual(store.get_cookie_args(), { 'max_age': None, 'domain': None, 'path': '/', 'secure': None, 'httponly': False, }) self.assertEqual(store.get_cookie_args(max_age=86400, domain='.foo.com'), { 'max_age': 86400, 'domain': '.foo.com', 'path': '/', 'secure': None, 'httponly': False, })
def test_set_cookie_encoded(self): local.current_handler = handler = RequestHandler(self._get_app(), Request.from_values()) store = SessionStore(handler) store.set_cookie('foo', 'bar', format='json') store.set_cookie('baz', 'ding', format='json') response = Response() store.save(response) headers = {'Cookie': '\n'.join(response.headers.getlist('Set-Cookie'))} request = Request.from_values('/', headers=headers) self.assertEqual(json_b64decode(request.cookies.get('foo')), 'bar') self.assertEqual(json_b64decode(request.cookies.get('baz')), 'ding')
def test_get_save_session(self): local.current_handler = handler = RequestHandler(self._get_app(), Request.from_values()) store = SessionStore(handler) session = store.get_session() self.assertEqual(isinstance(session, SecureCookieSession), True) self.assertEqual(session, {}) session['foo'] = 'bar' response = Response() store.save(response) request = Request.from_values('/', headers={'Cookie': '\n'.join(response.headers.getlist('Set-Cookie'))}) local.current_handler = handler = RequestHandler(self._get_app(), request) store = SessionStore(handler) session = store.get_session() self.assertEqual(isinstance(session, SecureCookieSession), True) self.assertEqual(session, {'foo': 'bar'})
def test_set_delete_cookie(self): local.current_handler = handler = RequestHandler(self._get_app(), Request.from_values()) store = SessionStore(handler) store.set_cookie('foo', 'bar') store.set_cookie('baz', 'ding') response = Response() store.save(response) headers = {'Cookie': '\n'.join(response.headers.getlist('Set-Cookie'))} request = Request.from_values('/', headers=headers) self.assertEqual(request.cookies.get('foo'), 'bar') self.assertEqual(request.cookies.get('baz'), 'ding') store.delete_cookie('foo') store.save(response) headers = {'Cookie': '\n'.join(response.headers.getlist('Set-Cookie'))} request = Request.from_values('/', headers=headers) self.assertEqual(request.cookies.get('foo', None), '') self.assertEqual(request.cookies['baz'], 'ding')
def test_secure_cookie_store_no_secret_key(self): local.current_handler = handler = RequestHandler(Tipfy(), Request.from_values()) store = SessionStore(handler) self.assertRaises(KeyError, getattr, store, 'secure_cookie_store')
def test_secure_cookie_store(self): local.current_handler = handler = RequestHandler(self._get_app(), Request.from_values()) store = SessionStore(handler) self.assertEqual(isinstance(store.secure_cookie_store, SecureCookieStore), True)