diff options
Diffstat (limited to 'brevisurl/tests')
| -rw-r--r-- | brevisurl/tests/__init__.py | 3 | ||||
| -rw-r--r-- | brevisurl/tests/backends/__init__.py | 1 | ||||
| -rw-r--r-- | brevisurl/tests/backends/test_local.py | 13 | ||||
| -rw-r--r-- | brevisurl/tests/templatetags/test_brevisurltags.py | 15 | ||||
| -rw-r--r-- | brevisurl/tests/test_context_processors.py | 33 |
5 files changed, 61 insertions, 4 deletions
diff --git a/brevisurl/tests/__init__.py b/brevisurl/tests/__init__.py index 729e40a..f474ac0 100644 --- a/brevisurl/tests/__init__.py +++ b/brevisurl/tests/__init__.py @@ -3,4 +3,5 @@ from brevisurl.tests.test_utils import * from brevisurl.tests.test_views import * from brevisurl.tests.test_models import * from brevisurl.tests.backends.test_local import * -from brevisurl.tests.templatetags.test_brevisurltags import *
\ No newline at end of file +from brevisurl.tests.templatetags.test_brevisurltags import * +from brevisurl.tests.test_context_processors import *
\ No newline at end of file diff --git a/brevisurl/tests/backends/__init__.py b/brevisurl/tests/backends/__init__.py index 7a8337f..e69de29 100644 --- a/brevisurl/tests/backends/__init__.py +++ b/brevisurl/tests/backends/__init__.py @@ -1 +0,0 @@ -__author__ = 'char0n' diff --git a/brevisurl/tests/backends/test_local.py b/brevisurl/tests/backends/test_local.py index 8939314..86565d2 100644 --- a/brevisurl/tests/backends/test_local.py +++ b/brevisurl/tests/backends/test_local.py @@ -2,6 +2,7 @@ from django.core.exceptions import ValidationError from django.test import TestCase from django.core.validators import URLValidator +import brevisurl.settings from brevisurl import get_connection from brevisurl.models import ShortUrl @@ -11,7 +12,8 @@ class TestLocalBrevisUrlBackend(TestCase): def setUp(self): self.connection = get_connection('brevisurl.backends.local.BrevisUrlBackend') - def test_shorten_url(self): + def test_shorten_url_use_site_framework(self): + brevisurl.settings.LOCAL_BACKEND_DOMAIN = None self.assertEqual(ShortUrl.objects.all().count(), 0) original_url = 'http://www.codescale.net/' short_url = self.connection.shorten_url(original_url) @@ -19,6 +21,15 @@ class TestLocalBrevisUrlBackend(TestCase): self.assertEqual(short_url.original_url, original_url) self.assertRegexpMatches(short_url.shortened_url, URLValidator.regex) + def test_shorten_url_domain_from_settings(self): + self.assertEqual(ShortUrl.objects.all().count(), 0) + brevisurl.settings.LOCAL_BACKEND_DOMAIN = 'http://brevisurl.net/' + original_url = 'http://www.codescale.net/' + 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'^http://brevisurl\.net/[a-zA-Z0-9]{5}$') + def test_shorten_url_reuse_old(self): original_url = 'http://www.codescale.net/' self.assertEqual(ShortUrl.objects.all().count(), 0) diff --git a/brevisurl/tests/templatetags/test_brevisurltags.py b/brevisurl/tests/templatetags/test_brevisurltags.py index 38ccfcc..b4c7c56 100644 --- a/brevisurl/tests/templatetags/test_brevisurltags.py +++ b/brevisurl/tests/templatetags/test_brevisurltags.py @@ -2,6 +2,7 @@ from django.core.validators import URLValidator from django.test import TestCase from django.template import Template, Context +import brevisurl.settings from brevisurl.models import ShortUrl @@ -33,4 +34,16 @@ class TestShortenUrlTag(TestCase): {{ brevis_url|shorten_url }} """).render(Context()).strip() self.assertEqual(ShortUrl.objects.all().count(), 1) - self.assertRegexpMatches(url, URLValidator.regex)
\ No newline at end of file + self.assertRegexpMatches(url, URLValidator.regex) + + + def test_absurl_tag_domain_from_settings(self): + brevisurl.settings.LOCAL_BACKEND_DOMAIN = 'http://brevisurl.net/' + url = Template(""" + {% load brevisurltags %} + {% absurl brevisurl_redirect token='12345' as brevis_url %} + {{ brevis_url|shorten_url }} + """).render(Context()).strip() + self.assertEqual(ShortUrl.objects.all().count(), 1) + self.assertRegexpMatches(url, URLValidator.regex) + self.assertRegexpMatches(url, r'^http://brevisurl\.net/[a-zA-Z0-9]{5}$')
\ No newline at end of file diff --git a/brevisurl/tests/test_context_processors.py b/brevisurl/tests/test_context_processors.py new file mode 100644 index 0000000..e29b478 --- /dev/null +++ b/brevisurl/tests/test_context_processors.py @@ -0,0 +1,33 @@ +from django.utils import unittest + +import brevisurl.settings +from brevisurl import context_processors + + +class TestContextProcessors(unittest.TestCase): + + def test_context_processor_defaults(self): + _DEFAULT_BACKEND = brevisurl.settings.DEFAULT_BACKEND + _LOCAL_BACKEND_DOMAIN = brevisurl.settings.LOCAL_BACKEND_DOMAIN + brevisurl.settings.DEFAULT_BACKEND = 'brevisurl.backends.local.BrevisUrlBackend' + brevisurl.settings.LOCAL_BACKEND_DOMAIN = None + result = context_processors.brevisurl_data(None) + self.assertIn('BREVIS_BACKEND', result) + self.assertIn('BREVIS_BACKEND_LOCAL_DOMAIN', result) + self.assertEqual(result['BREVIS_BACKEND'], 'brevisurl.backends.local.BrevisUrlBackend') + self.assertIsNone(result['BREVIS_BACKEND_LOCAL_DOMAIN']) + brevisurl.settings.DEFAULT_BACKEND = _DEFAULT_BACKEND + brevisurl.settings.LOCAL_BACKEND_DOMAIN = _LOCAL_BACKEND_DOMAIN + + def test_context_processor_custom(self): + _DEFAULT_BACKEND = brevisurl.settings.DEFAULT_BACKEND + _LOCAL_BACKEND_DOMAIN = brevisurl.settings.LOCAL_BACKEND_DOMAIN + brevisurl.settings.DEFAULT_BACKEND = 'brevisurl.backends.base.BaseBrevisUrlBackend' + brevisurl.settings.LOCAL_BACKEND_DOMAIN = 'http://brevisurl.net/' + result = context_processors.brevisurl_data(None) + self.assertIn('BREVIS_BACKEND', result) + self.assertIn('BREVIS_BACKEND_LOCAL_DOMAIN', result) + self.assertEqual(result['BREVIS_BACKEND'], 'brevisurl.backends.base.BaseBrevisUrlBackend') + self.assertEqual(result['BREVIS_BACKEND_LOCAL_DOMAIN'], 'http://brevisurl.net/') + brevisurl.settings.DEFAULT_BACKEND = _DEFAULT_BACKEND + brevisurl.settings.LOCAL_BACKEND_DOMAIN = _LOCAL_BACKEND_DOMAIN
\ No newline at end of file |
