def test_secure_dumps_and_loads(self): """ Tests secure_dumps and secure_loads""" testobj = {"a": 1, "b": 2} testkey = "mysecret" secured = secure_dumps(testobj, testkey) original = secure_loads(secured, testkey) self.assertEqual(testobj, original) self.assertTrue(isinstance(secured, basestring)) self.assertTrue(":" in secured) large_testobj = [x for x in range(1000)] secured_comp = secure_dumps(large_testobj, testkey, compression_level=9) original_comp = secure_loads(secured_comp, testkey, compression_level=9) self.assertEqual(large_testobj, original_comp) secured = secure_dumps(large_testobj, testkey) self.assertTrue(len(secured_comp) < len(secured)) testhash = "myhash" secured = secure_dumps(testobj, testkey, testhash) original = secure_loads(secured, testkey, testhash) self.assertEqual(testobj, original) wrong1 = secure_loads(secured, testkey, "wronghash") self.assertEqual(wrong1, None) wrong2 = secure_loads(secured, "wrongkey", testhash) self.assertEqual(wrong2, None) wrong3 = secure_loads(secured, "wrongkey", "wronghash") self.assertEqual(wrong3, None) wrong4 = secure_loads("abc", "a", "b") self.assertEqual(wrong4, None)
def test_secure_dumps_and_loads(self): """ Tests secure_dumps and secure_loads""" testobj = {'a': 1, 'b': 2} testkey = 'mysecret' secured = secure_dumps(testobj, testkey) original = secure_loads(secured, testkey) self.assertEqual(testobj, original) self.assertTrue(isinstance(secured, basestring)) self.assertTrue(':' in secured) large_testobj = [x for x in range(1000)] secured_comp = secure_dumps(large_testobj, testkey, compression_level=9) original_comp = secure_loads(secured_comp, testkey, compression_level=9) self.assertEqual(large_testobj, original_comp) secured = secure_dumps(large_testobj, testkey) self.assertTrue(len(secured_comp) < len(secured)) testhash = 'myhash' secured = secure_dumps(testobj, testkey, testhash) original = secure_loads(secured, testkey, testhash) self.assertEqual(testobj, original) wrong1 = secure_loads(secured, testkey, 'wronghash') self.assertEqual(wrong1, None) wrong2 = secure_loads(secured, 'wrongkey', testhash) self.assertEqual(wrong2, None) wrong3 = secure_loads(secured, 'wrongkey', 'wronghash') self.assertEqual(wrong3, None) wrong4 = secure_loads('abc', 'a', 'b') self.assertEqual(wrong4, None)
def _try_store_in_cookie(self, request, response): if response.session_storage_type!='cookie': return False name = response.session_data_name value = secure_dumps(dict(self),response.session_cookie_key, compression_level=response.session_cookie_compression_level) expires = response.session_cookie_expires rcookies = response.cookies rcookies.pop(name,None) rcookies[name] = value rcookies[name]['path'] = '/' if expires: rcookies[name]['expires'] = expires.strftime(FMT) return True
def _try_store_in_cookie(self, request, response): if response.session_storage_type != 'cookie': return False name = response.session_data_name value = secure_dumps(dict(self), response.session_cookie_key, compression_level=response.session_cookie_compression_level) expires = response.session_cookie_expires rcookies = response.cookies rcookies.pop(name, None) rcookies[name] = value rcookies[name]['path'] = '/' if expires: rcookies[name]['expires'] = expires.strftime(FMT) return True
def _try_store_in_cookie(self, request, response): if self._forget or self._unchanged(): return False name = response.session_data_name compression_level = response.session_cookie_compression_level value = secure_dumps(dict(self), response.session_cookie_key, compression_level=compression_level) expires = response.session_cookie_expires rcookies = response.cookies rcookies.pop(name, None) rcookies[name] = value rcookies[name]['path'] = '/' if expires: rcookies[name]['expires'] = expires.strftime(FMT) return True