aboutsummaryrefslogtreecommitdiffstats
path: root/brevisurl/tests
diff options
context:
space:
mode:
authorVladimir Gorej2012-05-29 13:17:17 +0200
committerVladimir Gorej2012-05-29 13:17:17 +0200
commita7b33172e3792644a132d9631915837e1ce9904a (patch)
tree560eacd8e721f12579fb8e965d729cf668f3a53e /brevisurl/tests
parent448cbbc89406935a44e7c57b1a2e773b17f7f8b5 (diff)
downloaddjango-brevisurl-a7b33172e3792644a132d9631915837e1ce9904a.tar.bz2
Added support for bypasing django site framework0.9.1
Diffstat (limited to 'brevisurl/tests')
-rw-r--r--brevisurl/tests/__init__.py3
-rw-r--r--brevisurl/tests/backends/__init__.py1
-rw-r--r--brevisurl/tests/backends/test_local.py13
-rw-r--r--brevisurl/tests/templatetags/test_brevisurltags.py15
-rw-r--r--brevisurl/tests/test_context_processors.py33
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