aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/tests/test_submission.py
diff options
context:
space:
mode:
authorChristopher Allan Webber <cwebber@dustycloud.org>2011-07-30 13:37:33 -0500
committerChristopher Allan Webber <cwebber@dustycloud.org>2011-07-30 13:37:33 -0500
commitae31c364395bba22e54c1f91f1a680260dee5aa0 (patch)
tree7c657c0a48755bd0d0bf49216c4793a656d31777 /mediagoblin/tests/test_submission.py
parent3cdf366acfb577e735abc7fee6c8395fa97c8b48 (diff)
parent8ff4dec742d0b9f375afd9d1862a560e1be200d1 (diff)
downloadmediagoblin-ae31c364395bba22e54c1f91f1a680260dee5aa0.tar.lz
mediagoblin-ae31c364395bba22e54c1f91f1a680260dee5aa0.tar.xz
mediagoblin-ae31c364395bba22e54c1f91f1a680260dee5aa0.zip
Merge remote branch 'remotes/gullydwarf-cfdv/f360_tagging' into mergetags
Conflicts: mediagoblin/tests/test_submission.py
Diffstat (limited to 'mediagoblin/tests/test_submission.py')
-rw-r--r--mediagoblin/tests/test_submission.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/mediagoblin/tests/test_submission.py b/mediagoblin/tests/test_submission.py
index 22b6117c..a7248255 100644
--- a/mediagoblin/tests/test_submission.py
+++ b/mediagoblin/tests/test_submission.py
@@ -35,6 +35,9 @@ EVIL_JPG = pkg_resources.resource_filename(
EVIL_PNG = pkg_resources.resource_filename(
'mediagoblin.tests', 'test_submission/evil.png')
+GOOD_TAG_STRING = 'yin,yang'
+BAD_TAG_STRING = 'rage,' + 'f' * 26 + 'u' * 26
+
class TestSubmission:
def setUp(self):
@@ -110,6 +113,42 @@ class TestSubmission:
assert util.TEMPLATE_TEST_CONTEXT.has_key(
'mediagoblin/user_pages/user.html')
+ def test_tags(self):
+ # Good tag string
+ # --------
+ util.clear_test_template_context()
+ response = self.test_app.post(
+ '/submit/', {
+ 'title': 'Balanced Goblin',
+ 'tags': GOOD_TAG_STRING
+ }, upload_files=[(
+ 'file', GOOD_JPG)])
+
+ # New media entry with correct tags should be created
+ response.follow()
+ context = util.TEMPLATE_TEST_CONTEXT['mediagoblin/user_pages/user.html']
+ request = context['request']
+ media = request.db.MediaEntry.find({'title': 'Balanced Goblin'})[0]
+ assert_equal(media['tags'],
+ [{'name': u'yin', 'slug': u'yin'},
+ {'name': u'yang', 'slug': u'yang'}])
+
+ # Test tags that are too long
+ # ---------------
+ util.clear_test_template_context()
+ response = self.test_app.post(
+ '/submit/', {
+ 'title': 'Balanced Goblin',
+ 'tags': BAD_TAG_STRING
+ }, upload_files=[(
+ 'file', GOOD_JPG)])
+
+ # Too long error should be raised
+ context = util.TEMPLATE_TEST_CONTEXT['mediagoblin/submit/start.html']
+ form = context['submit_form']
+ assert form.tags.errors == [
+ u'Tags must be shorter than 50 characters. Tags that are too long'\
+ ': ffffffffffffffffffffffffffuuuuuuuuuuuuuuuuuuuuuuuuuu']
def test_malicious_uploads(self):
# Test non-suppoerted file with non-supported extension