Beispiel #1
0
    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)