def test_tokens_generated(self):
     self.assertEqual(generate_token(0), 'q70')
     self.assertEqual(generate_token(1), 'qr0')
     self.assertEqual(generate_token(10), 'qP0')
     self.assertEqual(generate_token(4000), '00x')
     self.assertEqual(generate_token(77), 'qYR')
     self.assertEqual(generate_token(65), 'qeR')
     self.assertEqual(generate_token(45), 'q6R')
Пример #2
0
    def shorten_url(self, long_url, user_token=None):
        if not user_token:
            user_token = DEFAULT_USER_TOKEN

        row = yield self.get_or_create_row(long_url, user_token)
        short_url = row['short_url']
        if not row['short_url']:
            short_url = generate_token(row['id'])
            yield self.update_short_url(row['id'], short_url)
            yield self.metrics.publish_created_url_metrics()
        returnValue(urljoin(self.config['host_domain'], short_url))
Пример #3
0
    def shorten_url(self, long_url, user_token=None):
        if not user_token:
            user_token = DEFAULT_USER_TOKEN

        row = yield self.get_or_create_row(long_url, user_token)
        short_url = row['short_url']
        if not row['short_url']:
            short_url = generate_token(row['id'])
            yield self.update_short_url(row['id'], short_url)
            yield self.metrics.publish_created_url_metrics()
        returnValue(urljoin(self.config['host_domain'], short_url))
 def test_custom_alphabet(self):
     alphabet = '0123456789'
     self.assertEqual(generate_token(45, alphabet), '5529')
     self.assertEqual(generate_token(7, alphabet), '5979')
     self.assertEqual(generate_token(4000, alphabet), '1999')
     self.assertEqual(generate_token(77, alphabet), '5779')