diff options
| author | Marc-Olivier Titeux | 2013-10-17 10:24:04 +0200 |
|---|---|---|
| committer | Marc-Olivier Titeux | 2013-10-17 10:24:04 +0200 |
| commit | 7f830fcfc18ce890c08d664554904cdb7a40ec22 (patch) | |
| tree | b9de6ba51bbbd268faba573621b378d50495a1eb | |
| parent | 2ea9d71329376b0648bf2866d1fd01ac54338195 (diff) | |
| download | django-brevisurl-7f830fcfc18ce890c08d664554904cdb7a40ec22.tar.bz2 | |
Added tests for length original url
| -rw-r--r-- | brevisurl/tests/test_models.py | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/brevisurl/tests/test_models.py b/brevisurl/tests/test_models.py index 9a843f1..890ab36 100644 --- a/brevisurl/tests/test_models.py +++ b/brevisurl/tests/test_models.py @@ -1,3 +1,5 @@ +from random import sample + from django.core.exceptions import ValidationError from django.test import TestCase from django.contrib.sites.models import Site @@ -6,6 +8,10 @@ import brevisurl.settings from brevisurl.models import ShortUrl from brevisurl import get_connection +def _random_string(k): + """Generate a string of length k ascii letters randomly""" + return ''.join(random.choice(string.ascii_letters) for x in xrange(k)) + class TestModels(TestCase): @@ -25,12 +31,25 @@ class TestModels(TestCase): self.site = Site.objects.get_current() self.connection = get_connection('brevisurl.backends.local.BrevisUrlBackend') self.short_url = ShortUrl() - self.short_url.original_url = 'www.codescale.' + self.short_url.original_url = 'www.codescale{0}.' self.short_url.shortened_url = '{0}://{1}/12345'.format(brevisurl.settings.LOCAL_BACKEND_DOMAIN_PROTOCOL, self.site.domain) self.short_url.backend = self.connection.class_path self.short_url.save() + def test_model_save_too_long_original_url(self): + with self.assertRaises(ValidationError): + self.site = Site.objects.get_current() + self.connection = get_connection('brevisurl.backends.local.BrevisUrlBackend') + self.short_url = ShortUrl() + self.short_url.original_url = 'www.codescale{0}.com'.format(_random_string( + brevisurl.settings.LOCAL_BACKEND_ORIGINAL_URL_MAX_LENGTH + 1)) + self.short_url.shortened_url = '{0}://{1}/12345'.format(brevisurl.settings.LOCAL_BACKEND_DOMAIN_PROTOCOL, + self.site.domain) + self.short_url.backend = self.connection.class_path + self.short_url.save() + + def test_model_save_invalid_shortened_url(self): with self.assertRaises(ValidationError): connection = get_connection('brevisurl.backends.local.BrevisUrlBackend') @@ -38,4 +57,4 @@ class TestModels(TestCase): short_url.original_url = 'http://www.codescale.net/' short_url.shortened_url = 'www.codescale.' short_url.backend = connection.class_path - short_url.save()
\ No newline at end of file + short_url.save() |
