This commit was just to fix a few of the errors with the merging and to
make sure that all of the previous tests work fine.
This commit is contained in:
parent
9e204e49c9
commit
2c901db023
@ -21,7 +21,7 @@ from sqlalchemy import or_
|
|||||||
|
|
||||||
from mediagoblin import mg_globals
|
from mediagoblin import mg_globals
|
||||||
from mediagoblin.tools.crypto import get_timed_signer_url
|
from mediagoblin.tools.crypto import get_timed_signer_url
|
||||||
from mediagoblin.db.models import User
|
from mediagoblin.db.models import User, Privilege
|
||||||
from mediagoblin.tools.mail import (normalize_email, send_email,
|
from mediagoblin.tools.mail import (normalize_email, send_email,
|
||||||
email_debug_message)
|
email_debug_message)
|
||||||
from mediagoblin.tools.template import render_template
|
from mediagoblin.tools.template import render_template
|
||||||
|
@ -383,79 +383,6 @@ def pw_hash_nullable(db):
|
|||||||
constraint = UniqueConstraint('username', table=user_table)
|
constraint = UniqueConstraint('username', table=user_table)
|
||||||
constraint.create()
|
constraint.create()
|
||||||
|
|
||||||
class ReportBase_v0(declarative_base()):
|
|
||||||
__tablename__ = 'core__reports'
|
|
||||||
id = Column(Integer, primary_key=True)
|
|
||||||
reporter_id = Column(Integer, ForeignKey(User.id), nullable=False)
|
|
||||||
report_content = Column(UnicodeText)
|
|
||||||
reported_user_id = Column(Integer, ForeignKey(User.id), nullable=False)
|
|
||||||
created = Column(DateTime, nullable=False, default=datetime.datetime.now)
|
|
||||||
discriminator = Column('type', Unicode(50))
|
|
||||||
__mapper_args__ = {'polymorphic_on': discriminator}
|
|
||||||
|
|
||||||
class CommentReport_v0(ReportBase_v0):
|
|
||||||
__tablename__ = 'core__reports_on_comments'
|
|
||||||
__mapper_args__ = {'polymorphic_identity': 'comment_report'}
|
|
||||||
|
|
||||||
id = Column('id',Integer, ForeignKey('core__reports.id'),
|
|
||||||
primary_key=True)
|
|
||||||
comment_id = Column(Integer, ForeignKey(MediaComment.id), nullable=False)
|
|
||||||
|
|
||||||
class MediaReport_v0(ReportBase_v0):
|
|
||||||
__tablename__ = 'core__reports_on_media'
|
|
||||||
__mapper_args__ = {'polymorphic_identity': 'media_report'}
|
|
||||||
|
|
||||||
id = Column('id',Integer, ForeignKey('core__reports.id'), primary_key=True)
|
|
||||||
media_entry_id = Column(Integer, ForeignKey(MediaEntry.id), nullable=False)
|
|
||||||
|
|
||||||
class ArchivedReport_v0(ReportBase_v0):
|
|
||||||
__tablename__ = 'core__reports_archived'
|
|
||||||
__mapper_args__ = {'polymorphic_identity': 'archived_report'}
|
|
||||||
|
|
||||||
id = Column('id',Integer, ForeignKey('core__reports.id'), primary_key=True)
|
|
||||||
media_entry_id = Column(Integer, ForeignKey(MediaEntry.id))
|
|
||||||
comment_id = Column(Integer, ForeignKey(MediaComment.id))
|
|
||||||
resolver_id = Column(Integer, ForeignKey(User.id), nullable=False)
|
|
||||||
resolved_time = Column(DateTime)
|
|
||||||
result = Column(UnicodeText)
|
|
||||||
|
|
||||||
class UserBan_v0(declarative_base()):
|
|
||||||
__tablename__ = 'core__user_bans'
|
|
||||||
user_id = Column('id',Integer, ForeignKey(User.id), nullable=False,
|
|
||||||
primary_key=True)
|
|
||||||
expiration_date = Column(DateTime)
|
|
||||||
reason = Column(UnicodeText, nullable=False)
|
|
||||||
|
|
||||||
class Privilege_v0(declarative_base()):
|
|
||||||
__tablename__ = 'core__privileges'
|
|
||||||
id = Column(Integer, nullable=False, primary_key=True, unique=True)
|
|
||||||
privilege_name = Column(Unicode, nullable=False, unique=True)
|
|
||||||
|
|
||||||
class PrivilegeUserAssociation_v0(declarative_base()):
|
|
||||||
__tablename__ = 'core__privileges_users'
|
|
||||||
group_id = Column(
|
|
||||||
'core__privilege_id',
|
|
||||||
Integer,
|
|
||||||
ForeignKey(User.id),
|
|
||||||
primary_key=True)
|
|
||||||
user_id = Column(
|
|
||||||
'core__user_id',
|
|
||||||
Integer,
|
|
||||||
ForeignKey(Privilege.id),
|
|
||||||
primary_key=True)
|
|
||||||
|
|
||||||
@RegisterMigration(14, MIGRATIONS)
|
|
||||||
def create_moderation_tables(db):
|
|
||||||
ReportBase_v0.__table__.create(db.bind)
|
|
||||||
CommentReport_v0.__table__.create(db.bind)
|
|
||||||
MediaReport_v0.__table__.create(db.bind)
|
|
||||||
ArchivedReport_v0.__table__.create(db.bind)
|
|
||||||
UserBan_v0.__table__.create(db.bind)
|
|
||||||
Privilege_v0.__table__.create(db.bind)
|
|
||||||
PrivilegeUserAssociation_v0.__table__.create(db.bind)
|
|
||||||
db.commit()
|
|
||||||
|
|
||||||
|
|
||||||
# oauth1 migrations
|
# oauth1 migrations
|
||||||
class Client_v0(declarative_base()):
|
class Client_v0(declarative_base()):
|
||||||
"""
|
"""
|
||||||
@ -533,3 +460,77 @@ def create_oauth1_tables(db):
|
|||||||
NonceTimestamp_v0.__table__.create(db.bind)
|
NonceTimestamp_v0.__table__.create(db.bind)
|
||||||
|
|
||||||
db.commit()
|
db.commit()
|
||||||
|
|
||||||
|
class ReportBase_v0(declarative_base()):
|
||||||
|
__tablename__ = 'core__reports'
|
||||||
|
id = Column(Integer, primary_key=True)
|
||||||
|
reporter_id = Column(Integer, ForeignKey(User.id), nullable=False)
|
||||||
|
report_content = Column(UnicodeText)
|
||||||
|
reported_user_id = Column(Integer, ForeignKey(User.id), nullable=False)
|
||||||
|
created = Column(DateTime, nullable=False, default=datetime.datetime.now)
|
||||||
|
discriminator = Column('type', Unicode(50))
|
||||||
|
__mapper_args__ = {'polymorphic_on': discriminator}
|
||||||
|
|
||||||
|
class CommentReport_v0(ReportBase_v0):
|
||||||
|
__tablename__ = 'core__reports_on_comments'
|
||||||
|
__mapper_args__ = {'polymorphic_identity': 'comment_report'}
|
||||||
|
|
||||||
|
id = Column('id',Integer, ForeignKey('core__reports.id'),
|
||||||
|
primary_key=True)
|
||||||
|
comment_id = Column(Integer, ForeignKey(MediaComment.id), nullable=False)
|
||||||
|
|
||||||
|
class MediaReport_v0(ReportBase_v0):
|
||||||
|
__tablename__ = 'core__reports_on_media'
|
||||||
|
__mapper_args__ = {'polymorphic_identity': 'media_report'}
|
||||||
|
|
||||||
|
id = Column('id',Integer, ForeignKey('core__reports.id'), primary_key=True)
|
||||||
|
media_entry_id = Column(Integer, ForeignKey(MediaEntry.id), nullable=False)
|
||||||
|
|
||||||
|
class ArchivedReport_v0(ReportBase_v0):
|
||||||
|
__tablename__ = 'core__reports_archived'
|
||||||
|
__mapper_args__ = {'polymorphic_identity': 'archived_report'}
|
||||||
|
|
||||||
|
id = Column('id',Integer, ForeignKey('core__reports.id'), primary_key=True)
|
||||||
|
media_entry_id = Column(Integer, ForeignKey(MediaEntry.id))
|
||||||
|
comment_id = Column(Integer, ForeignKey(MediaComment.id))
|
||||||
|
resolver_id = Column(Integer, ForeignKey(User.id), nullable=False)
|
||||||
|
resolved_time = Column(DateTime)
|
||||||
|
result = Column(UnicodeText)
|
||||||
|
|
||||||
|
class UserBan_v0(declarative_base()):
|
||||||
|
__tablename__ = 'core__user_bans'
|
||||||
|
user_id = Column('id',Integer, ForeignKey(User.id), nullable=False,
|
||||||
|
primary_key=True)
|
||||||
|
expiration_date = Column(DateTime)
|
||||||
|
reason = Column(UnicodeText, nullable=False)
|
||||||
|
|
||||||
|
class Privilege_v0(declarative_base()):
|
||||||
|
__tablename__ = 'core__privileges'
|
||||||
|
id = Column(Integer, nullable=False, primary_key=True, unique=True)
|
||||||
|
privilege_name = Column(Unicode, nullable=False, unique=True)
|
||||||
|
|
||||||
|
class PrivilegeUserAssociation_v0(declarative_base()):
|
||||||
|
__tablename__ = 'core__privileges_users'
|
||||||
|
group_id = Column(
|
||||||
|
'core__privilege_id',
|
||||||
|
Integer,
|
||||||
|
ForeignKey(User.id),
|
||||||
|
primary_key=True)
|
||||||
|
user_id = Column(
|
||||||
|
'core__user_id',
|
||||||
|
Integer,
|
||||||
|
ForeignKey(Privilege.id),
|
||||||
|
primary_key=True)
|
||||||
|
|
||||||
|
@RegisterMigration(15, MIGRATIONS)
|
||||||
|
def create_moderation_tables(db):
|
||||||
|
ReportBase_v0.__table__.create(db.bind)
|
||||||
|
CommentReport_v0.__table__.create(db.bind)
|
||||||
|
MediaReport_v0.__table__.create(db.bind)
|
||||||
|
ArchivedReport_v0.__table__.create(db.bind)
|
||||||
|
UserBan_v0.__table__.create(db.bind)
|
||||||
|
Privilege_v0.__table__.create(db.bind)
|
||||||
|
PrivilegeUserAssociation_v0.__table__.create(db.bind)
|
||||||
|
db.commit()
|
||||||
|
|
||||||
|
|
||||||
|
@ -649,6 +649,10 @@ class ProcessingNotification(Notification):
|
|||||||
'polymorphic_identity': 'processing_notification'
|
'polymorphic_identity': 'processing_notification'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
with_polymorphic(
|
||||||
|
Notification,
|
||||||
|
[ProcessingNotification, CommentNotification])
|
||||||
|
|
||||||
class ReportBase(Base):
|
class ReportBase(Base):
|
||||||
"""
|
"""
|
||||||
This is the basic report table which the other reports are based off of.
|
This is the basic report table which the other reports are based off of.
|
||||||
@ -828,16 +832,13 @@ class PrivilegeUserAssociation(Base):
|
|||||||
ForeignKey(Privilege.id),
|
ForeignKey(Privilege.id),
|
||||||
primary_key=True)
|
primary_key=True)
|
||||||
|
|
||||||
with_polymorphic(
|
|
||||||
Notification,
|
|
||||||
[ProcessingNotification, CommentNotification])
|
|
||||||
|
|
||||||
MODELS = [
|
MODELS = [
|
||||||
User, MediaEntry, Tag, MediaTag, MediaComment, Collection, CollectionItem,
|
User, MediaEntry, Tag, MediaTag, MediaComment, Collection, CollectionItem,
|
||||||
MediaFile, FileKeynames, MediaAttachmentFile, ProcessingMetaData,
|
MediaFile, FileKeynames, MediaAttachmentFile, ProcessingMetaData,
|
||||||
Notification, CommentNotification, ProcessingNotification,
|
Notification, CommentNotification, ProcessingNotification, Client,
|
||||||
CommentSubscription, ReportBase, CommentReport, MediaReport, UserBan,
|
CommentSubscription, ReportBase, CommentReport, MediaReport, UserBan,
|
||||||
Privilege, PrivilegeUserAssociation, ArchivedReport, ArchivedReport]
|
Privilege, PrivilegeUserAssociation, ArchivedReport,
|
||||||
|
RequestToken, AccessToken, NonceTimestamp]
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Foundations are the default rows that are created immediately after the tables
|
Foundations are the default rows that are created immediately after the tables
|
||||||
|
@ -342,6 +342,7 @@ def authentication_disabled_app(request):
|
|||||||
|
|
||||||
def test_authentication_disabled_app(authentication_disabled_app):
|
def test_authentication_disabled_app(authentication_disabled_app):
|
||||||
# app.auth should = false
|
# app.auth should = false
|
||||||
|
assert mg_globals
|
||||||
assert mg_globals.app.auth is False
|
assert mg_globals.app.auth is False
|
||||||
|
|
||||||
# Try to visit register page
|
# Try to visit register page
|
||||||
|
@ -27,7 +27,8 @@ class TestUserEdit(object):
|
|||||||
def setup(self):
|
def setup(self):
|
||||||
# set up new user
|
# set up new user
|
||||||
self.user_password = u'toast'
|
self.user_password = u'toast'
|
||||||
self.user = fixture_add_user(password = self.user_password)
|
self.user = fixture_add_user(password = self.user_password,
|
||||||
|
privileges=[u'active'])
|
||||||
|
|
||||||
def login(self, test_app):
|
def login(self, test_app):
|
||||||
test_app.post(
|
test_app.post(
|
||||||
@ -52,7 +53,8 @@ class TestUserEdit(object):
|
|||||||
# deleted too. Perhaps in submission test?
|
# deleted too. Perhaps in submission test?
|
||||||
|
|
||||||
#Restore user at end of test
|
#Restore user at end of test
|
||||||
self.user = fixture_add_user(password = self.user_password)
|
self.user = fixture_add_user(password = self.user_password,
|
||||||
|
privileges=[u'active'])
|
||||||
self.login(test_app)
|
self.login(test_app)
|
||||||
|
|
||||||
|
|
||||||
@ -115,7 +117,8 @@ class TestUserEdit(object):
|
|||||||
assert test_user.url == u'http://dustycloud.org/'
|
assert test_user.url == u'http://dustycloud.org/'
|
||||||
|
|
||||||
# change a different user than the logged in (should fail with 403)
|
# change a different user than the logged in (should fail with 403)
|
||||||
fixture_add_user(username=u"foo")
|
fixture_add_user(username=u"foo",
|
||||||
|
privileges=[u'active'])
|
||||||
res = test_app.post(
|
res = test_app.post(
|
||||||
'/u/foo/edit/', {
|
'/u/foo/edit/', {
|
||||||
'bio': u'I love toast!',
|
'bio': u'I love toast!',
|
||||||
|
@ -38,7 +38,7 @@ class TestNotifications:
|
|||||||
|
|
||||||
# TODO: Possibly abstract into a decorator like:
|
# TODO: Possibly abstract into a decorator like:
|
||||||
# @as_authenticated_user('chris')
|
# @as_authenticated_user('chris')
|
||||||
self.test_user = fixture_add_user()
|
self.test_user = fixture_add_user(privileges=[u'active',u'commenter'])
|
||||||
|
|
||||||
self.current_user = None
|
self.current_user = None
|
||||||
|
|
||||||
@ -75,7 +75,10 @@ class TestNotifications:
|
|||||||
|
|
||||||
'''
|
'''
|
||||||
user = fixture_add_user('otherperson', password='nosreprehto',
|
user = fixture_add_user('otherperson', password='nosreprehto',
|
||||||
wants_comment_notification=wants_email)
|
wants_comment_notification=wants_email,
|
||||||
|
privileges=[u'active',u'commenter'])
|
||||||
|
|
||||||
|
assert user.wants_comment_notification == wants_email
|
||||||
|
|
||||||
user_id = user.id
|
user_id = user.id
|
||||||
|
|
||||||
@ -124,6 +127,8 @@ otherperson@example.com\n\nSGkgb3RoZXJwZXJzb24sCmNocmlzIGNvbW1lbnRlZCBvbiB5b3VyI
|
|||||||
else:
|
else:
|
||||||
assert mail.EMAIL_TEST_MBOX_INBOX == []
|
assert mail.EMAIL_TEST_MBOX_INBOX == []
|
||||||
|
|
||||||
|
mail.EMAIL_TEST_MBOX_INBOX = []
|
||||||
|
|
||||||
# Save the ids temporarily because of DetachedInstanceError
|
# Save the ids temporarily because of DetachedInstanceError
|
||||||
notification_id = notification.id
|
notification_id = notification.id
|
||||||
comment_id = notification.subject.id
|
comment_id = notification.subject.id
|
||||||
|
@ -46,7 +46,7 @@ class TestSubmission:
|
|||||||
|
|
||||||
# TODO: Possibly abstract into a decorator like:
|
# TODO: Possibly abstract into a decorator like:
|
||||||
# @as_authenticated_user('chris')
|
# @as_authenticated_user('chris')
|
||||||
test_user = fixture_add_user()
|
test_user = fixture_add_user(privileges=[u'active',u'uploader'])
|
||||||
|
|
||||||
self.test_user = test_user
|
self.test_user = test_user
|
||||||
|
|
||||||
|
@ -133,7 +133,6 @@ def get_app(request, paste_config=None, mgoblin_config=None):
|
|||||||
mg_globals.app.meddleware.insert(0, TestingMeddleware(mg_globals.app))
|
mg_globals.app.meddleware.insert(0, TestingMeddleware(mg_globals.app))
|
||||||
|
|
||||||
app = TestApp(test_app)
|
app = TestApp(test_app)
|
||||||
|
|
||||||
return app
|
return app
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user