mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-23 15:56:45 -04:00
Merge pull request #2780 from alphagov/fix-purge-task
fix purge functional test data task
This commit is contained in:
@@ -106,7 +106,7 @@ def purge_functional_test_data(user_email_prefix):
|
|||||||
"""
|
"""
|
||||||
Remove non-seeded functional test data
|
Remove non-seeded functional test data
|
||||||
|
|
||||||
users, services, etc. Give an email prefix. Probably "notify-test-preview".
|
users, services, etc. Give an email prefix. Probably "notify-tests-preview".
|
||||||
"""
|
"""
|
||||||
users = User.query.filter(User.email_address.like("{}%".format(user_email_prefix))).all()
|
users = User.query.filter(User.email_address.like("{}%".format(user_email_prefix))).all()
|
||||||
for usr in users:
|
for usr in users:
|
||||||
|
|||||||
@@ -34,6 +34,9 @@ from app.models import (
|
|||||||
Service,
|
Service,
|
||||||
ServicePermission,
|
ServicePermission,
|
||||||
ServiceSmsSender,
|
ServiceSmsSender,
|
||||||
|
ServiceEmailReplyTo,
|
||||||
|
ServiceContactList,
|
||||||
|
ServiceLetterContact,
|
||||||
Template,
|
Template,
|
||||||
TemplateHistory,
|
TemplateHistory,
|
||||||
TemplateRedacted,
|
TemplateRedacted,
|
||||||
@@ -377,6 +380,9 @@ def delete_service_and_all_associated_db_objects(service):
|
|||||||
_delete_commit(TemplateRedacted.query.filter(TemplateRedacted.template_id.in_(subq)))
|
_delete_commit(TemplateRedacted.query.filter(TemplateRedacted.template_id.in_(subq)))
|
||||||
|
|
||||||
_delete_commit(ServiceSmsSender.query.filter_by(service=service))
|
_delete_commit(ServiceSmsSender.query.filter_by(service=service))
|
||||||
|
_delete_commit(ServiceEmailReplyTo.query.filter_by(service=service))
|
||||||
|
_delete_commit(ServiceLetterContact.query.filter_by(service=service))
|
||||||
|
_delete_commit(ServiceContactList.query.filter_by(service=service))
|
||||||
_delete_commit(InvitedUser.query.filter_by(service=service))
|
_delete_commit(InvitedUser.query.filter_by(service=service))
|
||||||
_delete_commit(Permission.query.filter_by(service=service))
|
_delete_commit(Permission.query.filter_by(service=service))
|
||||||
_delete_commit(NotificationHistory.query.filter_by(service=service))
|
_delete_commit(NotificationHistory.query.filter_by(service=service))
|
||||||
@@ -393,12 +399,14 @@ def delete_service_and_all_associated_db_objects(service):
|
|||||||
list(map(db.session.delete, verify_codes))
|
list(map(db.session.delete, verify_codes))
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
users = [x for x in service.users]
|
users = [x for x in service.users]
|
||||||
map(service.users.remove, users)
|
for user in users:
|
||||||
[service.users.remove(x) for x in users]
|
user.organisations = []
|
||||||
|
service.users.remove(user)
|
||||||
_delete_commit(Service.get_history_model().query.filter_by(id=service.id))
|
_delete_commit(Service.get_history_model().query.filter_by(id=service.id))
|
||||||
db.session.delete(service)
|
db.session.delete(service)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
list(map(db.session.delete, users))
|
for user in users:
|
||||||
|
db.session.delete(user)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -663,13 +663,15 @@ def test_create_service_and_history_is_transactional(notify_db_session):
|
|||||||
|
|
||||||
def test_delete_service_and_associated_objects(notify_db_session):
|
def test_delete_service_and_associated_objects(notify_db_session):
|
||||||
user = create_user()
|
user = create_user()
|
||||||
service = create_service(user=user, service_permissions=None)
|
organisation = create_organisation()
|
||||||
|
service = create_service(user=user, service_permissions=None, organisation=organisation)
|
||||||
create_user_code(user=user, code='somecode', code_type='email')
|
create_user_code(user=user, code='somecode', code_type='email')
|
||||||
create_user_code(user=user, code='somecode', code_type='sms')
|
create_user_code(user=user, code='somecode', code_type='sms')
|
||||||
template = create_template(service=service)
|
template = create_template(service=service)
|
||||||
api_key = create_api_key(service=service)
|
api_key = create_api_key(service=service)
|
||||||
create_notification(template=template, api_key=api_key)
|
create_notification(template=template, api_key=api_key)
|
||||||
create_invited_user(service=service)
|
create_invited_user(service=service)
|
||||||
|
user.organisations = [organisation]
|
||||||
|
|
||||||
assert ServicePermission.query.count() == len((
|
assert ServicePermission.query.count() == len((
|
||||||
SMS_TYPE, EMAIL_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, UPLOAD_LETTERS,
|
SMS_TYPE, EMAIL_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, UPLOAD_LETTERS,
|
||||||
@@ -689,6 +691,8 @@ def test_delete_service_and_associated_objects(notify_db_session):
|
|||||||
assert Service.query.count() == 0
|
assert Service.query.count() == 0
|
||||||
assert Service.get_history_model().query.count() == 0
|
assert Service.get_history_model().query.count() == 0
|
||||||
assert ServicePermission.query.count() == 0
|
assert ServicePermission.query.count() == 0
|
||||||
|
# the organisation hasn't been deleted
|
||||||
|
assert Organisation.query.count() == 1
|
||||||
|
|
||||||
|
|
||||||
def test_add_existing_user_to_another_service_doesnot_change_old_permissions(notify_db_session):
|
def test_add_existing_user_to_another_service_doesnot_change_old_permissions(notify_db_session):
|
||||||
|
|||||||
Reference in New Issue
Block a user