def checkSessionToken(request): """ 验证sessionToken """ session_key = request.COOKIES.get('sid', None) session = SessionStore(session_key) session_data = session.load() if session_data.get('stoken', None): session.delete() else: raise InvestError(3008)
class SessionTestCase(TestCase): def setUp(self): self.session = SessionStore() def tearDown(self): self.session.delete() def test_set_and_get(self): self.session['spam'] = 'egg' self.assertEqual(self.session.get('spam'), 'egg') def test_set_and_pop(self): self.session['spam'] = 'egg' self.assertEqual(self.session.pop('spam'), 'egg') self.assertIsNone(self.session.get('spam')) def test_pop_no_default_keyerror_raised(self): with self.assertRaises(KeyError): self.session.pop('spam') def test_update(self): self.session.update({'update key': 1}) self.assertEqual(self.session.get('update key', None), 1) def test_has_key(self): self.session['spam'] = 'egg' self.assertIn('spam', self.session) def test_values(self): self.assertEqual(list(self.session.values()), []) self.session['spam'] = 'egg' self.assertEqual(list(self.session.values()), ['egg']) def test_keys(self): self.assertEqual(list(self.session.values()), []) self.session['spam'] = 'egg' self.assertEqual(list(self.session.keys()), ['spam']) def test_items(self): self.session['spam'] = 'egg' self.assertEqual(list(self.session.items()), [('spam', 'egg')]) def test_clear(self): self.session['spam'] = 'egg' self.session.clear() self.assertEqual(list(self.session.items()), []) def test_save(self): self.session.save() self.assertIs(self.session.exists(self.session.session_key), True) def test_delete(self): self.session.save() self.session.delete(self.session.session_key) self.assertIs(self.session.exists(self.session.session_key), False) def test_flush(self): self.session['spam'] = 'egg' self.session.save() prev_key = self.session.session_key self.session.flush() self.assertNotEqual(self.session.session_key, prev_key) self.assertIsNone(self.session.session_key)