diff options
| author | Vladimir Gorej | 2012-06-20 19:13:59 +0200 |
|---|---|---|
| committer | Vladimir Gorej | 2012-06-20 19:13:59 +0200 |
| commit | 70f64df91904fb4e9ead44c45028b73a14e8030d (patch) | |
| tree | f06e7c2eae366cf5c9e04051a68355f496ca3feb /brevisurl/tests/backends/test_local.py | |
| parent | 40e23932731599d5cfe02ee41a240306221d26f0 (diff) | |
| download | django-brevisurl-70f64df91904fb4e9ead44c45028b73a14e8030d.tar.bz2 | |
Issue #7; configurable token characters
Diffstat (limited to 'brevisurl/tests/backends/test_local.py')
| -rw-r--r-- | brevisurl/tests/backends/test_local.py | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/brevisurl/tests/backends/test_local.py b/brevisurl/tests/backends/test_local.py index 86565d2..39ab8c1 100644 --- a/brevisurl/tests/backends/test_local.py +++ b/brevisurl/tests/backends/test_local.py @@ -5,6 +5,7 @@ from django.core.validators import URLValidator import brevisurl.settings from brevisurl import get_connection from brevisurl.models import ShortUrl +from brevisurl.backends.local import TokensExhaustedError class TestLocalBrevisUrlBackend(TestCase): @@ -63,4 +64,27 @@ class TestLocalBrevisUrlBackend(TestCase): def test_shorten_url_invalid_original_url_fail_silently(self): self.connection.fail_silently = True shorl_url = self.connection.shorten_url('www.codescale.') - self.assertIsNone(shorl_url)
\ No newline at end of file + self.assertIsNone(shorl_url) + + def test_configurable_token_chars(self): + original_url = 'http://www.codescale.net/' + _default_chars = brevisurl.settings.LOCAL_BACKEND_TOKEN_CHARS + brevisurl.settings.LOCAL_BACKEND_TOKEN_CHARS = ['a'] + self.assertEqual(ShortUrl.objects.all().count(), 0) + short_url = self.connection.shorten_url(original_url) + self.assertEqual(ShortUrl.objects.all().count(), 1) + self.assertEqual(short_url.original_url, original_url) + self.assertRegexpMatches(short_url.shortened_url, r'/aaaaa$') + brevisurl.settings.LOCAL_BACKEND_TOKEN_CHARS = _default_chars + + def test_exhausted_tokens(self): + original_url = 'http://www.codescale.net/' + _default_chars = brevisurl.settings.LOCAL_BACKEND_TOKEN_CHARS + brevisurl.settings.LOCAL_BACKEND_TOKEN_CHARS = ['a'] + self.assertEqual(ShortUrl.objects.all().count(), 0) + short_url = self.connection.shorten_url(original_url) + self.assertEqual(ShortUrl.objects.all().count(), 1) + with self.assertRaises(TokensExhaustedError): + original_url = 'http://www.codescale.net/another/' + short_url = self.connection.shorten_url(original_url) + brevisurl.settings.LOCAL_BACKEND_TOKEN_CHARS = _default_chars
\ No newline at end of file |
