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 /brevisurl/tests | |
| parent | 2ea9d71329376b0648bf2866d1fd01ac54338195 (diff) | |
| download | django-brevisurl-7f830fcfc18ce890c08d664554904cdb7a40ec22.tar.bz2 | |
Added tests for length original url
Diffstat (limited to 'brevisurl/tests')
| -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() | 
