Some tests for media_data, yeah!
One in the submissions, that posts a jpg with gps data. One in the modelmethods to test some behaviours. The later test fails. Fixes coming up.
This commit is contained in:
parent
cf41e7d744
commit
d728c636b9
@ -17,7 +17,9 @@
|
||||
# Maybe not every model needs a test, but some models have special
|
||||
# methods, and so it makes sense to test them here.
|
||||
|
||||
from nose.tools import assert_equal
|
||||
|
||||
from mediagoblin.db.base import Session
|
||||
from mediagoblin.db.models import MediaEntry
|
||||
|
||||
from mediagoblin.tests.tools import get_app, \
|
||||
@ -128,3 +130,18 @@ class TestMediaEntrySlugs(object):
|
||||
u"@!#?@!", save=False)
|
||||
qbert_entry.generate_slug()
|
||||
assert qbert_entry.slug is None
|
||||
|
||||
|
||||
def test_media_data_init():
|
||||
Session.rollback()
|
||||
Session.remove()
|
||||
media = MediaEntry()
|
||||
media.media_type = u"mediagoblin.media_types.image"
|
||||
assert media.media_data is None
|
||||
media.media_data_init()
|
||||
assert media.media_data is not None
|
||||
obj_in_session = 0
|
||||
for obj in Session():
|
||||
obj_in_session += 1
|
||||
print repr(obj)
|
||||
assert_equal(obj_in_session, 0)
|
||||
|
@ -27,6 +27,7 @@ from pkg_resources import resource_filename
|
||||
from mediagoblin.tests.tools import get_app, \
|
||||
fixture_add_user
|
||||
from mediagoblin import mg_globals
|
||||
from mediagoblin.db.models import MediaEntry
|
||||
from mediagoblin.tools import template
|
||||
from mediagoblin.media_types.image import MEDIA_MANAGER as img_MEDIA_MANAGER
|
||||
|
||||
@ -40,6 +41,7 @@ EVIL_FILE = resource('evil')
|
||||
EVIL_JPG = resource('evil.jpg')
|
||||
EVIL_PNG = resource('evil.png')
|
||||
BIG_BLUE = resource('bigblue.png')
|
||||
from .test_exif import GPS_JPG
|
||||
|
||||
GOOD_TAG_STRING = u'yin,yang'
|
||||
BAD_TAG_STRING = unicode('rage,' + 'f' * 26 + 'u' * 26)
|
||||
@ -122,7 +124,7 @@ class TestSubmission:
|
||||
self.check_normal_upload(u'Normal upload 2', GOOD_PNG)
|
||||
|
||||
def check_media(self, request, find_data, count=None):
|
||||
media = request.db.MediaEntry.find(find_data)
|
||||
media = MediaEntry.find(find_data)
|
||||
if count is not None:
|
||||
assert_equal(media.count(), count)
|
||||
if count == 0:
|
||||
@ -265,6 +267,11 @@ class TestSubmission:
|
||||
# -------------------------------------------
|
||||
self.check_false_image(u'Malicious Upload 3', EVIL_PNG)
|
||||
|
||||
def test_media_data(self):
|
||||
self.check_normal_upload(u"With GPS data", GPS_JPG)
|
||||
media = self.check_media(None, {"title": u"With GPS data"}, 1)
|
||||
assert_equal(media.media_data.gps_latitude, 59.336666666666666)
|
||||
|
||||
def test_processing(self):
|
||||
data = {'title': u'Big Blue'}
|
||||
response, request = self.do_post(data, *REQUEST_CONTEXT, do_follow=True,
|
||||
|
Loading…
x
Reference in New Issue
Block a user