diff options
Diffstat (limited to 'mediagoblin/tests/test_modelmethods.py')
-rw-r--r-- | mediagoblin/tests/test_modelmethods.py | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/mediagoblin/tests/test_modelmethods.py b/mediagoblin/tests/test_modelmethods.py index ca436c76..4c66e27b 100644 --- a/mediagoblin/tests/test_modelmethods.py +++ b/mediagoblin/tests/test_modelmethods.py @@ -17,13 +17,20 @@ # Maybe not every model needs a test, but some models have special # methods, and so it makes sense to test them here. +from __future__ import print_function + from mediagoblin.db.base import Session -from mediagoblin.db.models import MediaEntry, User, Privilege +from mediagoblin.db.models import MediaEntry, User, LocalUser, Privilege, \ + Activity, Generator from mediagoblin.tests import MGClientTestCase -from mediagoblin.tests.tools import fixture_add_user +from mediagoblin.tests.tools import fixture_add_user, fixture_media_entry, \ + fixture_add_activity -import mock +try: + import mock +except ImportError: + import unittest.mock as mock import pytest @@ -49,7 +56,7 @@ class TestMediaEntrySlugs(object): entry.title = title or u"Some title" entry.slug = slug entry.id = this_id - entry.uploader = uploader or self.chris_user.id + entry.actor = uploader or self.chris_user.id entry.media_type = u'image' if save: @@ -161,10 +168,10 @@ class TestUserHasPrivilege: privileges=[u'admin',u'moderator',u'active']) fixture_add_user(u'aeva', privileges=[u'moderator',u'active']) - self.natalie_user = User.query.filter( - User.username==u'natalie').first() - self.aeva_user = User.query.filter( - User.username==u'aeva').first() + self.natalie_user = LocalUser.query.filter( + LocalUser.username==u'natalie').first() + self.aeva_user = LocalUser.query.filter( + LocalUser.username==u'aeva').first() def test_privilege_added_correctly(self, test_app): self._setup() @@ -179,20 +186,17 @@ class TestUserHasPrivilege: self._setup() # then test out the user.has_privilege method for one privilege - assert not self.natalie_user.has_privilege(u'commenter') - assert self.aeva_user.has_privilege(u'active') - + assert not self.aeva_user.has_privilege(u'admin') + assert self.natalie_user.has_privilege(u'active') - def test_user_has_privileges_multiple(self, test_app): + def test_allow_admin(self, test_app): self._setup() - # when multiple args are passed to has_privilege, the method returns - # True if the user has ANY of the privileges - assert self.natalie_user.has_privilege(u'admin',u'commenter') - assert self.aeva_user.has_privilege(u'moderator',u'active') - assert not self.natalie_user.has_privilege(u'commenter',u'uploader') - + # This should work because she is an admin. + assert self.natalie_user.has_privilege(u'commenter') + # Test that we can look this out ignoring that she's an admin + assert not self.natalie_user.has_privilege(u'commenter', allow_admin=False) def test_media_data_init(test_app): Session.rollback() @@ -205,7 +209,7 @@ def test_media_data_init(test_app): obj_in_session = 0 for obj in Session(): obj_in_session += 1 - print repr(obj) + print(repr(obj)) assert obj_in_session == 0 |