Change codebase to query or create correct User model
The code base had many references to User.username and other specific to LocalUser attributes as that was the way it use to exist. This updates those to query on the generic User model but filtering by attributes on the LocalUser.
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
|
||||
import pytest
|
||||
|
||||
from mediagoblin.db.models import User
|
||||
from mediagoblin.db.models import User, LocalUser
|
||||
from mediagoblin.tests.tools import fixture_add_user
|
||||
from mediagoblin.tools import template
|
||||
|
||||
@@ -44,7 +44,7 @@ class MGClientTestCase:
|
||||
fixture_add_user(username, **options)
|
||||
|
||||
def user(self, username):
|
||||
return User.query.filter(User.username == username).first()
|
||||
return User.query.filter(LocalUser.username==username).first()
|
||||
|
||||
def _do_request(self, url, *context_keys, **kwargs):
|
||||
template.clear_test_template_context()
|
||||
|
||||
@@ -23,7 +23,7 @@ import six
|
||||
import six.moves.urllib.parse as urlparse
|
||||
|
||||
from mediagoblin import mg_globals
|
||||
from mediagoblin.db.models import User
|
||||
from mediagoblin.db.models import User, LocalUser
|
||||
from mediagoblin.tests.tools import get_app, fixture_add_user
|
||||
from mediagoblin.tools import template, mail
|
||||
from mediagoblin.auth import tools as auth_tools
|
||||
@@ -98,8 +98,9 @@ def test_register_views(test_app):
|
||||
assert 'mediagoblin/user_pages/user_nonactive.html' in template.TEMPLATE_TEST_CONTEXT
|
||||
|
||||
## Make sure user is in place
|
||||
new_user = mg_globals.database.User.query.filter_by(
|
||||
username=u'angrygirl').first()
|
||||
new_user = mg_globals.database.User.query.filter(
|
||||
LocalUser.usrname==u'angrygirl'
|
||||
).first()
|
||||
assert new_user
|
||||
|
||||
## Make sure that the proper privileges are granted on registration
|
||||
@@ -137,8 +138,9 @@ def test_register_views(test_app):
|
||||
|
||||
# assert context['verification_successful'] == True
|
||||
# TODO: Would be good to test messages here when we can do so...
|
||||
new_user = mg_globals.database.User.query.filter_by(
|
||||
username=u'angrygirl').first()
|
||||
new_user = mg_globals.database.User.query.filter(
|
||||
LocalUser.username==u'angrygirl'
|
||||
).first()
|
||||
assert new_user
|
||||
|
||||
## Verify the email activation works
|
||||
@@ -149,8 +151,9 @@ def test_register_views(test_app):
|
||||
'mediagoblin/user_pages/user.html']
|
||||
# assert context['verification_successful'] == True
|
||||
# TODO: Would be good to test messages here when we can do so...
|
||||
new_user = mg_globals.database.User.query.filter_by(
|
||||
username=u'angrygirl').first()
|
||||
new_user = mg_globals.database.User.query.filter(
|
||||
LocalUser.username==u'angrygirl'
|
||||
).first()
|
||||
assert new_user
|
||||
|
||||
# Uniqueness checks
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
import six.moves.urllib.parse as urlparse
|
||||
|
||||
from mediagoblin.db.models import User
|
||||
from mediagoblin.db.models import User, LocalUser
|
||||
from mediagoblin.plugins.basic_auth import tools as auth_tools
|
||||
from mediagoblin.tests.tools import fixture_add_user
|
||||
from mediagoblin.tools import template
|
||||
@@ -88,7 +88,7 @@ def test_change_password(test_app):
|
||||
assert urlparse.urlsplit(res.location)[2] == '/edit/account/'
|
||||
|
||||
# test_user has to be fetched again in order to have the current values
|
||||
test_user = User.query.filter_by(username=u'chris').first()
|
||||
test_user = User.query.filter(LocalUser.username==u'chris').first()
|
||||
assert auth_tools.bcrypt_check_password('123456', test_user.pw_hash)
|
||||
|
||||
# test that the password cannot be changed if the given
|
||||
@@ -100,5 +100,5 @@ def test_change_password(test_app):
|
||||
'new_password': '098765',
|
||||
})
|
||||
|
||||
test_user = User.query.filter_by(username=u'chris').first()
|
||||
test_user = User.query.filter(LocalUser.username==u'chris').first()
|
||||
assert not auth_tools.bcrypt_check_password('098765', test_user.pw_hash)
|
||||
|
||||
@@ -19,7 +19,7 @@ import six.moves.urllib.parse as urlparse
|
||||
import pytest
|
||||
|
||||
from mediagoblin import mg_globals
|
||||
from mediagoblin.db.models import User, MediaEntry
|
||||
from mediagoblin.db.models import User, LocalUser, MediaEntry
|
||||
from mediagoblin.tests.tools import fixture_add_user, fixture_media_entry
|
||||
from mediagoblin import auth
|
||||
from mediagoblin.tools import template, mail
|
||||
@@ -44,12 +44,12 @@ class TestUserEdit(object):
|
||||
self.login(test_app)
|
||||
|
||||
# Make sure user exists
|
||||
assert User.query.filter_by(username=u'chris').first()
|
||||
assert User.query.filter(LocalUser.username=u'chris').first()
|
||||
|
||||
res = test_app.post('/edit/account/delete/', {'confirmed': 'y'})
|
||||
|
||||
# Make sure user has been deleted
|
||||
assert User.query.filter_by(username=u'chris').first() == None
|
||||
assert User.query.filter(LocalUser.username==u'chris').first() == None
|
||||
|
||||
#TODO: make sure all corresponding items comments etc have been
|
||||
# deleted too. Perhaps in submission test?
|
||||
@@ -79,7 +79,7 @@ class TestUserEdit(object):
|
||||
'bio': u'I love toast!',
|
||||
'url': u'http://dustycloud.org/'})
|
||||
|
||||
test_user = User.query.filter_by(username=u'chris').first()
|
||||
test_user = User.query.filter(LocalUser.username==u'chris').first()
|
||||
assert test_user.bio == u'I love toast!'
|
||||
assert test_user.url == u'http://dustycloud.org/'
|
||||
|
||||
@@ -159,9 +159,10 @@ class TestUserEdit(object):
|
||||
assert urlparse.urlsplit(res.location)[2] == '/'
|
||||
|
||||
# Email shouldn't be saved
|
||||
email_in_db = mg_globals.database.User.query.filter_by(
|
||||
email='new@example.com').first()
|
||||
email = User.query.filter_by(username='chris').first().email
|
||||
email_in_db = mg_globals.database.User.query.filter(
|
||||
LocalUser.email=='new@example.com'
|
||||
).first()
|
||||
email = User.query.filter(LocalUser.username=='chris').first().email
|
||||
assert email_in_db is None
|
||||
assert email == 'chris@example.com'
|
||||
|
||||
@@ -172,7 +173,7 @@ class TestUserEdit(object):
|
||||
res.follow()
|
||||
|
||||
# New email saved?
|
||||
email = User.query.filter_by(username='chris').first().email
|
||||
email = User.query.filter(LocalUser.username=='chris').first().email
|
||||
assert email == 'new@example.com'
|
||||
# test changing the url inproperly
|
||||
|
||||
@@ -181,8 +182,10 @@ class TestMetaDataEdit:
|
||||
def setup(self, test_app):
|
||||
# set up new user
|
||||
self.user_password = u'toast'
|
||||
self.user = fixture_add_user(password = self.user_password,
|
||||
privileges=[u'active',u'admin'])
|
||||
self.user = fixture_add_user(
|
||||
password = self.user_password,
|
||||
privileges=[u'active',u'admin']
|
||||
)
|
||||
self.test_app = test_app
|
||||
|
||||
def login(self, test_app):
|
||||
|
||||
@@ -26,6 +26,7 @@ import six.moves.urllib.parse as urlparse
|
||||
|
||||
from mediagoblin import mg_globals
|
||||
from mediagoblin.db.base import Session
|
||||
from mediagoblin.db.models import LocalUser
|
||||
from mediagoblin.tests.tools import get_app
|
||||
from mediagoblin.tools import template
|
||||
|
||||
@@ -114,8 +115,9 @@ def test_ldap_plugin(ldap_plugin_app):
|
||||
ldap_plugin_app.get('/auth/logout/')
|
||||
|
||||
# Get user and detach from session
|
||||
test_user = mg_globals.database.User.query.filter_by(
|
||||
username=u'chris').first()
|
||||
test_user = mg_globals.database.User.query.filter(
|
||||
LocalUser.username==u'chris'
|
||||
).first()
|
||||
Session.expunge(test_user)
|
||||
|
||||
# Log back in
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
from __future__ import print_function
|
||||
|
||||
from mediagoblin.db.base import Session
|
||||
from mediagoblin.db.models import MediaEntry, User, Privilege, Activity, \
|
||||
Generator
|
||||
from mediagoblin.db.models import MediaEntry, User, LocalUser, Privilege, \
|
||||
Activity, Generator
|
||||
|
||||
from mediagoblin.tests import MGClientTestCase
|
||||
from mediagoblin.tests.tools import fixture_add_user, fixture_media_entry, \
|
||||
@@ -169,9 +169,9 @@ class TestUserHasPrivilege:
|
||||
fixture_add_user(u'aeva',
|
||||
privileges=[u'moderator',u'active'])
|
||||
self.natalie_user = User.query.filter(
|
||||
User.username==u'natalie').first()
|
||||
LocalUser.username==u'natalie').first()
|
||||
self.aeva_user = User.query.filter(
|
||||
User.username==u'aeva').first()
|
||||
LocalUser.username==u'aeva').first()
|
||||
|
||||
def test_privilege_added_correctly(self, test_app):
|
||||
self._setup()
|
||||
|
||||
@@ -18,7 +18,7 @@ import pytest
|
||||
|
||||
from mediagoblin.tests.tools import (fixture_add_user,
|
||||
fixture_add_comment_report, fixture_add_comment)
|
||||
from mediagoblin.db.models import User, CommentReport, MediaComment, UserBan
|
||||
from mediagoblin.db.models import User, LocalUser, CommentReport, MediaComment, UserBan
|
||||
from mediagoblin.tools import template, mail
|
||||
from webtest import AppError
|
||||
|
||||
@@ -47,9 +47,9 @@ class TestModerationViews:
|
||||
self.query_for_users()
|
||||
|
||||
def query_for_users(self):
|
||||
self.admin_user = User.query.filter(User.username==u'admin').first()
|
||||
self.mod_user = User.query.filter(User.username==u'moderator').first()
|
||||
self.user = User.query.filter(User.username==u'regular').first()
|
||||
self.admin_user = User.query.filter(LocalUser.username==u'admin').first()
|
||||
self.mod_user = User.query.filter(LocalUser.username==u'moderator').first()
|
||||
self.user = User.query.filter(LocalUser.username==u'regular').first()
|
||||
|
||||
def do_post(self, data, *context_keys, **kwargs):
|
||||
url = kwargs.pop('url', '/submit/')
|
||||
|
||||
@@ -28,7 +28,7 @@ openid_consumer = pytest.importorskip(
|
||||
|
||||
from mediagoblin import mg_globals
|
||||
from mediagoblin.db.base import Session
|
||||
from mediagoblin.db.models import User
|
||||
from mediagoblin.db.models import User, LocalUser
|
||||
from mediagoblin.plugins.openid.models import OpenIDUserURL
|
||||
from mediagoblin.tests.tools import get_app, fixture_add_user
|
||||
from mediagoblin.tools import template
|
||||
@@ -192,8 +192,9 @@ class TestOpenIDPlugin(object):
|
||||
openid_plugin_app.get('/auth/logout')
|
||||
|
||||
# Get user and detach from session
|
||||
test_user = mg_globals.database.User.query.filter_by(
|
||||
username=u'chris').first()
|
||||
test_user = mg_globals.database.User.query.filter(
|
||||
LocalUser.username==u'chris'
|
||||
).first()
|
||||
Session.expunge(test_user)
|
||||
|
||||
# Log back in
|
||||
|
||||
@@ -27,7 +27,7 @@ import six.moves.urllib.parse as urlparse
|
||||
pytest.importorskip("requests")
|
||||
|
||||
from mediagoblin import mg_globals
|
||||
from mediagoblin.db.base import Session
|
||||
from mediagoblin.db.base import Session, LocalUser
|
||||
from mediagoblin.db.models import Privilege
|
||||
from mediagoblin.tests.tools import get_app
|
||||
from mediagoblin.tools import template
|
||||
@@ -117,14 +117,16 @@ class TestPersonaPlugin(object):
|
||||
persona_plugin_app.get('/auth/logout/')
|
||||
|
||||
# Get user and detach from session
|
||||
test_user = mg_globals.database.User.query.filter_by(
|
||||
username=u'chris').first()
|
||||
test_user = mg_globals.database.User.query.filter(
|
||||
LocalUser.username==u'chris'
|
||||
).first()
|
||||
active_privilege = Privilege.query.filter(
|
||||
Privilege.privilege_name==u'active').first()
|
||||
test_user.all_privileges.append(active_privilege)
|
||||
test_user.save()
|
||||
test_user = mg_globals.database.User.query.filter_by(
|
||||
username=u'chris').first()
|
||||
test_user = mg_globals.database.User.query.filter(
|
||||
LocalUser.username==u'chris'
|
||||
).first()
|
||||
Session.expunge(test_user)
|
||||
|
||||
# Add another user for _test_edit_persona
|
||||
|
||||
@@ -21,7 +21,7 @@ from webtest import AppError
|
||||
|
||||
from mediagoblin.tests.tools import fixture_add_user, fixture_media_entry
|
||||
|
||||
from mediagoblin.db.models import User, UserBan
|
||||
from mediagoblin.db.models import User, LocalUser, UserBan
|
||||
from mediagoblin.tools import template
|
||||
|
||||
from .resources import GOOD_JPG
|
||||
@@ -64,9 +64,9 @@ class TestPrivilegeFunctionality:
|
||||
return response, context_data
|
||||
|
||||
def query_for_users(self):
|
||||
self.admin_user = User.query.filter(User.username==u'alex').first()
|
||||
self.mod_user = User.query.filter(User.username==u'meow').first()
|
||||
self.user = User.query.filter(User.username==u'natalie').first()
|
||||
self.admin_user = User.query.filter(LocalUser.username==u'alex').first()
|
||||
self.mod_user = User.query.filter(LocalUser.username==u'meow').first()
|
||||
self.user = User.query.filter(LocalUser.username==u'natalie').first()
|
||||
|
||||
def testUserBanned(self):
|
||||
self.login(u'natalie')
|
||||
|
||||
@@ -20,7 +20,7 @@ import six
|
||||
from mediagoblin.tools import template
|
||||
from mediagoblin.tests.tools import (fixture_add_user, fixture_media_entry,
|
||||
fixture_add_comment, fixture_add_comment_report)
|
||||
from mediagoblin.db.models import (MediaReport, CommentReport, User,
|
||||
from mediagoblin.db.models import (MediaReport, CommentReport, User, LocalUser
|
||||
MediaComment)
|
||||
|
||||
|
||||
@@ -56,8 +56,8 @@ class TestReportFiling:
|
||||
return response, context_data
|
||||
|
||||
def query_for_users(self):
|
||||
return (User.query.filter(User.username==u'allie').first(),
|
||||
User.query.filter(User.username==u'natalie').first())
|
||||
return (User.query.filter(LocalUser.username==u'allie').first(),
|
||||
User.query.filter(LocalUser.username==u'natalie').first())
|
||||
|
||||
def testMediaReports(self):
|
||||
self.login(u'allie')
|
||||
|
||||
@@ -35,7 +35,7 @@ Gst.init(None)
|
||||
from mediagoblin.tests.tools import fixture_add_user
|
||||
from .media_tools import create_av
|
||||
from mediagoblin import mg_globals
|
||||
from mediagoblin.db.models import MediaEntry, User
|
||||
from mediagoblin.db.models import MediaEntry, User, LocalUser
|
||||
from mediagoblin.db.base import Session
|
||||
from mediagoblin.tools import template
|
||||
from mediagoblin.media_types.image import ImageMediaManager
|
||||
@@ -72,7 +72,7 @@ class TestSubmission:
|
||||
#### totally stupid.
|
||||
#### Also if we found a way to make this run it should be a
|
||||
#### property.
|
||||
return User.query.filter(User.username==u'chris').first()
|
||||
return User.query.filter(LocalUser.username==u'chris').first()
|
||||
|
||||
def login(self):
|
||||
self.test_app.post(
|
||||
|
||||
@@ -25,7 +25,7 @@ from paste.deploy import loadapp
|
||||
from webtest import TestApp
|
||||
|
||||
from mediagoblin import mg_globals
|
||||
from mediagoblin.db.models import User, MediaEntry, Collection, MediaComment, \
|
||||
from mediagoblin.db.models import User, LocalUser, MediaEntry, Collection, MediaComment, \
|
||||
CommentSubscription, CommentNotification, Privilege, CommentReport, Client, \
|
||||
RequestToken, AccessToken, Activity, Generator
|
||||
from mediagoblin.tools import testing
|
||||
@@ -176,9 +176,9 @@ def assert_db_meets_expected(db, expected):
|
||||
def fixture_add_user(username=u'chris', password=u'toast',
|
||||
privileges=[], wants_comment_notification=True):
|
||||
# Reuse existing user or create a new one
|
||||
test_user = User.query.filter_by(username=username).first()
|
||||
test_user = User.query.filter(LocalUser.username==username).first()
|
||||
if test_user is None:
|
||||
test_user = User()
|
||||
test_user = LocalUser()
|
||||
test_user.username = username
|
||||
test_user.email = username + u'@example.com'
|
||||
if password is not None:
|
||||
@@ -191,7 +191,7 @@ def fixture_add_user(username=u'chris', password=u'toast',
|
||||
|
||||
test_user.save()
|
||||
# Reload
|
||||
test_user = User.query.filter_by(username=username).first()
|
||||
test_user = User.query.filter(LocalUser.username==username).first()
|
||||
|
||||
# ... and detach from session:
|
||||
Session.expunge(test_user)
|
||||
|
||||
Reference in New Issue
Block a user