def test_url_hashing(self): # check first 10.000 values n = 10000 ids = range(n) seen_hashes = set() for i in ids: h = EventLink.encode_hash(i) r_i = EventLink.decode_hash(h) self.assertEqual(i, r_i) seen_hashes.add(h) # check for no collisions self.assertEqual(len(seen_hashes), n) # check some random custom url values vals = ['foobar', 'somecustomlink1'] for val in vals: i = EventLink.decode_hash(val) r_h = EventLink.encode_hash(i) self.assertEqual(val, r_h) # check some random invalid url values vals = ['foo bar', 'somecustom/link'] for val in vals: i = EventLink.decode_hash(val) self.assertEqual(i, None)