def test_base64_encode_decode(self): # Encode a bunch of strings of different lengths to test all # possible paddings (to see how padding stripping works). msg = 'somewhat long message with binary \x00\x01\x02\x03 inside' for i in xrange(len(msg)): self.assertEqual( msg[:i], tokens.base64_decode(tokens.base64_encode(msg[:i])))
def test_base64_decode_types(self): with self.assertRaises(TypeError): tokens.base64_decode(None) with self.assertRaises(TypeError): tokens.base64_decode(u'unicode')
def test_base64_encode_is_url_safe(self): for a in xrange(255): original = chr(a) encoded = tokens.base64_encode(original) self.assertEqual(original, tokens.base64_decode(encoded)) self.assertTrue(URL_SAFE_ALPHABET.issuperset(encoded), encoded)