summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2012-06-03 17:43:31 -0400
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2012-06-03 17:43:31 -0400
commitf2733573a87049e416bac727035c21013a9e80af (patch)
tree4d93388489fa1c34b7b1ba0af0a951f4cb266f98
parentbe9ce4b61578e7d99e4a458c495de6ce50574634 (diff)
downloadaskbot-f2733573a87049e416bac727035c21013a9e80af.tar.gz
askbot-f2733573a87049e416bac727035c21013a9e80af.tar.bz2
askbot-f2733573a87049e416bac727035c21013a9e80af.zip
hopefully fixed internal server error when google tries to load tag wiki text
-rw-r--r--askbot/tests/page_load_tests.py19
-rw-r--r--askbot/tests/utils.py12
-rw-r--r--askbot/views/commands.py3
3 files changed, 33 insertions, 1 deletions
diff --git a/askbot/tests/page_load_tests.py b/askbot/tests/page_load_tests.py
index ebfba0c3..e3e699a7 100644
--- a/askbot/tests/page_load_tests.py
+++ b/askbot/tests/page_load_tests.py
@@ -67,7 +67,9 @@ class PageLoadTestCase(AskbotTestCase):
def setUp(self):
self.old_cache = cache.cache
- cache.cache = DummyCache('', {}) # Disable caching (to not interfere with production cache, not sure if that's possible but let's not risk it)
+ #Disable caching (to not interfere with production cache,
+ #not sure if that's possible but let's not risk it)
+ cache.cache = DummyCache('', {})
def tearDown(self):
cache.cache = self.old_cache # Restore caching
@@ -610,3 +612,18 @@ class QuestionPageRedirectTests(AskbotTestCase):
#point to a non-existing comment
resp = self.client.get(url, data={'comment': 100301})
self.assertRedirects(resp, expected_url = self.q.get_absolute_url())
+
+class CommandViewTests(AskbotTestCase):
+ def test_get_tag_wiki_text_succeeds(self):
+ tag1 = self.create_tag('tag1')
+ response = self.client.get(
+ reverse('load_tag_wiki_text'),
+ data = {'tag_id': tag1.id}
+ )
+ self.assertEqual(response.status_code, 200)
+
+ def test_get_tag_wiki_text_fails(self):
+ tag1 = self.create_tag('tag1')
+ response = self.client.get(reverse('load_tag_wiki_text'))
+ self.assertEqual(response.status_code, 400)#bad request
+
diff --git a/askbot/tests/utils.py b/askbot/tests/utils.py
index fdeea371..d2cbaf73 100644
--- a/askbot/tests/utils.py
+++ b/askbot/tests/utils.py
@@ -170,6 +170,18 @@ class AskbotTestCase(TestCase):
timestamp = timestamp
)
+ def create_tag(self, tag_name, user = None):
+ """creates a user, b/c it is necessary"""
+ if user is None:
+ try:
+ user = models.User.objects.get(username = 'tag_creator')
+ except models.User.DoesNotExist:
+ user = self.create_user('tag_creator')
+
+ tag = models.Tag(created_by = user, name = tag_name)
+ tag.save()
+ return tag
+
def post_comment(
self,
user = None,
diff --git a/askbot/views/commands.py b/askbot/views/commands.py
index 6fd493cc..53c363ab 100644
--- a/askbot/views/commands.py
+++ b/askbot/views/commands.py
@@ -485,6 +485,9 @@ def get_tag_list(request):
@decorators.get_only
def load_tag_wiki_text(request):
"""returns text of the tag wiki in markdown format"""
+ if 'tag_id' not in request.GET:
+ return HttpResponse('', status = 400)#bad request
+
tag = get_object_or_404(models.Tag, id = request.GET['tag_id'])
tag_wiki_text = getattr(tag.tag_wiki, 'text', '').strip()
return HttpResponse(tag_wiki_text, mimetype = 'text/plain')